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.
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.
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
- 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.