One of the distinctive features of software development as a professional career is the need to study all the time. Programmers like no one else are pressured to keep up with new technologies and learn new frameworks, tools and coding languages. This can be viewed as a disadvantage of being a programmer or the price coders have to pay for high wages compared to other professions. But in order to be a successful developer you will have no choice but spending time on self-education constantly throughout your career. On the bright side, today learning programming languages and obtaining software development skills is easier and cheaper than ever, with plenty of free tutorials and very affordable online courses such as CodeGym available online. But even though the knowledge is very affordable financially, you still have to pay for it with the ultimate currency — time. So today we decided to explore this topic in more detail and find out how much time and effort professional coders really spend on self-education and how they feel about needing to do it.
75% of developers learn a new technology at least once a yearOf course, the attitude towards self-education and the desire to learn new things among software developers can vary. But the majority do recognize the importance of learning new technologies on a regular basis. As part of the Stack Overflow Developer Survey 2020, professional coders were asked how frequently they learn a new language or framework. Out of over 46,000 developers who participated in the survey, around 75% said they learn a new technology at least every few months or once a year. In particular, 34.9% or 16,165 respondents said they learn a new language or framework every few months, while 37.9% or 17,555 professional coders who participated in the survey learn something new once a year. Another 25.1% said they learn something new once every few years and 2.1% self-educate themselves in programming skills once a decade only. Interestingly, the data from Student Developer Report by HackerRank, a survey of programming learners, shows that today 65% of all new programmers are self-taught, with 27.39% of respondents saying they learned to code via self-directed learning and another 37.70% obtaining their skills via a combination of school and individual study.
Learning sourcesThere isn’t much research data on what specific channels professional developers prefer to use for self-education most frequently as it often depends a lot on the field and the programming language software developer is specializing in. But according to multiple surveys and opinions from coding pros shared online, these are the most popular sources of knowledge for coding self-education:
- Online developer communities such as StackOverflow and HackerRank,
- Reading tutorials and watching tutorial videos,
- Online courses such as CodeGym,
- Programming textbooks,
- Personal communication with other developers,
- Educational events such as meetups, seminars, and coding bootcamps.
Java coders dataWhen it comes to Java programmers specifically, we have some of our own exclusive information based on the survey of CodeGym community members who are working as professional Java developers. 70.2% of our respondents said they read professional literature on a regular basis. Almost half (48.9%) take online courses focused on specific technologies, and about a third of all Java developers we surveyed frequently join developer events, both online and offline. Just 9.6% of all the people who participated in the survey said they don’t have time for self-education. We were also interested to know about what directions Java developers typically choose for their professional education. Here are the most common areas of development our respondents have specified, in order of importance:
- Deepening their knowledge of Java and Java development ecosystem;
- Learning mobile development tools and technologies;
- Web development skills and knowledge;
- Cloud technologies, Big data, microservices;
- Some people are looking to learn another programming language besides Java, with Kotlin as the most popular option, followed by Go, C#, and PHP.