How can programmers grow faster?

How Can Programmer Grow Faster?

Communicate effectively!

Daniel Manasov at the last meetup for frontend developers told how to become recognizable. His speech contained several points:

  1. Work hard;
  2. Help and Teach (speak at meetups, run streams at twitch/live-coding while you code, shoot videos for youtube channel);
  3. Write books and contribute to the open source.

I think that the whole speech is simply the guide for proper communication. Programming includes a lot of things that are not related to the code at all. Surprisingly, the developer writes a code only for 3–4 hours per day. The rest of time goes for discussion of the tasks, planning, search for the solution, thinking, smoking, etc.

That’s why I have decided to write an article that will help young programmers to grow professionally faster.

Ask questions

Everyone is afraid of asking questions. Everyone is afraid of seeming stupid. “Oh, what may he think of me? What if he will tell that my questions are so obvious that everyone knows it?” — all juniors and not only juniors ask these questions when they want to turn to the professional. You may not believe me, all experienced people usually like to help newcomers. Here are the two reasons for this:

  1. Nostalgia — professionals remember their own mistakes and the ways how they were corrected. In this case, people like to help since they understand what value they bring to society.
  2. Explanation gives the better understanding. Professional understands the subject deeply only when he explains it to someone else. It is even better when he has to explain it several times and using different ways. Eventually, you make him better through asking questions.

The process of asking questions may be quite complicated, but on the web, there are lots of information how to ask questions in such a way to be answered. For example, Stack Overflow has their own guide.

If you are still afraid of asking questions try to set up a schedule of your meetings. This will remove the borders and will make the process of asking questions more positive and predictable. My practice with interns showed the effectiveness of such approach. People stop being afraid of asking questions and professionals are less nervous if the question was asked at a wrong time.

Image.

Share your experience

Knowledge is to be shared. At least due to the reasons mentioned above. Besides, everyone is interested in your experience, your real story.

Why do you think people attend conferences if everything has been already written everywhere? There are two reasons for this: the first one is to listen to the stories and to meet new interesting people.

Conversations and discussions at meetups are often more useful than the speeches themselves since one by one people may tell you more.

In conclusion, your experience is important for others too due to the same reasons: nostalgia and better understanding. It also may be a warning about the possible future mistakes as a bonus.

For example, here is my experience in the fight against Google analytics.

Write code

Write as much code as you can. Write code everywhere and always. Start solving tasks at hakerrank or join to any open source project. The only aim is to write code. Click here to learn about the open source geocoder

Do not read books

Reading for young people may be useless or even harmful. You should not read books if you have not tried anything in practice yet. Write code, and books are necessary only to check knowledge you gained during the work and communication. Books are useful for good junior developers. At the early stages, it is better to make as many mistakes as possible.

Type faster!

I think this point is obvious. The faster you type the text, the fewer brain resources are used. If you can type very fast, the stream of thoughts is not interrupted by the keyboard. It is not necessary to look at the keyboard trying to find the desired key. Thus, a blind seal is a must have for every programmer. Even better if you know how to use ten-finger method of typing.

Check your compatibility with the reality

You have to always check your compatibility with the reality. There are two mental distortions that may slow down your development. For example, interns often think they are cool and experienced enough to be hired as a junior developer and to work on the real project. Yet, in fact, it is not true.

This situation is clearly described by David Dunning and Justin Krueger. You can read about this in details here. I often explain the effect in the following way: a person has to evolve before he understands his stupidity. At this stage, he faces the lack of experience necessary to understand the boundaries of ignorance. While learning, a person understands more and more how much he does not know yet. The reverse distortion is Impostor Syndrome. Daniel Vartanov, Oleg Puzanov, and Mikhail Ivaschenko discussed the issue in details in their video. You may also read about this on the wiki.

To balance the distortions it is necessary to communicate a lot: attend meetups and conferences, communicate more with people out of the country. The more you communicate, the more feedback from reality you get.

Image.

Conclusion

There is no frightening in communication. Usually experienced people are friendly and easy-going. It means that if the person is close and do not like questions, the most probably, he is not a professional and there is nothing to learn from them.

Write code, ask questions, share your knowledge and you will grow professionally faster. Remember, this article gives you just the main points, but not the full list of the ways to learn.

In this article, Dmitrii Kononenko explains how to memorize information better while learning.

Custom Software and Mobile App Development.
SD Pipeline

Optimization of software delivery pipeline

Optimization of software delivery...

Optimization of software delivery pipeline

The development process can be compared with a construction site. While a lot of work is needed to develop databases, applications, etc., a...

No-Code and Low-Code Development.

No-code and low-code development

No-code and low-code development

No-code and low-code development

The no-code and low-code development market is booming. Some people, including specialists, believe that no-code and low-code are the future of the...

Technical Debt Managment

Technical debt management

Technical debt management

Technical debt management

Software development is a very dynamic industry. New features, functionalities shall be deployed fast. While the resources are often limited. Writing...