Learn New Skills to Become a Better Software Developer
Learning new skills is an essential part of working as a professional software developer. The constant changing environment with new frameworks, new versions of programming languages and in fact progression in almost every aspect requires professional software developers to be learning continually.
If you are not learning new skills you could find yourself being left behind in a rapidly changing industry, but not to worry, I will give you some of my insight in staying current and up to date as a software developer. I studied for my Computer Science Degree seven years ago and a large proportion of the frameworks I used are obsolete! In a relatively short space of time frameworks that were very popular have been superseded and this really highlights my point of progression of your skills plays a huge part in being successful as a professional software developer.
Here are some of my techniques that I personally use to stay as current as possible.
Watch Online Courses
There are a large number of online courses available that can teach you almost anything you could want. My personal favourite is Pluralsight, which I watch almost everyday. Pluralsight offers online developer training from industry experts. The courses are extremely effective in teaching you about the subject matter in great detail and because the tutors are industry experts in their given field you know the material is accurate and correct. The range of courses and subject matter is fantastic and I highly recommend you check it out. I pay for my subscription and have got back my investment by obtaining a new job that provides me with a much larger salary, without a doubt the skills I have learned from Pluralsight played a large part in my success. Pluralsight will only enhance your skills as a developer and allow you to progress your career so check it out!
Code In Your Own Time
When I was studying at University I can remember one of my lecturers telling me something that has stuck with me ever since, he said
you learn by doing. Now this is very simple and straightforward, to really learn about a subject matter you need to create something using that tool. For example, lets say I have just watched a course on Pluralsight teaching me all about React. To really full understand what I have been taught I need to create something using React. It doesn't matter what you create, just use the framework and from my personal experience this is a key part in learning. I have watched courses without actually coding a small project and quite often I will not take in as much information as I expected. I now make sure when I complete a course I will create a small application using the subject matter, this approach in my opinion is a very effective way to take in as much information and be confident you are learning a new skill in the best possible way. Often the courses on Pluralsight will run you through creating a demo application and so make you follow along by coding as you go, this will take longer but is worth it in the long run, trust me!
On occasion I have been asked about what projects I am creating in my own time when I attend an interview, a great response to this would be learning from online courses and then creating applications with your new skills. I have given this exact answer whenever asked this question and it shows you are passionate about developing your skills and would be an excellent asset to any development team.
Learning On The Job
You spend most of your time at work, sitting there coding whatever your project manager/team lead wants you to create. I found myself in a previous role working on an application and not learning any new skills whatsoever. This really did concern me as I felt I was being left behind. Long story short, I moved to a new company where I am using new technologies and learning so much. The development team has full control over the frameworks/languages used as long as the work completed functions as expected. This approach really accelerates learning as I spend eight hours a day using new frameworks that I previously would have not been able to. If you are stuck in a rut using the same old technologies I highly recommend thinking about finding a new company to work for, you are only hurting you career progression and potentially being left behind in a rapidly changing industry.
As I have mentioned, the majority of my time is spent using Pluralsight but on occasion I do like to read a book just to change up the learning process. I work mainly on the Microsoft stack and have a number of books based around the .NET framework and ASP.NET. I wont bother listing those but I will recommend a couple that every developer should read regardless of their area of work.
I and many other programmers rate extremely highly is Programming Pearls. This book is aimed at teaching how to look at a particular problem, break in down and implement an effective solution. It really gets back to the basics of computer science, check out the reviews if you don't believe me.
Another recommendation is Code Complete. This is widely considered to be one of the best guides to practical programming, the books covers many aspects of modern software development and I often see this in the must reads for all developers. I like to have this on my bookshelf and refresh myself every now and then.
Let's Wrap Up
As a software developer you need to be constantly thinking about enhancing your skills to stay current in an ever changing industry.
- Pluralsight is my personal favourite that provides effective courses from industry experts
- Always be coding in your own time, this will keep you up to date and in my opinion is one of the best ways to fully understand a subject matter
- Make sure you are learning on the job, you spend the majority of your time at work and should be learning new skills each day
- Reading books is another great way to enhance your skillset, check out some of my recommendations that every software developer should read.
If I have missed anything you think could be useful please do leave a comment.
See you next time, Ben.