Growing your software development skills outside of work
A collection of ways to grow your software development skills outside of work
To keep up with the advancements in technology and develop your career, you need to spend some time on personal development.
As a software developer, a large amount of your learning will happen during your day-to-day job. You spend a majority of your time at work so it is not surprising that most of your learning happens there.
To grow your skills even further you can also try learning outside of work.
If you want to be a great software developer you have to be constantly learning. Having multiple approaches to learning about software development will help you up-skill from different perspectives.
In this article, I would like to share different approaches you can use to grow your software development skills outside of work.
Reading books
Reading good books will help you grow as a software engineer. A good book written by an experienced author can cover topics in great detail and help you understand them easily. A book can allow you to gain years worth of knowledge in a few days/weeks.
Books are super important to develop skills, learn about best practices, and acquire general knowledge.
Reading books alone will not make you a great developer. You must apply some of the lessons you learn from the books in the real world. You have to remember to put the things you learn into practice for your reading to be useful.
Reading is much easier to take up if you build a reading habit. Try to schedule some time each day that is dedicated to reading. You can start small by only committing to thirty minutes a day of reading and then increasing the reading time as you get more used to it.
There are a lot of books out there and it can be overwhelming to decide what to read. Limiting your scope when presented with many options always helps. Select one or two books that align with the most important thing you want to learn. Start there.
In this article, I shared a list of books every new software developer should read.
Enrolling in video courses
Online video courses are another way to learn and grow as a software engineer. They can be a great way to receive reliable and trustworthy lessons from experienced coders or university instructors.
You may prefer to learn through video instruction instead of reading books. Online video courses are a great alternative or complement to reading. Many online learners opt for video-based learning because it’s similar to the traditional lecture format used at university.
Video courses help you learn how to articulate coding ideas. This is useful learning for how you communicate with your teammates and for job interviews.
There are now many online video courses for software developers out there. They cover a wide range of topics in the software development space. Some of the platforms are paid-for and some are free.
Again it can be overwhelming to be presented with so many options of online video courses. Start by understanding what software development skills you want to learn and improve. Then search online for courses that cover that skill and select the best one you find.
Listening to podcasts
Podcasts are a great way to learn more about software development. Most of them typically have short episodes and can be listened to on the go. You can listen to podcasts while doing the dishes, on an airplane, driving, or commuting.
Podcasts often provide a fresh perspective on new up-and-coming technologies or some great advice from an expert who is invited as a guest to the podcast. Podcasts offer a wealth of resources and support backed by industry experience, so you can always find something new to learn.
Podcasts do not require a lot of commitment and you can always drop off an episode or the whole podcast if you find it is not useful to you. Most podcasts are free too.
There are also now many podcasts for software developers out there. They cover a wide range of topics in the software development space. You can find a podcast on virtually any topic, the only question is whether it still produces fresh content or not.
Selecting a podcast that matches what you want to learn and is interesting becomes important. Start by understanding what software development skills you want to learn and improve. Then search online for podcasts that cover those skills and select the best one you find.
Attending conferences and meetups
I’ve been fortunate to attend many conferences and meetups in my developer career. I have always left them having gained some new useful knowledge.
Conferences and meetups are a great way to get out of our comfort zones, open ourselves up to new possibilities and stimulate our minds with new approaches and solutions that will help us with our software projects.
Conferences and meetups are great environments for learning, sharing, networking, and collaborating. They allow you to learn something new, about either a specific topic or just something new that you might not have heard about.
You get to learn from the best. Most of the time, speakers and attendees are people that have been working with technology for a while and have experienced the good and bad. Learning in this environment is very different because everyone is there to learn or share their knowledge, whereas at work you are mostly there to get the job done most of the time.
You don’t only learn from the speakers’ talks. People share a lot of useful information about a specific topic in the questions they ask after the talks. The conversations that happen after the talks can be vital to the problem you are trying to solve in your workplace and the ideas shared afterward can be more helpful than the content provided in the talks. The transfer of knowledge during these events can help with your career growth.
Identify local software development conferences and meetups that take place in your area and commit to attending any that interest you.
Subscribing to software development newsletters
There are now many software development newsletters out there. Most of them have curated content about different software development topics. They are usually pushed out on some regular cadence the creator sets.
Software development newsletters are very useful for keeping up with the latest trends in the software world. They are also a great cue for you to learn as each email that comes in your inbox is a reminder to read and learn.
Identify a topic you are interested in learning more about or keeping up to date with the latest trends. Search online for newsletters around that topic. Subscribe to a few of them and see how it goes as they start to come in. Over time you will know which are the best newsletters you prefer and you can unsubscribe from the ones that do not add value to you.
Contributing to open-source projects
Open-source refers to software with source code that can be accessed and modified by anyone. The intent is to make the applications freely sharable with and by the public.
Contributing to open-source projects can greatly improve your coding skills and make you a better developer.
Contributing to open-source projects allows you to solve different problems from day to day work. This broadens your mind as you work in different codebases and you see different coding approaches/solutions from other contributors in the open-source project.
When you contribute to open source you get in touch with other experienced people working on the project, giving you valuable insights and feedback, as well. Especially when you go through the code of projects with hundreds or even thousands of contributors, you can gain immense knowledge about best practices and code quality.
Plus, working on open-source software can improve other key skills aside from coding. It is an effective way to improve your communication and teamwork skills.
Find an open-source project you are passionate about. One of the advantages of open-source projects is you can start with beginner-level tasks and gradually progress to more complex ones. Start making contributions slowly to gain some confidence and understand the workflow in open source projects. Over time you will be able to make bigger contributions to the open source projects and learn more from them.
An added benefit of contributing to open source projects is that it helps you build your developer profile external to your company. Which is always useful for any future recruitment opportunities you may have.
Building side projects
A side project is something you do aside from your main job. They are projects you create for yourself to pursuit to learn something new or completely outside of your day-to-day activities or even comfort zone.
Having a side project outside of work can be one of the best ways to grow personally and professionally.
Side projects allow you to learn new patterns, programming languages, and concepts you otherwise would have ignored. The theory is just theory until you practice.
Since you will be spending your evenings and weekends working on this, it helps if it's related to a topic that you are passionate about. Start small. The easiest way to start is to pick a small project you will find interesting, or will solve a problem you have. Then break it down into smaller components until one of them looks easy to implement. Keep it simple at the beginning so you can remain motivated by the progress you will be making.
There are many benefits to having a side project:
You learn how to come up with ideas and add customer value to a product.
You learn how to focus. Side projects teach you to show up consistently.
You learn more about taking self-directed action.
Encourage creativity. Side projects enable you to work without constraints.
Mastering different technologies to the ones you use at work daily.
Solve different problems from day-to-day work.
Benefit your career. You will have more chances of getting a job if you can show a variety of personal projects that are real, interesting, and meaningful, rather than a simple CV or résume.
All those benefits are encouraging reasons for you to spend some time trying side projects. Working on side projects in your spare time can be fun and helpful in developing your coding skills.
Remember to start small, be patient, and improve it while you learn. Your side project doesn’t have to be an enormous global success, but it can certainly help you learn and grow your software development skills.
Final thoughts
I’ve shared a collection of ways to grow your software development skills outside of work. You don’t have to take up all of them at once. You could start with a subset or just one.
At the end of the day, your personal needs and comfortability should dictate your learning tools. No platform can offer the perfect way to learn software development for everyone.
The important thing is that you are constantly on a learning journey and keep growing your skills.