Essential hardware, development environment setup, and mindset requirements to begin your software engineering journey
Last Updated: 22nd June 2025
Before diving into the roadmap, let’s cover the three essential prerequisites:
We heavily recommend using a macbook for development (M1 chip or newer). Why?
Many big tech companies will give you a fresh Macbook to use for work, because they know developers are most productive on them.
Don’t worry. For now, you don’t need to buy one. You can rent instead.
Check out Raylo for high-spec budget-friendly refurbished macbooks.
These are the options we personally recommend (in order of cost):
Let’s say you choose the Apple MacBook Air 13-inch (2025) M4 chip and you choose the 12-month lease to commit to the full 12-month roadmap.
You’ll be charged £42.49/mo for 12 months.
Even if you decide to cancel during the 12-month lease, you’ll only be charged 12 times your monthly payment (£42.49 x 12 = £509.88) minus any payments you’ve already made. So if you cancel after 6 months, you’d owe £254.94 (£509.88 - £254.94).
But at just £42.49/month, this is an incredible deal on a high-end machine, that will enable you to learn a high-income skill to massively accelerate your learning and productivity. And remember - most tech companies will give you a free Macbook during your tenure (when you land a job), so this is just a temporary investment in your future.
If you need any help setting up your development environment below, book an onboarding call with me and I’ll help you get everything set up —> https://cal.com/obaid/laptop-onboarding
TODO: Ansible script to setup their machine and download all the relevant apps
TODO: Add screen recording going through all the main apps and tools
Terminal Setup
The terminal is a software engineer’s way to interact with their computer. You’ll be using it a lot.
Install Warp to get a better terminal experience than the default MacOS Terminal.
Homebrew + Node.js Setup
Install Homebrew:
Homebrew is a package manager for MacOS. It’s a way to install and manage software on your computer.
Install Homebrew:
Install Node.js:
Node.js is required for modern web development. It lets you run JavaScript outside of a web browser.
Install Node Version Manager (nvm): Node.js Mac Installation Guide
Verify installation:
Cursor Setup
Cursor is our recommended code editor - it combines powerful features with AI capabilities.
Download and install it here
Good news! Cursor is now free for all verified students. If you’re a student, you can get access here.
The fastest way to get all the recommended settings:
This will give you my exact profile including all shortcuts, extensions, and settings.
Essential shortcuts you’ll be using (Mac-specific):
Cmd + P
: Quick Open (search for files)Cmd + Shift + P
: Command Palette (access all commands)Cmd + Shift + F
: Global search across the codebaseCtrl + backtick
: Toggle terminalOption + Up/Down Arrow
: Expand text selectionCmd + Option + Left/Right Arrow
: Navigate back/forth between cursor positionsCmd + /
: Comment/Uncomment codeCmd + B
: Open left sidebar file treeCmd + L
: Open Cursor AI Chat interfaceCmd + I
: Open Cursor AI Composer interfaceCmd + K
: Generate/edit code or terminal commandsWatch this tutorial to get familiar with the most important features and how to use this editor.
Paste this into Cursor’s system prompt settings:
Essential Tools
Create accounts for the following tools (if you don’t already have them):
AI Assistants:
Diagramming Tools:
Browser:
Mac-Specific Tools:
If you need any help setting up your development environment above, book an onboarding call with me and I’ll help you get everything set up —> https://cal.com/obaid/laptop-onboarding
The Prophet ﷺ said: “The most beloved of deeds to Allah are those that are most consistent, even if they are small.” [Bukhari & Muslim]
This roadmap requires: • 2-4 hours of focused study daily (5 pomodoro sessions: 50min work, 10min break) • Highly motivated? Can do 4-6 hours, but consistency > intensity • Steady 2 hours daily > sporadic 8-hour cramming sessions
Remember: “We overestimate what we can achieve in a day, but underestimate what we can accomplish in a year.”
If you stick to this roadmap, you’ll be unrecognizable in 6 months.
Need help with time management, focus, or any other aspect of self-improvement? Check out our comprehensive Self-Improvement Guide for practical tips and Islamic guidance on everything from managing screen time to maintaining work-life balance.
Now that you’re set up, let’s begin your journey to becoming a Software Engineer