For some careers, you can learn a skill and then simply coast using what you learned throughout the years. This can include many jobs where technology or tools within that profession do not change very often. Then there are jobs like teaching in public schools that require continued education on a regular basis in order to have a license recertified so that you can continue to work. In states like Indiana, if a public school teacher doesn’t renew their license by getting educational credits, they are unable to continue teaching in classrooms.
The world of programmers and developers can fall between these two extremes. While updated training isn’t required, many developers continue to find ways to expand their knowledge and improve their skills so they can both keep up to date as well as expand their areas of expertise. In both cases, the value of a developer to their employer or other companies generally increases with additional education and knowledge.
As developers, there are a variety of ways that we can educate ourselves and stay up to date. This article presents ten different ways to keep up to date or expand your knowledge. While some training can cost thousands of dollars, many of the suggestions in this article are low-cost or even free.
However, nearly all of these do come with a cost, in that they require you to dedicate time. While many developers feel they don’t have time due to impending deadlines for projects, if you make time to educate yourself, you are likely to find that the time is well spent. The return on investment on such time can include increasing your self-worth. It can also be returned as you learn new and more efficient solutions to solving various problems you might encounter. For example, learning a new library might save you the time it could have taken to create it yourself.
Without further ado, here are ten ways to educate yourself as a programmer, presented in no particular order. You can do these to keep up to date or expand your existing knowledge related to development and programming.
Join Developer Forums and Discussion Groups
While it might be seen as a controversial suggestion for keeping up to date on your tech knowledge, joining forums and discussion groups can be a great way to enhance your developer skillset. Forums and discussion groups include sites like forums.codeguru.com and VBForums.com, as well as sites like Reddit, Facebook Groups, and LinkedIn Groups. These can be controversial for learning because discussion groups tend to have a large amount of noise, and if you aren’t careful, a lot of time can be spent reading posts or engaging in non-learning related discussions.
These groups come in handy for helping improve your skills and keeping you up to date in a couple of ways. First, by skimming the discussions and looking for any trending threads, you can see what people are talking about and possibly learn where there are issues or hot new things happening in the programming world.
These groups are most useful for asking questions. You can use them to ask questions on topics you want to learn about or broader questions on what others see as important.
As mentioned, the noise level is high in most discussion groups, so they can be one of the least effective ways to improve your overall skills if you are prone to distraction.
Take Online Training Courses for Developers(Free vs. Paid)
While discussion groups and forums might be one of the lesser valued approaches to honing your developer skills, online training courses can be one of the best. Online courses can vary widely in how they are presented but generally help to teach in a similarly structured manner. Most online courses offer a variety of options, including live or (more likely) pre-recorded videos presenting lessons, practice exercises, and quizzes to validate what you’ve learned. These courses can be broad, such as teaching a programming language, or very specific, such as teaching you how to build a chatbot using IBM software.
Online training courses can range in cost from free to thousands of dollars. Many companies, such as Microsoft and IBM, offer a number of online training courses. Microsoft offers online courses via Microsoft Learn. You can also take courses on third-party sites, which offer free courses on a variety of topics from universities.
There are also paid sites that provide courses. These include sites where you can buy subscriptions such as LinkedIn Learning and Pluralsight, as well as sites that allow you to buy courses one at a time. It is worth noting that while some of these sites list courses for hundreds of dollars, a few put them on sale for just a few dollars, and once you pay, you retain access to that course. Additionally, many of these courses can be from an hour to twenty or thirty hours long.
Many of these online courses include numerous modules. Some provide certifications if you pass the quizzes and tests. If you do online courses through a university, you might even have an option for college credit (generally for an added fee).
Watch Developer Webinars and Programming Videos
If you are interested in learning without the need for numerous, sequential lessons, quizzes, and tracking of what you’ve done, then you might simply want to watch webinars and videos or listen to podcasts on programming topics. Sites like Microsoft’s Channel9 and Google’s YouTube offer a number of videos on a multitude of technical topics.
Most big technology companies also offer videos on using their products as well as videos on topics related to their topics. For example, Unity offers various videos on using their integrated development environment (IDE) for developing a variety of solutions ranging from 2D games to fully interactive virtual reality applications.
Browse Programming Books (Free vs. Paid vs. Repositories)
I’m a fan of learning from books, but then, I’ve authored several, so I’m biased. Books can be both printed paper books and eBooks. The ability to sit down and read from a book during lunch or on a break is a great way to pick up additional technical expertise.
While it is easy to buy books one-by-one, you can also subscribe to online sites that give you access to a large catalog of books for a single fee. This includes services such as Scribd, InformIT, Kindle Unlimited, and more. I do, however, caution joining sites that offer eBook downloads. Most of those sites are not operating legally, and thus you risk them doing nefarious things should you download from them.
Writing code is another way to keep up to date and improve your skills. You might be saying, “wait a minute – that’s what I do all day…”. The difference is that this recommendation is to write code outside of the code you are doing for projects. Pick areas that are not currently within your toolbox of skills and write code for fun.
If you are doing desktop development, try creating something for a mobile device. If you are programming mobile apps, try creating a web-based application. While you might not do future projects on the various platforms, understanding the differences will help you stay up to date as platforms continue to evolve. More importantly, you’ll be able to better consider small changes to your applications that require no additional effort but might make them easier to port to other platforms in the future.
Another suggestion is to take a project you are currently doing and rewrite the code using a different programming language. This allows you to focus on learning a new programming language. You’ll be able to see the differences and similarities and expand your toolbox of skills. For example, if you are programming in C, C++, or C#, try converting some of your code to Python. If you are doing Visual Basic, try coding in C#. Pick a language that is similar to what you currently are using so that the learning difficulty is minimal.
Attend Online Labs for Developers
Similar to online courses are online labs. The difference, however, is that a lab is more focused on presenting a step-by-step tutorial on accomplishing a specific task. More importantly, online labs tend to be more hands-on. Often, labs focus on walking you through using a product. This allows you to get a feel for how easy (or hard) it is to do things such as configure a server, set up a web service, and more. Many companies offer virtual labs.
Skim Programming Language Specifications
Many people consider programming language specifications to be some of the most boring documentation ever written. In many cases, they are absolutely correct! Having said that, taking the time to read language specifications can be educational, as you can see the inner details of the language without the noise of specific implementations. For example, you can see how a programming language feature is expected to behave, not simply how one company has made it behave.
One area that can be the most advantageous for keeping up to date is reading the change documents that often accompany language specifications. Seeing the list of new features added to a language and then reading the specification will help give you direct knowledge of where the language is headed.
You can often find language specifications online at both the standardizing body’s website and company websites that help produce the languages. For example, you can find the C# specifications on the ECMA International website as well as on Microsoft’s site.
Attend Developer Conferences
With the pandemic, the number of in-person conferences has decreased, with many shifting to an online format that mimics what you see in online webinars and videos. Conferences offer a lot of the educational benefits seen in other points made in this article as a result of the overlap. The big difference a conference tends to provide is that the information presented is often more leading-edge, plus there are often presenters available to answer specific questions. Conferences also tend to present a number of topics, all within a short period of time. Many of today’s conferences record key sessions for later viewing as well.
Network with Others Developers
One way that conferences differ from other training methods is that they tend to bring a large number of technical people together at the same time. This opens up opportunities to interact and engage with others, as well as provides an opportunity to increase your connections with others. By expanding your network of people, you know, you also expand the possible contact points you have for asking questions or seeking clarification on topics.
In addition to networking at conferences, most major cities also have user groups, meet-ups, and other events that meet in person. These groups can be for the purpose of sharing knowledge or simply for connecting with others. For example, in my area, we have an IT Happy Hour that meets somewhat regularly (less regularly during the pandemic). The meetings have no agenda other than to network with other technology leaders. It is a chance to share information and learn what others are doing.
Follow Developer News and Programmer Newsfeeds
The final way we’ll mention in this article for you to educate yourself is to follow news, newsfeeds, and online sources of information. This can include technology news sites like eWeek and It Business Edge, or it can be sites that tend to focus on more technical content like Developer.com, Codeguru, and HTMLGoodies. Many of these sites present new posts regularly, and most offer subscriptions to allow you to have the headlines come to your inbox.
Many developers will subscribe to feeds from sites like these for the sole purpose of seeing the headlines. While they might read an article at times, by seeing the headlines, they get an idea of the topics that are trending.
Developer and Programmer Education
This list has barely scratched the surface of ways that developers can work to self-educate and improve their knowledge and skills. While it has touched on ten areas, there are others as well. For example, you can read printed magazines – yes, a few still exist!
While most developers will say they are going to work to expand what they know, many get caught in the daily grind of deadlines. The biggest key to being successful at improving your knowledge is to make sure you set aside time regularly, specifically for learning. Starting with even an hour a week can lead to a wider or deeper breadth of knowledge that could make you a better developer.
If you have other suggestions for a developer to keep up to date, share that information by posting your suggestion in the comments!