How to become a developer: a step-by-step career roadmap
To become a developer, pick one path (frontend, backend, mobile or data), learn one language properly, get comfortable with Git and build two or three polished projects you can show in an interview. A degree is not a requirement. What counts is regular practice and code you can explain.
It takes consistency, not talent. Here is an honest roadmap: no promises of quick money, just steps that really lead to a first job.
Choose a path: frontend, backend, fullstack, mobile or data
First, pick a direction. It needn't be final: many developers switch specialisations, and every path shares the same fundamentals, so no hour of learning is wasted.
Frontend
Everything the user sees in the browser: layout, forms, animations. You start with HTML, CSS and JavaScript, then add a framework, usually React, plus TypeScript. Seeing results immediately is satisfying. A good choice if you enjoy design and user experience.
Backend
Logic, databases and APIs, the engine under the hood. You'll learn a server-side language (JavaScript in Node.js, Python, Java, C# or Go), relational databases such as PostgreSQL and API design, always thinking about data, performance and security. Pick it if algorithms and system architecture appeal to you.
Fullstack
Both worlds combined. Harder at first, with twice the material, but highly sought after in smaller companies and startups. Frameworks like Next.js blur the line by keeping interface and server code in one project. A sensible end goal, not necessarily a starting point.
Mobile
Phone apps: native (Swift for iOS, Kotlin for Android) or cross-platform, such as React Native or Flutter, where one codebase ships to both systems. If you know React, React Native is a natural next step. Expect device limits, app store rules and testing on many screen sizes.
Data
Data analysis, data engineering and machine learning, all built on Python, SQL and basic statistics. Analysts answer business questions, data engineers build the pipelines that deliver data, and machine learning specialists train models. A good path if you like numbers and know an industry from a previous job.
Testing, DevOps and security roles build on the same fundamentals. roadmap.sh publishes detailed skill maps for frontend, backend, fullstack, React Native and data analysis. Treat them as a map, not a checklist to finish before your first interview.
Career paths in one table
| Path | What you build | Where to start | First portfolio project |
|---|---|---|---|
| Frontend | Website and web app interfaces | HTML, CSS, JavaScript, then React | A dashboard with data from a public API |
| Backend | APIs, business logic, integrations | One server-side language, SQL, HTTP | A REST API with login and a database |
| Fullstack | Whole features, from database to button | Frontend or backend, then the other side | A deployed app with user accounts |
| Mobile | Apps for iOS and Android | JavaScript and React Native, or Kotlin or Swift | An app with a list, a form and offline mode |
| Data | Analyses, reports, data pipelines, models | Python, SQL, basic statistics | A public dataset analysis with conclusions |
A good test: if one project in the last column excites you and another bores you, you know where to start.
A step-by-step learning plan
Layered learning works best, with each stage building on the previous one. If you're just starting, also read where to start learning to code and how to learn to code.
- Programming fundamentals. Variables, data types, conditions, loops and functions, whatever the language.
- One language for real. For example JavaScript or Python. Better to know one well than to skim three.
- Git and the terminal. Every developer's daily tools.
- A framework and a database. React, Node.js, Django or another framework from your path, plus SQL.
- Your own projects. From here on you learn mainly by building.
Fundamentals look alike in every language. Here's one program in JavaScript and Python: list, loop, condition, function.
const tasks = ['Git review', 'Portfolio project', 'SQL exercise']
function describeProgress(done, total) {
if (done === total) {
return 'All done for today'
}
return `Done ${done} of ${total}`
}
for (const task of tasks) {
console.log(`Today: ${task}`)
}
console.log(describeProgress(2, tasks.length))tasks = ["Git review", "Portfolio project", "SQL exercise"]
def describe_progress(done, total):
if done == total:
return "All done for today"
return f"Done {done} of {total}"
for task in tasks:
print(f"Today: {task}")
print(describe_progress(2, len(tasks)))Understand one version and you'll read the other easily, because what really matters carries over. On the web path, start with HTML and CSS basics, then JavaScript for beginners.
You can't skip Git. A typical team workflow: a new branch, a small commit with a clear message, a push, then a pull request asking for code review.
git switch -c task-filtering
git add src/filters.js
git commit -m "Add task filtering by status"
git push -u origin task-filteringThe free Pro Git book teaches everything you need to start.
A realistic rhythm is 1-2 hours a day. A little every day beats eight hours once a week, because your brain needs repetition, not marathons. For a ready-made order, CodeWorlds courses guide you through it stage by stage, with details at the end.
Skills at each stage
Think in stages, each with a concrete checkpoint. If you can't do what the last column says, don't move on, practise more.
| Stage | What you learn | Checkpoint |
|---|---|---|
| 1. Fundamentals | Variables, conditions, loops, functions, arrays and objects, reading error messages | You write a simple program, like a quiz, without hints |
| 2. Language and tools | One language in depth, Git, the terminal, a debugger, documentation | Your code is on GitHub, with a readable commit history |
| 3. Framework, data, APIs | A framework from your path, SQL, HTTP, external APIs | Your app fetches, saves and displays data |
| 4. Quality and deployment | Tests, error handling, security basics, publishing | The app runs at a public address and has a README |
| 5. Job readiness | Code review, working on branches, a portfolio, interviews | You explain every project decision to someone seeing it for the first time |
Your best teacher at every stage is documentation: MDN for the web, the official tutorial for Python. You'll search it at work every day.
Portfolio projects that make an impression
Employers don't count finished courses, they look at what you can build. Start your portfolio in your first weeks of learning, not once you feel ready.
Which projects count
- An app with a real function, such as a task manager with login and a database, not yet another static landing page.
- Something with an API. Fetching data from an external service shows you can handle integrations and network errors.
- A project that solves your own problem, like a household budget or a tool for your old job. These are the easiest to talk about in interviews.
By path: a dashboard with charts and filters for frontend, a REST API with registration, permissions and tests for backend, an offline-capable app for mobile, and a public dataset analysis with concrete conclusions for data. Frontend Mentor offers ready-made project briefs with designs.
What makes a project polished
Three polished projects beat ten unfinished ones. A technical recruiter will read the code, so use clear names, small functions and a sensible commit history. Publish the app, for example on Vercel or Netlify: anyone opens a working link, few follow installation instructions. A few tests in Vitest or Playwright show you care about quality.
A good README says what the project is, where to see it, how to run it and what you learned:
# Study planner
An app for planning your learning: tasks, deadlines and weekly progress.
Live version: https://study-planner.example.com
## Technologies
React, TypeScript, Node.js, PostgreSQL
## Running locally
1. npm install
2. npm run dev
## What I learned
How to secure an API with a token and how to test forms.The GitHub documentation covers the formatting details.
Soft skills nobody talks about
Programming is teamwork. Code review isn't an attack on you, it's learning, and clearly explaining what you did and why often counts for more than another framework.
A good question to a senior colleague has three parts: your goal, what you've checked and what exactly happens, meaning the error message rather than "it doesn't work". Practise reading other people's code too, because in your first job you'll spend more time understanding existing projects than writing new code. And if English isn't your first language, get good enough to read documentation comfortably, since most materials and error messages are in English.
Learning with AI, the sensible way
In the Stack Overflow Developer Survey 2025, 84% of respondents were using or planning to use AI tools in their development process. Yet more distrusted the tools' accuracy (46%) than trusted it (33%), and the top frustration, named by 66%, was solutions that are almost right but not quite.
To judge whether code is almost right, you need to know what right looks like. A few rules for using AI while still learning:
- Try on your own first. Wrestling with a problem yourself teaches the most.
- Ask for explanations, not finished answers. A hint or an explained error teaches more than a complete solution.
- Don't paste code you don't understand. Be able to explain every line in your own words.
- Verify. Run the code, write a test, look up unfamiliar functions. Models can invent methods that don't exist.
- Practise without an assistant. Some companies test skills in interviews without access to AI.
Get to know tools such as GitHub Copilot, Cursor and Claude. Treat them like an experienced colleague at the next desk: helpful when you're stuck, but they won't learn for you.
How long it really takes
It depends on your real study hours, your starting point and the job market. Studying after work, count in months rather than weeks, and treat "three months to a job" as marketing, not the rule. Instead of guessing, log weekly study hours and check monthly which checkpoints from the table you pass. After a few months you'll see your real pace.
How to prepare for your first job interview
Junior hiring often means a recruiter call, a technical part (questions, a live task or a take-home assignment) and a team conversation. You can prepare for each:
- Talk about your projects. Prepare two minutes on each: what problem it solves, what you decided and why, what you'd do differently today.
- Review the fundamentals.
letversusconst, what happens after you type an address into the browser, HTTP methods, howJOINworks in SQL. - Think out loud. In a live task the path to the solution matters: clarify requirements, name possible approaches, then write code.
- Solve simple algorithmic problems with arrays, strings and dictionaries. At many companies that's enough for a junior, though large tech companies expect more.
- Prepare stories from experience, including outside tech: situation, action, result.
- Ask your own questions, for example about onboarding and who does code reviews.
The Tech Interview Handbook collects free materials, from your CV through algorithmic problems to offer negotiation.
Finding your first job as a junior
- Apply earlier than you feel ready. Nobody feels 100% ready, and interviews are practice in themselves.
- Tailor your CV to the offer. Highlight listed technologies you really know and put projects with links near the top. Tidy up LinkedIn and GitHub too.
- Networking. Meetups, communities, conferences. Many offers never reach job boards, and a referral from a team member opens doors faster than an anonymous application.
- Internships and junior programmes. Smaller companies and software houses tend to be more open to people without commercial experience.
- An indirect route. Testing, technical support or data analysis, especially at your current company, can be a bridge to a development team.
- An application spreadsheet. Company, date, stage, response. After a few weeks you'll see which version of your CV works.
Treat rejections as data, not a verdict: note what was missing and add it to your plan. For the state of the market, use research with a described methodology, such as the work and salary data from the Stack Overflow Developer Survey, not ads promising quick money.
Practising with CodeWorlds
CodeWorlds courses organise learning into themed worlds with exercises you solve in the browser. Four fit the paths above:
| Course | World | Technologies | Modules | Exercises |
|---|---|---|---|---|
| HTML and CSS | Ancient Egypt | HTML5, CSS3, Flexbox, SASS, Grid | 9 | 429 |
| JavaScript and React | Space Mission | JavaScript, React.js, Hooks, Redux, Router | 14 | 612 |
| NestJS | Roman Empire | NestJS, TypeORM, PostgreSQL, JWT, WebSockets, Microservices | 9 | 541 |
| Python | Safari | Python, Data Structures, OOP, Django, Flask | 12 | 450 |
On the frontend, start with HTML and CSS, since the JavaScript and React course assumes HTML, CSS and JavaScript basics. The NestJS course is marked advanced and assumes JavaScript and TypeScript, Node.js basics and SQL. To try one, open introduction to HTML, first React component, first REST API or introduction to Python. The roadmap shows the order of topics, and one-hour live mentoring sessions let you ask questions and practise.
FAQ
Do I need a computer science degree to become a developer?
No. Many companies value skills and a portfolio over a diploma, and plenty of people enter tech through self-study or courses. A degree helps at some companies and in some roles, but isn't a requirement. Check the listings that interest you: is a degree required or just nice to have?
Which programming language should I start with?
JavaScript if frontend and the web appeal to you, or Python, versatile and beginner-friendly, especially for data. The key is to pick one and learn it well. A second language comes much faster later.
Is it worth switching careers at 30+?
Yes. Age is no barrier, and prior experience (communication, work organisation, industry knowledge) often works in your favour. Someone who knows logistics or accounting from the inside better understands users of that industry's software.
Is a free course enough?
To start with, yes: documentation such as MDN and the Pro Git book cover the basics, and later what matters more than a course's price is whether you build your own projects. At CodeWorlds the free plan covers the HTML and CSS course in the app with 10 units of fuel per day, and you can read the lessons of the other courses for free on the site, so you can see whether programming suits you before investing more.
How will I know I'm ready for my first job?
When you can build a working app from scratch on your own, publish it and explain every decision in the code. If you "almost" can, apply now: interviews will show you what's still missing.