Swizec Teller - a geek with a hatswizec.com

Senior Mindset Book

Get promoted, earn a bigger salary, work for top companies

Senior Engineer Mindset cover
Learn more

    The backend iceberg

    There is a depth to software that you don't appreciate until it stares you in the face. We focus on our tiny little part and see a vast sea of complexity, but in the grand scheme of things ...

    The backend iceberg
    The backend iceberg

    We're like the PhD student laboring at the edge of knowledge. Our world looks like this:

    Your area of expertise
    Your area of expertise

    Red is your focus. The world of frontend or backend or JavaScript or React or whatever it is that you do. The bump is your contribution. New knowledge you created. Wow ๐Ÿคฉ

    Here's what everyone else sees:

    Your area of expertise in context
    Your area of expertise in context

    My thing is hard

    I see this a lot when talking with engineers of all sorts. We think our thing is hard and complex and full of nuance, but that other thing? Oh that's easy, you just ...

    You understand the broad strokes and think "How hard can it be?". It's just a bit of HTML and JavaScript right? Or it's just a few Docker containers, just a few 1's and 0's, just a network call or two, just API calls glued together, just a few database tables, just a CRUD app, just some rectangles on a screen, just a ...

    This is the illusion of explanatory depth. You don't understand the problem until you try to solve it. At least explain in great detail. Step by step. With no handwavey motions.

    Those times when you want to say "And then you just ...", that's your clue that you've reached the limit of your understanding. A rhetorical trick that makes you look smart at the pub, but flops in an interview.

    A good interviewer will follow that up with an "Okay, but how do you do that? What do I do first?". At this point it's paramount that you say "I don't know", if you don't.

    The backend iceberg

    Why am I telling you this? Because I've had a picture in my head for a while.

    The backend iceberg
    The backend iceberg

    The backend iceberg comes to mind when people say NextJS and friends are full-stack frameworks. Just because it runs on the server, doesn't make it backend.

    And it comes to mind when someone goes "Wait what?" after I mention that our React app has about 30,000 lines of code. But it's powered by about 1,000,000 lines of backend code.

    A lot happens in the backend.

    NextJS et al can make a decent Backend for Frontend โ€“ย focused on finding data for the UI of a specific app. Not quite "full-stack", if you ask me.

    Here's what the full backend needs to do:

    • serve static files
    • store static files
    • serve data
    • store data
    • maintain data consistency
    • enable business analytics
    • enable longitudinal data insights
    • user metrics
    • product metrics
    • insights for engineers (logs)
    • run asynchronous processes
    • run periodic tasks
    • retry policies for failures
    • ingest data from external systems
    • send data to external systems
    • reconcile data between systems
    • authentication
    • authorization
    • keep itself running
    • alert when there's a problem
    • keep your domain model
    • evolve your domain model
    • work with clients across versions
    • work with users across versions
    • assign/maintain feature flags

    It takes an ecosystem my friend.

    Cheers,
    ~Swizec

    PS: I'm probably forgetting a bunch of things, hit reply

    PPS: that's not how icebergs float, I know

    Published on February 14th, 2023 in Uncategorized

    Did you enjoy this article?

    Continue reading about The backend iceberg

    Semantically similar articles hand-picked by GPT-4

    Senior Mindset Book

    Get promoted, earn a bigger salary, work for top companies

    Learn more

    Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.

    Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.

    Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help ๐Ÿ‘‰ swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.

    Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers ๐Ÿ‘‰ ServerlessHandbook.dev

    Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization

    Want to get my best emails on JavaScript, React, Serverless, Fullstack Web, or Indie Hacking? Check out swizec.com/collections

    Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog

    Want to brush up on your modern JavaScript syntax? Check out my interactive cheatsheet: es6cheatsheet.com

    By the way, just in case no one has told you it yet today: I love and appreciate you for who you are โค๏ธ

    Created by Swizec with โค๏ธ