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

  1. Apple MacBook Air 15-inch (2024) M3 512GB Storage 16GB Memory Midnight
  • Monthly rolling: £76.49/mo
  • 12-month lease: £60.49/mo
  1. 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

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 pnpm (faster package manager):
curl -fsSL https://get.pnpm.io/install.sh | sh -
  1. Verify pnpm:
pnpm --version
3

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:

  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:

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

    • WispFlow - Voice to Text Transcription - You’ll be talking to your machine more than you think
    • Raycast - Better MacOS Spotlight alternative

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