We’re developers. We love code.
We’re developers. We hate code. “No code is better than no code”.
We have developers. They are a great resource.
We have developers. They are a terrible expense.
Each developer is unique.
Developers are a commodity.
A long time ago, when I was a “programmer/analyst” for a major advertising firm, we ran into a bit of a conflict with someone from account management. I don’t remember the details, but it had something to do with scope changes and ill-defined requirements. And no matter how off the wall their requests were, how self-contradictory, how internally inconsistent, we had to go with them. It was disturbing and would sometimes get a little heated.
Finally a senior executive — silver-haired and well-suited as you might reasonably imagine in those immediately post-Mad Men days — took me aside, saying, “One thing you have to remember: They are a profit center. You are a cost center. The sooner you incorporate that into your being, the less discomfort you’ll feel.”
Whether you call us programmers or software engineers or developers, we’re a pretty fortunate bunch. With the exception of just a couple of downturns over the last number of decades, we’ve been generally in demand. We’ve been generally pretty well-compensated. And, perhaps because of that last item, there’s always been an attempt to commoditize us. Whether it’s the not-so-virtuous cycle of technology adoption (“we’ll use X because there are a lot of software engineers that know X so a lot of people learn X because it’s popular and some of them shouldn’t be writing code at all so the quality of those who write X goes down so…”) or off-shoring or whatever there’s a desire to make things at least predictable but mostly, well, cheaper.
And that’s a shame. Admittedly looking from the inside, developers can often have a rather broad view of a company and deep concerns for its success. And we tend to be a reasonably clever bunch as well. We do, in general, blanch at the way much of business is done, with its reliance on hierarchy and on deeply abstracted metrics (often preferring, it seems, the state of the chosen metrics over the reality of the situation) but tend not to limit our view of things to the associated bits-and-bytes we push around.
This is not to say, for a moment, that we don’t enjoy the pure delight of techie nerd-wrestling; finding a more efficient way to move data or a more effective algorithm to find a small bit of truth is always a delight. But we care about the bottom line. We have a true understanding that if the organization does not have success neither do we.
But finding the sweet spot is a non-trivial exercise. Engineers need to be engaged and involved as well as being left alone to do their jobs. They need to be appreciated as humans contributing as well as being appreciated as a resource. And they need to be respected as people who are often dealing with the unknown. Developers spend a good deal of their time finding needles in haystacks, discovering ways to model a not-completely-consistently-defined reality.
Given what we cost, finding that sweet spot is well worth it.