How to become a software developer in 12 weeks
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.
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.
The syntax is easy - it’s a great way to learn about standard programming things like arrays, loops and if-else statements.
Here is the top level view of what you will learn is you stick to the program:
Coding Fundamentals - basic ideas that are common to all programming languages.
Databases - the traditional relational database is where most server side web applications store their data.
Web Front End - introducing HTML & CSS and the basics of website design.
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.
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.
|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 2 - Node.js and server side development
|Intro||Learn Node in 1 Hour||Just over an hour intro to Node.js|
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.|
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.|
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.