Career guide

How to become a software developer

Software developers design, write and maintain the programs behind websites, apps and business systems. Much of the job is problem solving: understanding what users need, breaking it into small steps and turning those steps into reliable code.

There is more than one route in. Some developers study computer science, while many others learn through courses, bootcamps or self-study. In both cases, employers commonly look for evidence that you can build working software and learn new tools quickly.

What the work looks like

  • Writing and testing code for new features or fixes
  • Reading existing code and working out how a system fits together
  • Reviewing colleagues' changes and responding to feedback on your own
  • Tracking down bugs using logs, debuggers and careful reasoning
  • Discussing requirements with designers, product managers or clients

First roles

  • Junior software developer or graduate engineer
  • Junior front-end or back-end developer
  • Software developer intern or apprentice
  • QA or test engineer

How to start

  • Pick one language and learn it well; Python and JavaScript are common starting points.
  • Practise with small projects that solve real problems, and keep the code in a public portfolio.
  • Learn version control, basic databases and how to read error messages calmly.
  • Check your foundations with the programming test or the JavaScript test.
  • Contribute to a team project, hackathon or open-source repository to show you can collaborate.
  • List projects, languages and results clearly in an ATS-friendly CV made with the CV builder.

Skills employers look for

Prove these with a free test, or read the guide for each one.

Your CV for each market

Common questions

Do I need a computer science degree?
Not necessarily. Many employers hire developers from bootcamps or self-taught backgrounds, especially when they can show solid projects. Some larger companies and certain countries still favour degrees, so check the requirements in adverts you are interested in.
Which programming language should I learn first?
Choose one that is widely used and well documented, such as Python or JavaScript, and stick with it until you can build complete small projects. The concepts you learn transfer to other languages later.
How important is a portfolio?
Very important for entry-level candidates. A few finished, well-explained projects often say more than a long list of technologies, because they show how you think, structure code and finish work.