Swizec Teller - a geek with a hatswizec.com

    Are You an Engineer or a Developer?

    Did you know software engineers make $13,000 per year more than software developers on average?1 It’s even more than that (a $22,000 difference) in California.

    Same job, right? You build software. Get some specs, build some software, make shit work. But the market clearly believes there’s a difference.

    It took 18 months, but I think I finally understand the difference. There’s a binary question you can answer to see if you’re a software engineer or a software developer.

    Let’s role-play!

    Manager Bob: Our business has a problem. We spend a lot of money on acquiring users, but they drop out of onboarding before their ah-ha moment2. We’ve identified three drop-off points where we lose 50% of our users. Our design and product people came up with a new onboarding flow that aims to fix this problem. It took weeks to design, and we think it’s really good.

    You: Uh-oh.

    Manager Bob: We tried to reuse old components as much as possible, but the overall onboarding experience is completely new. We also changed some business processes to facilitate these improvements and get rid of unnecessary steps. That might have implications beyond onboarding.

    You: Oh yeah, it definitely will. How did you reuse components exactly?

    Manager Bob: We used the same semantics as before and tweaked the design to fit our new flow. That’s not hard to build, is it? To be honest, you’ll just have to figure it out anyway. This needs to happen. We can’t keep wasting ad spend like this.

    You: Right, yeah. No, we can’t.

    Manager Bob: How can we get this out as soon as possible?

    I have yet to meet a coder-at-heart who wouldn’t break a sweat in this situation. My initial reaction is always something like “You want to do what? Holy shit.”

    You get an amorphous blob of a project. What you do next defines you as an engineer or a developer. If you can take the amorphous blob and turn it into:

    • action steps
    • sub-projects
    • a staggered delivery plan (perhaps)
    • opportunities for work in parallel
    • a clear Thing To Do First™
    • a well-defined Thing That Says You’re Done™

    …then you are an engineer. If somebody else has to do that, then you’re a developer.

    Or maybe the difference lies in the size of that amorphous blob you can begin with. ?

    PS: This is what an engineer looks like per Wikipedia. It’s a shame software engineers don’t get slide rules.

    wikipedia commons thumb d d0 Kitty Joyner   Electrical Engineer   GPN 2000 001933 jpg 800px Kitty Joyner   Electrical Engineer   GPN 2000 001933

    1. The hard data I have is from salary distributions of engineers/developers/programmers on H1B visas. Here’s a tweetable recap that links to source. I haven’t been able to find hard data for jobs that don’t involve immigration. ↩︎

    4) In UX, the a-ha moment is the first time a user says “A-ha! That’s how this app makes my life better”. Read Kathy Sierra’s Badass book for more. ↩︎


    Did you enjoy this article?

    Published on September 14th, 2016 in coding, Opinions, Personal, software, Software developer, Software development, Software engineer, Software engineering,

    Learned something new?
    Read more Software Engineering Lessons from Production

    I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.

    Subscribe below 👇

    Software Engineering Lessons from Production

    Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.

    "Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"

    ~ Ashish Kumar

    Join 15,883+ engineers learning lessons from my "raw and honest from the heart" emails.

    4.5 stars average rating

    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

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

    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 ❤️