In the modern software development landscape, new technologies are coming out all the time. There are also rapid (and sometimes drastic) changes to existing ones. It can be very difficult to keep up with it all. Lots of self-discipline and drive are required to stay relevant in this industry.
That being said the speed at which things change is also what keeps it interesting. The pursuit of newer and better ways of solving problems is the basis that makes software development (and in a broader sense computer science as a whole) so fascinating. With so many resources available to learn it can be overwhelming at times.
In this article we will go over a few techniques that are useful in learning, practicing, and incorporating new ideas in software development. This is in no way a comprehensive list but rather strives to be a launching point. To focus on a rather broad topic this will cover the enterprise software development environment with a specific point towards software as a service development of websites.
Note: Byte Units is not affiliated with any of the following sites
One of the easier ways to learn just about any topic is to watch a video of someone else explaining it. YouTube is, of course, a great place to find such content but there are many other resources available. Below are a few other very useful resources:
- Lots of video lecture courses on just about every tech topic out there
- Skill IQ tests to help reinforce content
- Role IQ tests to show progress towards a particular role
- Online courses in a variety of topics including tech but also more soft skills
- Online courses with interactive coding examples which allows you to pause the lecture and mess around with the code in the same window
- Very concise and to the point videos on modern web technologies
- Many online courses with examples, quizzes, and real-world projects
- Courses in web development, general programming, and data science
- Job board for those who complete courses in relevant positions
- Online courses structured more like a traditional college online course
- Similar to Udemy but with the addition of certificates and online degrees available from actual colleges
Another great way to stay up to date is by browsing articles from the many tech blogs out there. An easy way to discover new blogs and topics is by using a link aggregation website. These sites typically do not produce the content themselves, but rather have users submit links to articles. This can be an easy way to find new topics.
- A great resource for a wide variety of technology-related articles
- Content is updated constantly with new articles
- Another great resource similar to Hacker News but more focused on specific programming articles
- Great articles on system-level Linux concepts (lots of hardcore Linux nerds :)
Developer Roadmap Flowcharts
Starting a few years ago a few projects were created on GitHub with flowcharts showing the concept paths recommended for learning web development. This simple idea clearly explains where to start, and what concepts build off each other.
I have referenced this project a few times when looking for new technologies to explore. Some of the concepts listed have turned into Byte Units articles even!
- Web Development (same as listed above): https://github.com/kamranahmedse/developer-roadmap
- Android Development: https://github.com/MindorksOpenSource/android-developer-roadmap
Blogging / Note Taking
The last concept for this article is perhaps the most generic and enhances the other resources. While watching videos and reading articles can really help learn new technologies, writing down lessons learned and teaching others those concepts can help cement them even better. This is the primary reason I started Byte Units in fact! Writing a small blog with articles on the concepts from the videos or articles is a simple and impactful way of note-taking. If blogging isn't for you then just writing down notes can accomplish the same idea. Even if the notes are never referenced again, the simple task of writing them is enough. The human brain remembers things written (either handwritten or typed) much better than just those seen or read.
This blog is running of the Ghost CMS platform which I have written an article explaining how to set up here. There is also, of course, the industry-standard Wordpress which currently powers about 34% of the entire internet.
This article covers several different resources for learning about new programming technologies. In the modern software development landscape, there is a never-ending stream of new things to learn. While it can be overwhelming at first, getting into a habit of reading articles, watching videos, and taking notes on the lessons learned can help keep up with the ever-changing industry.