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. Why?
- Unix-based OS makes it ideal for running dev tools and commands natively
- Industry standard with many dev tools optimized for Mac first
- Powerful built-in 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 literally 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):
- Apple MacBook Air 15-inch (2024) M3 512GB Storage 16GB Memory Midnight
- Monthly rolling: £76.49/mo
- 12-month lease: £60.49/mo
- Apple MacBook Pro 14-inch (2024) M4 Processor - 512GB Storage 16GB Memory Silver
- Monthly rolling: £81.95/mo
- 12-month lease: £64.99/mo
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
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 pnpm (faster package manager):
- Verify pnpm:
Cursor Setup
Cursor is our recommended code editor - it combines powerful features with AI capabilities.
Download and install it 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:
- DeepSeek - Free, fast responses, great at coding tasks and debugging
- Perplexity - (Google Search Alternative) Cites sources, real-time info, perfect for research and staying updated
- Gemini - Handles massive context (2M tokens), ideal for analysing large codebases
-
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:
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