The pathway
How you actually get there, here
How you become one varies far more by country than what one does. This is the UK route. Most people take one of these ways in; the right one depends on where you're starting from.
- 1
Junior Software Engineer / Associate Developer
2-3 yearsSkills to master
- Mastering a primary programming language, understanding core data structures, writing good unit tests, basic Git proficiency, and reliably delivering small, well-defined tasks under supervision.
You're ready to move on when
- Consistently delivering assigned tasks on time with minimal bugs.
- Actively contributing to code reviews and asking insightful questions.
- Demonstrating a solid understanding of the team's codebase and development processes.
- Proactively seeking out learning opportunities and applying new knowledge.
- 2
Coding Bootcamp Graduate with Prior Experience
3-4 years (post-bootcamp)Skills to master
- Applying bootcamp knowledge to real-world commercial projects, adapting to enterprise-level tooling and processes, deepening understanding of system design principles, and building robust, production-ready code.
You're ready to move on when
- Successfully completed several commercial projects post-bootcamp.
- Can demonstrate strong problem-solving skills in a technical interview.
- Has a portfolio of work that shows independent coding ability and good practices.
- Understands the importance of testing, documentation, and collaboration in a team setting.
- 3
Self-Taught Developer with Strong Portfolio
3-5 years (self-taught experience)Skills to master
- Demonstrating equivalent professional experience through significant personal projects or open-source contributions, understanding team-based development workflows, and having a strong grasp of software engineering fundamentals (e.g., algorithms, data structures, testing).
You're ready to move on when
- A compelling GitHub profile with well-documented, complex projects.
- Ability to articulate technical decisions and trade-offs in their personal work.
- Experience collaborating on projects (e.g., open-source contributions, group projects).
- Strong communication skills, despite not having a traditional academic background.