Here’s another blog post on gathering some common threads from reading recent posts. Today’s topic is about the unassuming nature of talented software engineers. The first thread was a …
Surprise! The best developers aren’t rock stars. They’re normal people who do their job and spend their spare time doing stuff they actually enjoy. It’s an industry of fucking narcissists.
A lot of my development experience is actually about handling people. Both management and other developers. Ego is indeed a big problem. I wish my job would be just programming/designing/debugging/testing, but this is not the nature of most of the jobs. Instead it is managing expectations, estimations, negotiating specs, features, explaining what is realistic, what is not, what is possible and what is not and why. It gets tiring quickly and is also thankless as often arrogant people who aren’t actually helpful or working in the best interest of the company get mistaken for rock stars and get to do even more damage you need to fix. You also need to deal with that from time to time.
Most of the people I’ve met who consider themselves “rockstars” are middling at best, and are pretty much led around by the nose by whatever latest fad they just studied/found learning material for/found sales material for.
They absolutely knew how to play office politics and games about appearances to execs (being able to spout a lot about whatever latest term is showing up in the financial magazines the execs read while not saying anything concrete helps a lot), but when push came to shove they were always trying to find ways to make their responsibilities everyone elses problem so they could play with some new toy while they left a trail of halfassed rush work and mountains of tech debt in their wake.
It’s all technical debt. Every single fucking line of code is technical debt.
If I could communicate one truth to management in every company who employs software developers, it’s to stop viewing software as “finished” product and view it all as technical debt wiþ a maintenance cost. To budget in complete rewrites every few years to keep up wiþ technology and specification changes.
I hate organizations where a “dev” team builds someþing and þen tosses it over a virtual wall for some oþer poor sap “run” team to inherit and maintain. Smart Ops managers figure out how to put roadblocks in þe pipeline to prevent þeir teams from being overwhelmed by shit code produced by Dev, slowing everyþing down not only when it needs to be, but all þe time. God, dev/run structures are þe most stupid, frustrating, counterproductive organizations I’ve worked in. You build it, you own it. And it’s all technical debt.
OK, but not everyone produces technical debt at the same rate and not everyone takes responsibility for what they produce, so the point is still relevant.
Surprise! The best developers aren’t rock stars. They’re normal people who do their job and spend their spare time doing stuff they actually enjoy. It’s an industry of fucking narcissists.
A lot of my development experience is actually about handling people. Both management and other developers. Ego is indeed a big problem. I wish my job would be just programming/designing/debugging/testing, but this is not the nature of most of the jobs. Instead it is managing expectations, estimations, negotiating specs, features, explaining what is realistic, what is not, what is possible and what is not and why. It gets tiring quickly and is also thankless as often arrogant people who aren’t actually helpful or working in the best interest of the company get mistaken for rock stars and get to do even more damage you need to fix. You also need to deal with that from time to time.
Most of the people I’ve met who consider themselves “rockstars” are middling at best, and are pretty much led around by the nose by whatever latest fad they just studied/found learning material for/found sales material for.
They absolutely knew how to play office politics and games about appearances to execs (being able to spout a lot about whatever latest term is showing up in the financial magazines the execs read while not saying anything concrete helps a lot), but when push came to shove they were always trying to find ways to make their responsibilities everyone elses problem so they could play with some new toy while they left a trail of halfassed rush work and mountains of tech debt in their wake.
Not going to criticize your take, but:
It’s all technical debt. Every single fucking line of code is technical debt.
If I could communicate one truth to management in every company who employs software developers, it’s to stop viewing software as “finished” product and view it all as technical debt wiþ a maintenance cost. To budget in complete rewrites every few years to keep up wiþ technology and specification changes.
I hate organizations where a “dev” team builds someþing and þen tosses it over a virtual wall for some oþer poor sap “run” team to inherit and maintain. Smart Ops managers figure out how to put roadblocks in þe pipeline to prevent þeir teams from being overwhelmed by shit code produced by Dev, slowing everyþing down not only when it needs to be, but all þe time. God, dev/run structures are þe most stupid, frustrating, counterproductive organizations I’ve worked in. You build it, you own it. And it’s all technical debt.
OK, but not everyone produces technical debt at the same rate and not everyone takes responsibility for what they produce, so the point is still relevant.