Bellevue, Washington, United States
24K followers 500+ connections

Join to view profile

About

Software engineer at heart. Passionate about how software engineers can learn faster and…

Articles by Fahim

  • Is security testing the real value of vibe coding?

    A software engineer recently wanted to control his $2,000 DJI robot vacuum with a video game controller. Standard…

    2 Comments
  • When OpenClaw vanishes, here's what will remain

    If you’ve been anywhere near Hacker News or AI enthusiasts, you’ve likely seen OpenClaw making the rounds. New…

    2 Comments
  • 7 AI tools devs need (and why)

    I’ve stopped asking candidates if they use AI. That’s like asking a carpenter if they use a nail gun.

    1 Comment
  • AI's Productivity Promise Has a Learning Catch

    For the last two years, AI coding tools have spread through engineering orgs faster than almost any developer platform…

    2 Comments
  • The Actual Role AI is Playing in Layoffs

    From Pinterest to Nike, layoffs are dominating headlines again. And — like clockwork — AI is right there alongside them.

  • Apple’s Gemini Bet and the Value of Tradeoffs

    At first glance, Apple’s decision to rely on Google’s Gemini models for parts of Siri feels wrong in a very specific…

    1 Comment
  • Welcome to Future Stack

    If you had to symbolize the modern developer stack with a single object, what would it be? I’d go with the Swiss Army…

    4 Comments
  • Here's why Meta made cuts – and what software developers can expect next.

    Meta started its performance-based layoffs this week. Affecting 5% of the workforce, Zuckerberg calls this part of…

    1 Comment
  • 3 Month Coding Interview Bootcamp

    The Self-Study Roadmap to Success at Software Engineering Interviews Originally posted here. (Some background: I’ve…

    4 Comments

Activity

Join now to see all activity

Experience & Education

  • Educative, Inc.

View Fahim’s full experience

See their title, tenure and more.

or

By clicking Continue to join or sign in, you agree to LinkedIn’s User Agreement, Privacy Policy, and Cookie Policy.

Publications

  • How I would learn to code (if I could start over)

    Grokking the Tech Career

    Want to learn how to code but don’t know where to start? I recommend learning to think like a coder first.

    See publication
  • My favorite System Design Interview question (and how to answer it)

    Medium: Grokking the Tech Interview

    Any good System Design question should reveal a lot about a candidate’s understanding of architecture and the inner workings of large-scale systems. The question should be complex enough to engage the candidate and allow them to demonstrate their skill for building web-scale services, but not so complicated that the interviewee feels overwhelmed.

    When I interviewed SWE candidates at Facebook and Microsoft, I wasn’t just looking for strong coding skills and soft skills that demonstrated…

    Any good System Design question should reveal a lot about a candidate’s understanding of architecture and the inner workings of large-scale systems. The question should be complex enough to engage the candidate and allow them to demonstrate their skill for building web-scale services, but not so complicated that the interviewee feels overwhelmed.

    When I interviewed SWE candidates at Facebook and Microsoft, I wasn’t just looking for strong coding skills and soft skills that demonstrated alignment with company values. I was also looking for a candidate who could design a software system that met requirements, explain the system’s architecture and tradeoffs, and dive deep into an area of specialization like API design or a recommendation engine.

    See publication
  • Rust made me nervous as a C++ user. Here's what changed.

    Substack: Grokking Tech Career

    Let's talk about what you need to know about Rust today (and why it’s here to stay)

    See publication
  • What the Meta, Stripe, and Lyft layoffs tell us (+ a framework for navigating recession)

    Substack: Engineering Enablement

    When’s the right time to look for another job? You’ll have to consider various factors specific to your context, but I’ll provide a framework to break down all the factors to consider in a recession.

    See publication
  • A framework to navigate recession as a developer

    Engineering Enablement Substack

    When’s the right time to look for another job? You’ll have to consider various factors specific to your context, but I’ll provide a framework to break down all the factors to consider in a recession.

    See publication
  • Why Every Engineering Manager Should Learn System Design

    Engineering Enablement Substack

    The demand for managerial tasks increases, and so does the need to keep technical skills sharp. Here's how to stay up-to-date with System Design.

    See publication
  • Onboarding Through an Engineering Enablement Lens: 3 stages of developer onboarding

    EmHub.io

    Instead of thinking about Developer Onboarding as one gigantic task, splitting it into three distinct stages enables developers to grow faster in productivity and in team impact.

    See publication
  • Fast Database Restarts at Facebook

    Meta Research

    Facebook engineers query multiple databases to monitor and analyze Facebook products and services. The fastest of these databases is Scuba, which achieves subsecond query response time by storing all of its data in memory across hundreds of servers. We are continually improving the code for Scuba and would like to push new software releases at least once a week. However, restarting a Scuba machine clears its memory. Recovering all of its data from disk — about 120 GB per machine — takes 2.5-3…

    Facebook engineers query multiple databases to monitor and analyze Facebook products and services. The fastest of these databases is Scuba, which achieves subsecond query response time by storing all of its data in memory across hundreds of servers. We are continually improving the code for Scuba and would like to push new software releases at least once a week. However, restarting a Scuba machine clears its memory. Recovering all of its data from disk — about 120 GB per machine — takes 2.5-3 hours to read and format the data per machine. Even 10 minutes is a long downtime for the critical applications that rely on Scuba, such as detecting user-facing errors. Restarting only 2% of the servers at a time mitigates the amount of unavailable data, but prolongs the restart duration to about 12 hours, during which users see only partial query results and one engineer needs to monitor the servers carefully. We need a faster, less engineer intensive, solution to enable frequent software upgrades.

    In this paper, we show that using shared memory provides a simple, effective, fast, solution to upgrading servers. Our key observation is that we can decouple the memory lifetime from the process lifetime. When we shutdown a server for a planned upgrade, we know that the memory state is valid (unlike when a server shuts down unexpectedly). We can therefore use shared memory to preserve memory state from the old server process to the new process. Our solution does not increase the server memory footprint and allows recovery at memory speeds, about 2-3 minutes per server. This solution maximizes uptime and availability, which has led to much faster and more frequent rollouts of new features and improvements. Furthermore, this technique can be applied to the in-memory state of any database, even if the memory contains a cache of a much larger disk-resident data set, as in most databases.

    See publication
  • Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency

    Microsoft

    Windows Azure Storage (WAS) is a cloud storage system that provides customers the ability to store seemingly limitless amounts of data for any duration of time. WAS customers have access to their data from anywhere at any time and only pay for what they use and store. In WAS, data is stored durably using
    both local and geographic replication to facilitate disaster recovery. Currently, WAS storage comes in the form of Blobs (files), Tables (structured storage), and Queues (message delivery)…

    Windows Azure Storage (WAS) is a cloud storage system that provides customers the ability to store seemingly limitless amounts of data for any duration of time. WAS customers have access to their data from anywhere at any time and only pay for what they use and store. In WAS, data is stored durably using
    both local and geographic replication to facilitate disaster recovery. Currently, WAS storage comes in the form of Blobs (files), Tables (structured storage), and Queues (message delivery). In this paper, we describe the WAS architecture, global namespace, and data model, as well as its resource provisioning,
    load balancing, and replication systems.

    See publication
  • What does the perfect FAANG coding interview look like?

    Grokking Tech Career

    Let's talk about how to send "hireable signals" to your interviewers — and how to prep for your interview efficiently.

    See publication
Join now to see all publications

Languages

  • Urdu

    Native or bilingual proficiency

  • Punjabi

    Native or bilingual proficiency

More activity by Fahim

View Fahim’s full profile

  • See who you know in common
  • Get introduced
  • Contact Fahim directly
Join to view full profile

Other similar profiles

Explore top content on LinkedIn

Find curated posts and insights for relevant topics all in one place.

View top content

Add new skills with these courses