Back to all posts

Teach yourself: content to cover as an aspiring software developer

I’m hoping this article will be helpful not just to aspiring devs, but also to those working in the industry – feel free to use it as a resource when you’re asked the best way to get started with learning to code.
When teaching yourself to code, it is important to use the correct resources. Luckily in the software development industry, there are loads!
Assuming you want to be a full stack developer and to know a bit of everything, try Codecademy’s free HTML, CSS and Javascript courses. You can complete them online, and they serve as a great starting point to learning some of the basics.
From here, pick up a back-end language. I did PHP and I’d recommend it, but take a look at job postings in your area and see which technologies your potential employers are looking for. This guy’s PHP video series is great. PHP won’t be for everyone, but it sits nicely between loosely typed languages like Javascript and strictly typed languages such as C. So it’s strict enough to enforce some good coding habits, but loose enough to be beginner-friendly. If you’re learning on a Mac, PHP plays very nicely with the UNIX environment (whereas it will take a little arm wrestling to get it going on Windows).
Make sure you understand object oriented programming (OOP).
Get your head into databases by learning SQL – SQLZOO is a great resource I found useful when learning. Sequel Pro is my favourite GUI to visualise the databases you are working with and will make your life easier. If you do learn PHP use PDO to link it to your database.
Also try and learn a version control system such as Git (this video course is a good starting point), get comfortable using the command line and try and do some research on an agile working methodology such as Scrum – your future employer will be impressed.
While YouTube videos, books and blogs are the best free places to learn PHP, if you can afford to dedicate the time and money, coding bootcamps are the fastest and most thorough. There’s a real variety of bootcamps out there, so do your research.
Check out Meetup.com and attend events to do with coding in your area. This is a good way to find a mentor as well as to make connections that could lead to work. Maintain active Github (for storing/sharing your code), Stack Overflow (for requesting/giving help) and CodePen (like a doodle pad but for code) accounts.
Finally research software developer technical interviews and have a go at some free online aptitude tests so that you are not surprised by the interview process which is often quite different from those in other industries.
After all that you should be well placed to have a crack at getting your first gig.
Good luck! Enjoy yourself. It’s not going to be easy but it’s an awesome job if you can get it.
A quick note about procrastination:
Start right now! There is no time like the present. As someone who has experienced learning to code from scratch, I became very aware of the negative impact of procrastination. I used to look at forums for hours, posting questions about what to do and how to do it. The truth is that time could have been spent learning. It’s the difference between loving software development and loving the idea of being a software developer – you must make a choice about which one you want to be and get cracking!
That being said, if you’re going to procrastinate, do it right. Here is my current favourite place to procrastinate on the internet.