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.

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.

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.
Unicorn Companies' Tech Stacks.

Tech stack of prominent companies: What are industry...

Tech stack of prominent companies:...

Tech stack of prominent companies: What are industry giants using to power their applications?

Uber vs. Lyft, Vrbo vs. Airbnb, Netflix vs. Hulu, Hubspot vs. Salesforce, or Spotify vs. Pandora—these are the rivalries that interest most...

Mar 31, 2021
Mad Devs Time Tracking with Jira Software.

How to automate tasks estimation in JIRA

How to automate tasks estimation in...

How to automate tasks estimation in JIRA

IT project management is hard to imagine without planning. Planning orchestrates the work of different project departments (software development,...

Jul 28, 2020
Key Benefits of Working in Commercial Development.

Key benefits of working in commercial development

Key benefits of working in commercial...

Key benefits of working in commercial development

Are you looking for job opportunities in the IT field? Have you already decided what company type you would like to work for: a product-based or a...

Jun 02, 2021