scaulfield7.github.io

How to become a software developer

There are various ways to get into software development, so it can be hard to know where to even start. Here’s my suggested, general approach:

  1. Complete CS50 Understanding Technology (not essential but a great way to ease into tech from a non-technical background)
  2. Start with the first FreeCodeCamp course listed, and work through it (the first 1-3 courses would be a fantastic start)
  3. Do CS50 alongside the FreeCodeCamp work
  4. If you’re hooked at this point, you can keep going with more FreeCodeCamp courses or Udemy ones*, depending on your interests, and try to build your own projects (best way to learn) and add them to a GitHub portfolio (best way to show what you’ve learned, and get a job), or look at a Springboard course if you want to get a formal qualification
  5. Ensure you have a couple of projects you can talk about in an interview - the best projects are ones that solve a problem (you can find some advice on this here)

It is essential to consistently network, and to add code to GitHub as you learn. Even from the first bits of code you write, these can be added to GitHub to practise using GitHub and writing code regularly. Once a bit more familiar with coding and using GitHub, a huge bonus, if possible, would be to learn a bit about how to review code in general and on GitHub, and to get your code reviewed by someone else learning to code, or to review someone’s code on GitHub, and to show that you are able to use GitHub in this way. Code reviews are a big part of software development but are often not covered in college courses.

It’s also essential to get good at using search engines well to find information on anything you are unfamiliar with or get stuck on as you learn - for example, you may search for something like “how to add code to GitHub” if following the above tip and unsure of how to begin. Or you may even want to start with “what is GitHub”.

*Courses are really useful for the initial learning but it’s important to avoid ‘tutorial hell’ and to actually write code as you learn, by doing little challenges or assignments and most importantly - projects. Tutorial hell is where you do lots of tutorials, can follow along, and are able to do the same stuff as the instructor, but when you try to build something yourself, you are unable to. As you learn to code, it’s helpful to try to put your own spin on the coding challenges you do along the way, rather then only replicating them exactly as the instructor does them.

Resources for people interested in studying software development (or getting into tech)

Springboard

Springboard is an excellent resource for longer-term college courses (free or you pay 10% of the fee) – generally conversion courses to transition to tech – lots of part-time and online options to facilitate working full-time at the same time - this is how I moved from my languages and customer support background to become a full-time software developer.

CS50’s Introduction to Computer Science

CS50 is a brilliant free introduction to computer science from Harvard – most people in my software development diploma supplemented their learning with this and it’s the main course I recommend to people moving to software development (CS50 Understanding Technology is a nice course that could be done first to ease into it from a non-technical background).

The Web Developer Bootcamp

Web development is a great topic to study at first if interested in transitioning to software development, and Udemy has loads of great courses which get discounted to about €13 every few days so you can just wait for a sale and sign up at that price.

FreeCodeCamp

This is a brilliant starting point for learning software development.

Codecademy’s Sorting Quiz

Codecademy is similar to FreeCodeCamp but not all of it is free, so I would not use it as a main resource, however, this sorting quiz is useful for getting an idea of if you’d be suited to becoming a software engineer, UX designer, product owner or project manager, etc.

eCollege

eCollege has some thorough free courses, e.g. in Java and Python, but also the likes of Photoshop and Microsoft Office – aimed at people working full-time.

This website is a work in progress. If you need to contact me, please do so here.