A few months ago, I spent a week on a collective twitter account on mobile development, and the topic of one of the days was professional growth. Since the topic aroused interest and response from the audience, I decided to collect information in a more detailed material.
In this article, I will not persuade programmers to grow professionally, but I will share my opinion on this subject, as well as provide a list of areas for growth that I consider relevant.
Even if you have already found a growth path for yourself, this material will be useful for you for three reasons: firstly, you can discover something new for yourself, add diversity, and secondly, you can recommend a direction for your colleagues (send them link), thirdly, you can share your experience or add something in the comments.
To begin with, I consider professional growth to be an important part of a specialist’s life, that is, this is not a one-time story, but an ongoing process. Our area of knowledge is too fast changing, it will not work here once to try to enter the “professional” orbit for many years and remain in it without any effort. Be prepared that you need to do something all the time to keep fit, not just in the short run.
There is no growth in the comfort zone and no comfort in the growth zone.
By the way, do not forget this phrase: there is no growth in the comfort zone and there is no comfort in the growth zone.
What for?
This is how I answer the question:
why is growth needed?- the ability to solve more interesting and / or complex tasks
- the ability to solve problems, spending less resources (time, money)
- the opportunity to try something new
- the opportunity to get more money for your work
- the opportunity to change the standard of living of yourself and your loved ones
- the opportunity to work in a more professional team
NB Even if your employer does not approve of any combination, most of the tips below will not cause you any problems.
1. Work on different tasks
It seems that it is so comfortable to solve the same type of problem, think and seek new solutions will have to be much less common. Be prepared that it will be difficult to grow up in such a situation.
Everything is very individual and depends on your work area, your interests. For some tasks, it takes several months to find the bottom, and somewhere it will take years.
Just check yourself periodically - am I not doing the same tasks for a year in a row? Your own assessment is not at all objective - talk about it with a couple of people whom you greatly respect in your profession.
2. Open Source
There are many interesting open source projects around. Maybe you want to contribute to the project code that thousands or millions use? You can start with the libraries that you use - look at what issues are open on github or ask the main contributors what tasks they need help with.
Experience in an international team, networking, respect from the community and an excellent line in the resume is super.
There is a more thorny and often more honorable way - to have your own Open Source library. Yes, in this case, you may need much more effort, and you also need to understand that the task of creating a high-quality solution will not be the only one to be solved. Be prepared for the fact that first you have to "persuade" others to use your solution, and if there are any, then you will need to answer questions, requests and wishes for the development of functionality.
By the way, one of the questions at the interview at Google and other large IT companies concerns participation in Open Source.
3. Stack Overflow
The popular Stack Overflow Q & A portal (like other Stack Exchange group sites) is a great place to upgrade your knowledge and competencies. In my opinion, answering questions about algorithms, languages, frameworks, and methods for solving specific problems is very useful. There are many pluses:
- the opportunity to practice English again
- get a good bonus in the resume - the whole history of your answers in the professional field
- stretch the brain over new tasks for yourself
- help someone with good advice can be very nice
- there is a good section with international vacancies, and if you have a good profile, it will be easier to apply
4. Pet projects
I am a big fan of creating pet projects, talked about it at meetings and conferences. I believe that a creative person cannot create something only for money and during working hours, and in my eyes a good software engineer is still a creative person.
Personally, this way of development seems to me most interesting - here you study technology on an interesting task for you, but at the same time you can not only increase your skills, but also make money. I won’t dwell on the topic here, who is interested in this way - watch the video
5. Prepare and conduct a training course
You can do the course on YouTube or on some online learning platform. The course can be in Russian or you can practice in a foreign language, the course can be free or paid and, possibly, will bring additional income, the course can be highly specialized for people with experience or an introductory one for beginners. Choose what interests you. By the way, I noticed that several authors of good technical courses were called by the same Google engineers.
And yet, for example, you can prepare a course or elective for some educational institution. It can be a school, university, vocational school, etc. This path will be interesting to those who feel a craving for teaching and lively communication with people.
6. Presentation at conferences and / or meetings
Here it’s pretty simple - to make a good report, you need to understand the topic well, get the expertise. The advantages of this path are also obvious - networking, respect from colleagues, experience in public speaking, perhaps even bonuses from the employer (many companies reward employees for speaking). It’s also very nice to step over your fear of performing from the stage.
If you are unhappy with the level of reports at conferences - excellent, prepare a report and set a new standard.
And by the way, pay attention - it is here about the performance, and not about participating as a listener / viewer. You must admit that the challenge of speaking to an audience of 100 programmers is much more serious than being one of the hundreds of listeners in the audience.
7. Competitions
Does anyone need to explain that the programmer who won a prize in a competition is cool and in demand? For example, Telegram periodically
holds contests in which not only interesting tasks, but also the opportunity to win several thousand $. In any case, get experience, and possibly new acquaintances. For example, I went to the
VK Cup , see what comes of it)
8. Hackathons
Drive, the spirit of competition, new acquaintances and team play. You can participate in a team of friends, or you can try to find a team for a specific hackathon - this is a much bigger challenge to yourself. The output, again, is networking, the growth of skills and self-confidence.
9. Articles
Writing a good article is not easy, as in the case of speeches at meetings and conferences, it will require you to seriously understand the topic. If you still decide to write in English, then there is a chance to pump technical English. Respect, a line in the resume and no personal communication with people) By the way, writing articles (for example, in a corporate blog) can be financially encouraged by the company.
10. Part time
Caution! This option can be extremely risky for many for a number of reasons. Not only because the employer may be openly opposed to part-time jobs, and you may not have enough time to rest and recover, and you will begin to get very tired and cope worse with your tasks. It's just that this path has an important difference from the previous ones - here you can thoroughly screw up and let other people down.
Yes, you can earn extra money, get new interesting experience, try some other technologies, but it’s worth undertaking it only being 200% confident in your abilities and with large reserves on time.
11. Questions for connoisseurs
There are people at your work and in your profession whose opinions and whose achievements you respect? Then consult periodically with them. At the same time, even if there are no suitable people around you, do not be afraid to write such questions to famous specialists in your area. The worst thing that happens is they will not answer you.
note
New Year holidays - the right moment
The article was published a couple of weeks before the New Year holidays, the moment is excellent - you can plan what and how you want to develop both during the holidays and for the whole next year.
Keep your finger on the pulse
Your technical outlook cannot be within the scope of everyday tasks at work. Books, articles, subscribing to specialized email newsletters, podcasts are necessary components of your professional “diet”. Being in the professional information field in itself will most likely not increase your technical skills, but it will create favorable soil.
Do interviews help grow?
On the one hand, going to interviews can help to increase self-confidence or identify weaknesses - this is a positive effect. On the other hand, rumors are spreading quickly - your current employer may not appreciate such training, for its part, looking for a replacement for you. I do not recommend considering interviews as a tool for growth. I can go to the ballet school 10 times for selection, and whether I’m better at dancing from this is a big question.
And why should I myself deal with my growth? What about the employer?
As in the rest of this article, there will be my subjective opinion. Yes, the growth of their employees is important for good companies, because a satisfied and professional employee will be able to more effectively cope with more complex tasks. But there is an important point - industrial production brings more money when there is a conveyor belt on which similar tasks are quickly solved.
That is, if, for example, your company develops applications for gas stations, then most likely they will be of the same type, because otherwise it will be much more expensive to produce and maintain them. I doubt that all applications will be written in different languages, with a different technological stack and based on different architectural approaches, only so that programmers have a wider experience.
In short, the employer is not bad and not good - his task is with your help to make a product for the market on time and within a certain budget. It’s great when the company is concerned about your development, but I advise you to treat this as a pleasant bonus that does not cancel active actions on your part.
PS
“Oh, I want to grow so much, but ...” You can always find arguments and arguments in favor of the fact that you really want to, but for some reason there is no way. In 99% of cases, I see that people who say something like that just don’t have enough desire and there are more meaningful things for them, this is quite normal, the main thing is to be honest with yourself and others.
“Persuaded, I want! Where to find time? ” Again - there would be a desire, but time will be found.
You may even have to sacrifice something (for example, TV shows, if they suddenly take your time). It is not necessary to immediately devote 40 hours a week to your professional growth, start with a small and real amount, for example, 2-4 hours a week. Viam supervadet vadens.
Write your ideas and suggestions for professional growth in the comments!