Blog Post

How to become a software developer in 12 weeks

28/10/20

This a 12 week programme of free online software development courses, activities and lessons for someone who wants to become a software developer. It’s a route through some of the best resources on the web.

software developer

Who is it for?

The programme is for someone with little or no software development experience - a young person who doesn’t want to go to university or an older person who wants to switch careers and become a software developer.

There are few prerequisites. It helps if you’re the kind of person who enjoys thinking logically and puzzling out problems. It also helps if you’re good at working on your own.

What do you learn?

Web development. You want to get to the point where you can - with confidence - start applying for web development roles. The reason we chose web development as the way into software development is simple - web development is still where most of the software development jobs are.

We picked JavaScript as the core software development language. There are other great web development languages (PHP, C#, Python etc), but JavaScript is a good starting point for your journey into web development because:

  1. It requires no special software - you can run the JavaScript you write in a web browser.

  2. The syntax is easy - it’s a great way to learn about standard programming things like arrays, loops and if-else statements.

  3. You can also use it server-side with a technology called Node.js - so you can use JavaScript to create sophisticated interactive web applications that talk to databases and support thousands of users.

  4. Right now there are job vacancies out there for Node.js/JavaScript developers.

Here is the top level view of what you will learn is you stick to the program:

  1. Coding Fundamentals - basic ideas that are common to all programming languages.

  2. Server side programming - how to build interactive web applications with Node.js and Javascript.

  3. Databases - the traditional relational database is where most server side web applications store their data.

  4. Web Front End - introducing HTML & CSS and the basics of website design.

  5. A Project - put it all together and create something that becomes a valuable tool in your job search.

A final word about the approach before you start

Self propelled online learning comes with a massive challenge. There are times when it is hard to stay motivated, particularly if you’re doing it completely on your own. We’ve tried to design the programme to make it easier to stay motivated. The software developer training programme includes video, interactive materials and high quality reference resources.

The software developer training programme - step by step

The programme is 4 modules and a project.

You can do the project after the modules, but it would make more sense to begin to generate some ideas for the project, do some planning and perhaps make a start on the project as you work through the modules. We can’t stress this enough - the best way to become a software developer is to start writing code. You will make rapid progress when you start looking for solutions to problems in your project.

We think you can do the material in the modules in about 12 weeks if you put in around an hour a day. The project will take you a bit longer, but if you choose carefully and pick a project you enjoy, you should find it easy to put in the extra hours.

Project Ideas

Search on Google for ideas or think about the things you already do. Can you find a project idea in a hobby or is there something you could do in your current job?

Here are a few ideas, but spend some time and look for other ideas.

Easier Medium Bigger Chalenge
Simple online maths calculator Time tracking web app for remote workers Appointment booking system for hairdressers
A simple To-Do list. Add/edit/delete items. Mark items when done. Health related website - user can upload weights, calculate BMI and see results on a chart Parents evening booking system for schools
Simple online quiz - answers auto marked Online product catalogue, shopping basket and payments Contract tracking web app - simple, role based customer relationship management

Module 1 - Programming Fundamentals & Javascript

Intro What is JavaScript? 50 minutes JavaScript overview
Core The Modern JavaScript Tutorial This is a really comprehensive course and you can skip some of the later, more advanced topics. The first 5 sections up to and including Data Types are definitely worth doing.
Other Good Stuff JavaScript for Cats Another nice introduction. Maybe read a couple of times before starting ‘The Modern JavaScript Tutorial’.

Module 2 - Node.js and server side development

Intro Learn Node in 1 Hour Just over an hour intro to Node.js
Core Node.js Tutorial

Node.js Tutorial: Learn in 3 Days
Introductory series of Node.js lessons with plenty of working examples.
Other Good Stuff Learn Node.js - Full Tutorial for Beginners This is a longer video tutorial, but it can be watched over a week in parallel with the ‘Node.js Tutorial’.

Module 3 - Databases

Intro Relational Database Concepts An older video, but still a very good introduction to relational databases - the foundation of most interactive web applications.
Core Node.js MySQL How to use JavaScript and Node.js with the free MySQL relational database.
Other Good Stuff Using MySQL with Node.js and the mysql JavaScript Client Another nice, clear overview.

Module 4 - Web Front End with HTML & CSS

Intro TML Crash Course For Absolute Beginners 1 hour intro to front end web development with HTML & CSS
Core Intro to HTML/CSS: Making webpages | Computer programming The Khan Academy is great. This is a comprehensive HTML & CSS course.
Other Good Stuff The Best HTML and HTML5 Tutorials Good, short overview. Read and digest in 10 minutes.

Module 5 - Putting it all Together: Web Application Development with Node.js and Express.js

Intro Express/Node introduction - Learn web development | MDN Useful introduction to Express.js with some recap of Node.js to reinforce Module 2.
Core Express.js & Node.js Course for Beginners - Full Tutorial Learn how to develop a web app from scratch using Node.js, Express.js, PostgreSQL, and Bootstrap.
Other Good Stuff Setting up your web dev environment with Node and Express Another good overview of web development with Express.

What next?

Start applying for jobs. Infact, there’s no reason why you can’t start doing this before you finish.

Make a list of all the software development companies in your home town. Do some extra research and find the name of someone important at the company (check the About Us page on their website). Write to them - don’t email. Send them a letter and tell them what you’ve done. Mention your project and include a CV.