Pre-requisites
Essential hardware, development environment setup, and mindset requirements to begin your software engineering journey
Before diving into the roadmap, let’s cover the three essential prerequisites:
1. Hardware Requirements
We heavily recommend using a macbook for development (M1 chip or newer). Why?
- Unix-based OS makes it ideal for running dev tools and commands natively
- Industry standard with many dev tools optimized for Mac first
- Built-in linux-based terminal with native Unix commands
- Cross-platform development capabilities (iOS, Android, Windows, Linux)
- Reliable hardware with excellent battery life and display
- Seamless integration with Apple’s developer ecosystem
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):
- Monthly rolling: £54.95/mo
- 12-month lease: £42.49/mo
- Monthly rolling: £53.59/mo
- 12-month lease: £43.49/mo
- Monthly rolling: £83.53/mo
- 12-month lease: £64.99/mo
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
2. Development Environment
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.
Node.js Setup
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:
- Install bun (faster package manager):
- Verify bun:
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.
Quick Setup
The fastest way to get all the recommended settings:
- Install my Complete Profile
- It will automatically ask to open in Cursor. Click “Create”
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 commands
Cursor Tutorial
Watch this tutorial to get familiar with the most important features and how to use this editor.
Configure System Prompt
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:
- Grok or Perplexity - (Free ChatGPT and Google Search Alternatives) Cites sources, real-time info, perfect for research and staying updated
-
Diagramming Tools:
- Excalidraw - Clean, aesthetic diagrams that look hand-drawn
- EraserIO - System Design diagramming
-
Browser:
- Google Chrome - Works fine for most use-cases
- (Optional) Sizzy - Specialised development browser
-
Mac-Specific Tools:
- SuperWhisper - AI-powered voice to text that works in any app. Write 3x faster without lifting a finger. Supports 100+ languages, works offline, and keeps everything private on your device. Perfect for dictating emails, documentation, and code comments.
- Raycast - Better MacOS Spotlight alternative
- Alfred - Better Spotlight alternative (Paid)
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
3. Work Ethic
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.
Start the Roadmap
Now that you’re set up, let’s begin your journey to becoming a Software Engineer