Software Engineer
Accelerated Roadmap for becoming a Software Engineer
v2.0
If you haven’t already, check out our Pre-Requisites guide to get your local macbook setup and build familiarity with your code editor (Cursor)
Overview
This is a realistic roadmap for complete beginners, focusing on only the most important things you need to know to get job-ready, build your own products, and become an all-round productive Software Engineer.
Frontend Development
Estimated time to complete: 3-5 months
What even is a 'Frontend'?
Main Content
Price: $59 (1-year access)
After completing this course, you will have a strong foundation in the most important concepts to know as a Frontend Engineer.
This course also includes a quiz and frontend interview questions to help you prepare for coding interviews for frontend roles.
You do not need to complete all questions. 20-30 questions should be sufficient.
(Optional) UI/UX Design
You don’t need to take this course straight away. You can take it later when you feel like you need it or you notice that the websites and products you build lack intuitive interfaces and the designs feel brittle (honest feedback from others).
Become really good at UI/UX Design. By taking this course, you’ll set yourself apart from the average frontend engineer and be able to have really interesting and productive conversations with your team’s designer/s, helping build intuitive, pixel-perfect user interfaces. Or on your own, if you’re building solo as a technical founder, you’ll have insight into what makes a good design clean and intuitive.
Price: $99 (One-time payment)
Project Building
Practice your skills by building mini projects on GreatFrontend:
Extra helpful content:
Start Building Real Products
Once you’ve completed the above Frontend Development path, you can start building real products with our custom boilerplate codebase (Titan).
The key benefit with this approach is that you’ll learn backend development in a practical, need-driven way. Instead of spending months on theory before building anything real, you’ll:
- Validate your idea with real users
- Start with simple features and some marketing
- Gradually tackle more complex features as your product and userbase needs grow
- Learn system design principles through actual scaling challenges, no theoretical concepts (if your userbase grows)
- Build a deep understanding by solving real customer problems (bugs) and feature requests
This approach isn’t a replacement for comprehensive backend knowledge - you’ll still be scheduling in time to go through the Backend Development section. The difference is that you’re building something real, with clear context for why each concept matters.
You will naturally ignore unnecessary distributed systems concepts that your project/app won’t require or that will be abstracted away for you.
Build with Titan
Start building full-stack products immediately. Deploy real apps, gain system design experience, and ship to users fast.
Backend Development
Estimated time to complete: 4-6 months
What even is a 'Backend'?
Main Content
High-Level Backend System Design
Price: $59 (1-year access)
After completing this course, you will have a strong foundation in the most important concepts to know as a Backend Engineer to build scalable distributed systems.
Core Backend Development
Price: £10/month
Only the following modules are required:
- Learn Golang
- Learn Linux
- Learn Git
- Learn HTTP Clients
- Learn HTTP Servers
- Learn SQL
- Learn File Servers and CDNs
- Learn Docker
- Learn CI/CD
Price: £10/month
After completing these courses, you will have a strong foundation in the most important concepts to know as a Backend Engineer.
Project Building
Practice your skills by building projects with CodeCrafters
You don’t have to build them all. Just pick a few that are interesting to you and build them. You’ll gain a lot of hands-on experience and understanding of backend system design concepts.