Being a Developer Isn't Just Writing Code
Your real value isn't in the code you write — it's in understanding what the code is for. Why understanding the business is the threshold for senior-level work, and how to build that muscle.
If you want to stay in software professionally for a long time, there's one thing you have to learn early: the company isn't paying you by lines of code. It's paying you to solve a business problem. That sentence sounds obvious, but look at the market and you'll see plenty of developers who spend most of their careers optimizing for "lines shipped."
The threshold from junior to senior, and from senior to staff, isn't code quality — it's understanding why the code exists in the first place.
The "just tell me what to build" trap
The easiest path as a developer is this: PM opens a ticket, you build it, you test it, you ship it, you move to the next ticket. It feels like you're doing nothing wrong, because technically you're producing correct work.
Here's the problem: in that flow, the probability that you're building the wrong feature correctly is absurdly high. By the time the ticket reaches you there have been 3–4 layers of lossy translation. Users say "I want A", product team interprets "let's model B as A", and you get a ticket saying "put C under B." You build C beautifully. The user still wants A.
Breaking out of this means rising above the ticket. Ask "why?" Ask "who uses this?" Ask "how will we measure success?"
What does "understanding the business" really mean?
Nobody's asking you to get an MBA. This much is enough:
- How does the company make money? Which channel, which customer, which metric.
- How does your team contribute to that? Is latency what matters, or conversion, or retention?
- Who are the users? Personas, common workflows, pain points.
- What are competitors doing? "Why is ours so complex?" often has its answer here.
The way to learn all this is obvious: talk to the product team, open the analytics dashboard, sit in on customer support, use competing products. Invest two months in that kind of context and your engineering decisions change shape.
A real example
Years ago on a gaming platform we had a ticket shaped like "optimize matchmaking." Technically correct work: reduce queue hold times, make the pipeline async, lower latency.
One afternoon I opened the analytics. The problem wasn't latency — it was match quality. Players were complaining about "fast but bad" matchups. The right move wasn't to lower latency; it was to slightly raise it and spend the extra time on better matching.
I made a call that deviated from the ticket and fixed that instead. Customer satisfaction went up, player lifetime extended, revenue followed. I never got to write "optimized latency" in my performance review — but it was the right work, and nobody complained.
How to grow this muscle
Three practical habits:
- Find a metric for every feature. If there's no data, set a temporary one up. Code that isn't measurable isn't well-written — it's just written.
- Ask real questions of product. Not "why are we building this?" (that can land rudely) — "what will we measure for this?" Same answer, better tone.
- Attend company demos. You'll feel the CEO presentation isn't for you. It very much is. When you hear the strategy, you'll retroactively understand why your last refactor was wrong-ended.
Takeaway
Writing code is the easiest part of this job, and the AI era makes it even easier. The differentiator is understanding why the code needs to exist. This conversation feels strange to most juniors but, in three to five years, it's what pulls you out of the crowd.
Senior engineers don't have the title because they're sharper. They have it because they speak two languages at once: code and business. Being fluent in both is always in demand.
Long-form notes on distributed systems, production stability, AI-assisted shipping. No spam, easy to unsubscribe.
Comments
No comments yet. Be the first.