Software Engineer roadmap: your 90-day plan
A 90-day plan for the two things hiring tests: problem-solving with data structures, and the ability to build and explain a real project.
How each step works
- Learn
- Check yourself
- Find weak areas
- Practise
- Check again
Steps marked BrainRank assessment link to a test or tool on BrainRank. Steps marked Self-check are exercises you do yourself. If a check shows a gap, practise and check again before moving on.
Get fluent in one language and the basics of problem-solving
- Step 1One programming language
Language fundamentals
Goal: Write small programs comfortably in Java, Python, JavaScript or C++.
Practise
- Cover variables, control flow, functions, collections and error handling
- Write ten small programs, such as a word counter or a to-do list in the terminal
- Read and fix one bug in someone else's code
Check yourself
Self-checkBlank-file checkWrite a program that reads a file and counts word frequencies from a blank file, without searching for syntax.
Interview prep: Know your language's core collections and their time complexity.
- Step 2Problem-solving
Arrays, strings and hash maps
Goal: Solve easy problems and explain their time complexity.
Practise
- Solve two easy problems a day on arrays and strings
- Use a hash map to replace a nested loop
- Write the time and space complexity for each solution
Check yourself
Self-checkTimed setSolve three unseen easy problems in 45 minutes. Note which patterns you didn't recognise and practise them.
Interview prep: Practise thinking aloud: clarify, propose, code, test.
- Step 3Git
Version control
Goal: Use branches, commits and pull requests as a team would.
Practise
- Create a repository and commit your practice programs
- Use a feature branch and a pull request for each change
- Resolve a merge conflict on purpose
Check yourself
Self-checkGit checkExplain the difference between merge and rebase, then demonstrate a branch-and-pull-request workflow from memory.
Interview prep: Be ready to describe how your team reviewed and merged code.
Learn core data structures and build an application
- Step 4Data structures
Linked lists, trees and recursion
Goal: Implement and use linked lists, binary trees and recursive solutions.
Practise
- Implement a linked list and a binary search tree from scratch
- Solve tree traversal problems recursively
- Learn sorting and binary search
Check yourself
Self-checkImplement from memoryImplement tree traversals and binary search without notes. Revisit any you can't finish.
Interview prep: Explain recursion with a tree example and its base case.
- Step 5Full-stack basics
Build a web application
Goal: Build a working CRUD app with a database and an API.
Practise
- Design the data model for a small app, such as an expense tracker
- Build REST endpoints for create, read, update and delete
- Add a simple front end and deploy it
Check yourself
Self-checkDemo checkDemo the app to someone. Anything that breaks or confuses them goes on your fix list.
Interview prep: Prepare to explain your data model and API design choices.
- Step 6Aptitude and logical reasoning
The aptitude round
Goal: Clear the online test that many campus and fresher hiring processes start with.
Practise
- Take the aptitude assessment to find your weakest section
- Practise that section in the question bank
- Retake the assessment after two weeks
Check yourself
BrainRank assessmentBrainRank aptitude assessment20 questions in 20 minutes across logic, numbers, language and patterns. Note your weakest section.
StartInterview prep: Service-company drives often filter on this round before any coding.
Polish your project and practise for interviews
- Step 7Testing
Testing and code quality
Goal: Add tests and clean up your project's code.
Practise
- Write unit tests for your app's core logic
- Refactor long functions and improve names
- Write a README with setup steps and screenshots
Check yourself
Self-checkFresh-clone checkClone your repository on a new machine and follow your own README. Fix every step that fails.
Interview prep: Be ready to explain how you tested your project.
- Step 8Problem-solving
Medium-level problems
Goal: Solve common medium-level problems under time pressure.
Practise
- Practise patterns: two pointers, sliding window, BFS/DFS
- Do one timed medium problem a day
- Review solutions you couldn't finish and redo them two days later
Check yourself
Self-checkMock interviewDo a 45-minute mock with a friend: one medium problem, thinking aloud. Note where you got stuck.
Interview prep: Practise explaining trade-offs between two solutions.
- Step 9Interview practice
Interview readiness
Goal: Present your projects clearly with a resume that passes screening.
Practise
- Score your resume and apply the suggestions
- Prepare a two-minute walkthrough of your best project
- Read the interview guides for your target companies
Check yourself
BrainRank assessmentBrainRank resume scoreCheck ATS readiness and keywords, update your resume, then re-score it.
StartInterview prep: Review the software engineer interview topics on the career guide.
Ready to apply for software engineer roles?
Check your resume against applicant tracking systems before you send it.
Keep going
Practice
Interviews
Looking for another role? See all career guides