Learn one language properly, then Git, the command line, how the web works and basic SQL, and build small things with them from week one. AI tools change how you write code, not what you need to understand. Pick a direction only after the foundations feel boring.
What people tell me
I want to become a software engineer, but every list I find online starts somewhere different. Some say DSA first, some say web development, some say learn AI because everything else will be automated. I have a few hours a day and I do not want to waste months on the wrong thing. I just want to know what to learn first, in what order, and how I will know when I am ready to move on.
A composite of the messages behind this question, with personal details left out.
Key takeaways
- Start with one language and stay with it for at least three months.
- Learn Git, the terminal, HTTP and SQL early: every job uses them.
- Build something small every week; watching is not learning.
- Use AI to explain and review, not to write code you cannot read.
- Choose a direction such as web, mobile or data once the basics feel routine.
The short version
The first thing to learn is not a framework or a trend. It is how to make a computer do what you want, in one language, well enough that you can build small things without a tutorial open. Everything else sits on top of that.
People ask this question because the internet gives them twenty starting points at once. Most of them are fine. The problem is not picking a bad one, it is switching between them every two weeks.
The order I would follow
| Step | What to learn | Rough time at 10 to 12 hours a week | You are done when |
|---|---|---|---|
| 1 | One language: Python or JavaScript | 8 to 12 weeks | You can write a small program from a blank file |
| 2 | Git and the command line | 1 to 2 weeks, then daily use | You commit, branch and push without searching |
| 3 | How the web works: HTTP, requests, JSON | 2 weeks | You can explain what happens when you open a page |
| 4 | SQL and one database | 3 to 4 weeks | You can design two related tables and query them |
| 5 | Basic data structures and problem solving | Ongoing, 3 sessions a week | You recognise common patterns in easy problems |
| 6 | One direction: web, mobile, data or backend | 3 to 6 months | You have one deployed project in it |
This is not the only valid order, but it works because each step gives you something to build with. After step 1 you can write scripts. After step 4 you can build a small app that stores data. That feeling of making something real is what keeps people going.
Which language
If you have no strong reason, pick Python or JavaScript. Python reads cleanly and is used in data, AI and backend work. JavaScript runs in the browser and is the most direct route to building things people can see. I have written more about that choice in Should I learn Python or JavaScript first?. The honest answer is that the second language takes a fraction of the time the first one did, so the choice matters less than it feels.
The programming roadmap walks through the language stage in order, with checks at each step, and the programming cheat sheet is a quick reference for the concepts you will meet.
What about AI?
AI coding tools are part of the job now, and you should use them. But they change how fast you write code, not whether you need to understand it. If you cannot read what an assistant produced, you cannot tell when it is wrong, and it is wrong often enough to matter.
While you are learning the basics, use AI to explain errors, compare two approaches or review code you wrote yourself. Avoid asking it to write whole features for you. You will learn AI engineering properly later, and it will make far more sense once you understand what the code underneath is doing.
What about DSA?
Data structures and algorithms matter, both for thinking clearly and for the coding rounds many companies still run. But starting with hard problems before you can build anything is how many beginners burn out. Begin light: two or three easy problems a week once you are comfortable with loops, lists and functions, then grow it. The DSA roadmap is built to start from that point.
Free places to learn
- CS50: Introduction to Computer Science for a strong, broad start.
- The Odin Project or Full Stack Open if you already know you want web development.
- The Missing Semester of Your CS Education for the terminal, Git and tools nobody teaches properly.
Pick one main course. Two courses on the same topic at the same time usually means finishing neither.
How to know you are ready to move on
Move to the next step when the current one feels slightly boring, not when it feels perfect. Boring means the basics are automatic. Perfect never arrives, and waiting for it is how people spend a year on the first stage.
If you are still stuck
Read Which programming language should I learn first? and Where do I begin when there is too much to learn?. If you want a plan built around your own hours and goals, join Sefism and, as a member, book a 1:1 session.
Was this answer helpful?
Read next
- How to Start Your Career as a Software EngineerHow to start a career in software engineering in 2026: pick one language, build past the tutorial, learn five fundamentals, get real feedback and apply earlier than you feel ready. With a twelve month plan and an honest market read.
- The Defaults I Would Learn First as a Software EngineerFourteen software engineering best practices written as defaults: prototype vague requirements, choose boring tools, wait for the third duplicate, write the failing test first, measure before optimising, ask after an hour.
- The Fundamentals Worth Learning as a Software EngineerThe software engineering fundamentals that outlast every framework: how code runs, data structures, complexity, databases, networking, concurrency, Git, testing, reading code and writing, with how deep to go and where to learn each.
Your situation is not quite this one?
Members get written answers to their own questions, a roadmap built for them and feedback on their projects. Early access is open: sign up and your account is active shortly after. Prefer to talk? A free call works too.