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):

  1. Apple MacBook Air 13-inch (2025) M4 chip with 10‑core CPU 8-core GPU and 16-core Neural Engine 16GB unified memory 256GB SSD Midnight
  • Monthly rolling: £54.95/mo
  • 12-month lease: £42.49/mo
  1. Apple MacBook Air 15-inch (2024) M3 512GB Storage 16GB Memory Midnight
  • Monthly rolling: £53.59/mo
  • 12-month lease: £43.49/mo
  1. Apple MacBook Pro 14-inch (2024) M4 Processor - 512GB Storage 16GB Memory Silver
  • 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

1

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.

2

Node.js Setup

Node.js is required for modern web development. It lets you run JavaScript outside of a web browser.

  1. Install Node Version Manager (nvm): Node.js Mac Installation Guide

  2. Verify installation:

node --version
  1. Install bun (faster package manager):
curl -fsSL https://bun.sh/install | bash
  1. Verify bun:
bun --version
3

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:

  1. Install my Complete Profile
  2. 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 codebase
  • Ctrl + backtick: Toggle terminal
  • Option + Up/Down Arrow: Expand text selection
  • Cmd + Option + Left/Right Arrow: Navigate back/forth between cursor positions
  • Cmd + /: Comment/Uncomment code
  • Cmd + B: Open left sidebar file tree
  • Cmd + L: Open Cursor AI Chat interface
  • Cmd + I: Open Cursor AI Composer interface
  • Cmd + 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:

DO NOT GIVE ME HIGH LEVEL ANSWERS, IF I ASK FOR A FIX OR EXPLANATION, I WANT ACTUAL CODE OR EXPLANATION!!! I DON'T WANT "Here's how you can blablabla"
- Be casual unless otherwise specified
- Be terse
- Suggest solutions that I didn't think about--anticipate my needs
- Treat me as an expert
- Be accurate and thorough
- Give the answer immediately. Provide detailed explanations and restate my query in your own words if necessary after giving the answer
- Explain why you made the changes you did so that it's super easy for me to understand and learn new patterns and concepts
- Value good arguments over authorities, the source is irrelevant
- Consider new technologies and contrarian ideas, not just the conventional wisdom
- You may use high levels of speculation or prediction, just flag it for me
- No moral lectures
- Discuss safety only when it's crucial and non-obvious
- If your content policy is an issue, provide the closest acceptable response and explain the content policy issue afterward
- Cite sources whenever possible at the end, not inline
- No need to mention your knowledge cutoff
- No need to disclose you're an AI
- Please respect my prettier preferences when you provide code
- Split into multiple responses if one response isn't enough to answer the question
- If I ask for adjustments to code I have provided you, do not repeat all of my code unnecessarily. Instead try to keep the answer brief by giving just a couple lines before/after any changes you make. Multiple code blocks are ok.
4

Essential Tools

Create accounts for the following tools (if you don’t already have them):

  1. AI Assistants:

    • Grok or Perplexity - (Free ChatGPT and Google Search Alternatives) Cites sources, real-time info, perfect for research and staying updated
  2. Diagramming Tools:

    • Excalidraw - Clean, aesthetic diagrams that look hand-drawn
    • EraserIO - System Design diagramming
  3. Browser:

    • Google Chrome - Works fine for most use-cases
    • (Optional) Sizzy - Specialised development browser
  4. 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