Technical debt is the number one cause of developer frustration. Working with imperfect systems demoralizes programmers, making it difficult to do quality work.
I’d wager not being given time to tackle technical debt is indeed frustating…
The secret is just to do it anyway. I have yet to work in a job where anyone actively stopped me fixing technical debt, even if they never asked me to do it.
Yeah, that’s probably more the issue. We’ve seen too many times throwaway code become production code because “it works already, we need to move forward”.
My boss legit says that he will give me some time to work on it every 2-3 months and then drops a “customer requires X feature and I promised that we will deliver in one week”. And mind you we have to patch up to 3 major versions in the past to back port the new feature because client haven’t upgraded and won’t in near future… which means sometimes our major releases are 60-70% same as our minor patches for old versions. Semvering much?
I don’t care what your fancy RAMrod doohickeys say Johnson! We need that system up tomorrow so we can reach our quarterly earning projections for the shareholder’s meeting!
I feel burnt out on professional development, but at least for me tech debt is not the issue. Everything is imperfect after a while, because requirements change all the time and overall it’s not me accruing the debt. That’s why I don’t care.
It’s hilarious when the identified problems come back around to bite the organization, when the priorities have been to work on poorly specc’d features instead.
Seen a lot of that too. Execs who thinks all the devs are idiots and would be lost without their genius guidance, phoned in from a luxury remote location while all of us have to return to the office full time. Then stuff fails and we “pivot” to the next badly thought out fiasco. I guess it pays the bills.
I keep seeing a pattern of sre/devops/sysadmin tasks being given back to developers and canning the SREs. Hard to understand why. Then some of the SWE get stuck basically focussing on infra SRE stuff and become unwilling SRE more or less. Circle of life? Do the old devops folks get made into glue or something?
Yeah. A “DevOps” is just a “sysadmin” who can pretend they don’t hate all developers for stretches of 20 minutes at a time. (I’m kidding. I know our SysAdmins love us… In their own secret ways.)
Well, I imagine theres a continuum of experiences and definition differences across the industry. Similar to how “product manager” is different at each place. What I saw back in the early 2000s or so was that the SRE and the word “engineer” in general used to be handed out sparingly. An “SRE” was a sysad/devops who had the ability to commit code to fix a product instead of just opening a bug and waking an engineer. An “engineer” committed compiled code, not short scripts. But then eveyone and their cousin became “sre” whether they deserved it or not, and everyone got an “engineer” title. I’ve seen manual QA folks who were unironically called “engineers”. QA is dead now and QE is barely hanging on, and SRE seems to be dying too. Not sure whats next, maybe just overpriced cloud gui tools and thats the end of it. And SRE can go be high school comp sci teachers. And SWE can wake up and fix their own bugs and hate their lives.
i interpreted the “trend” correctly, “devops” was bastardized away from its original meaning to now mean “sysadmin”, at least in most cases.
I don’t think I agree. The role of a sysadmin involved a lot of hand-holding and wrangling low-level details required to keep servers running. DevOps are something completely different. They handle specific infrastructure such as pipelines and deployment scripts, and are in the business of not getting in the way of developers.
“Devops” original intent meant you don’t have a separate “operations” department separate from teams “developing” your product / software due to competing incentives. “Dev” wants to push new stuff out faster; “ops” wants to keep things stable. Or “dev” needs more resources; but “ops” blocks or doesn’t scale the same. The idea was to combine both “dev” and “ops” people onto projects to balance these incentives.
Then managers and cloud clowns repurposed it to apply to every person in a project so now every member is expected to perform both roles (badly). Or even more overloaded to somehow refer to “developer infrastructure” teams.
I’d wager not being given time to tackle technical debt is indeed frustating…
The secret is just to do it anyway. I have yet to work in a job where anyone actively stopped me fixing technical debt, even if they never asked me to do it.
Depends on the work load. The company should make time for that and you should get paid for it.
Use overestimation padding, eh?
Yeah, that’s probably more the issue. We’ve seen too many times throwaway code become production code because “it works already, we need to move forward”.
My boss legit says that he will give me some time to work on it every 2-3 months and then drops a “customer requires X feature and I promised that we will deliver in one week”. And mind you we have to patch up to 3 major versions in the past to back port the new feature because client haven’t upgraded and won’t in near future… which means sometimes our major releases are 60-70% same as our minor patches for old versions. Semvering much?
It is. Source: We’ve had the same issues for years, but never get any time allotted to fix them.
I don’t care what your fancy RAMrod doohickeys say Johnson! We need that system up tomorrow so we can reach our quarterly earning projections for the shareholder’s meeting!
I feel burnt out on professional development, but at least for me tech debt is not the issue. Everything is imperfect after a while, because requirements change all the time and overall it’s not me accruing the debt. That’s why I don’t care.
It’s hilarious when the identified problems come back around to bite the organization, when the priorities have been to work on poorly specc’d features instead.
But then it is the developers fault, never management
Seen a lot of that too. Execs who thinks all the devs are idiots and would be lost without their genius guidance, phoned in from a luxury remote location while all of us have to return to the office full time. Then stuff fails and we “pivot” to the next badly thought out fiasco. I guess it pays the bills.
I keep seeing a pattern of sre/devops/sysadmin tasks being given back to developers and canning the SREs. Hard to understand why. Then some of the SWE get stuck basically focussing on infra SRE stuff and become unwilling SRE more or less. Circle of life? Do the old devops folks get made into glue or something?
If i interpreted the “trend” correctly, “devops” was bastardized away from its original meaning to now mean “sysadmin”, at least in most cases.
Yeah. A “DevOps” is just a “sysadmin” who can pretend they don’t hate all developers for stretches of 20 minutes at a time. (I’m kidding. I know our SysAdmins love us… In their own secret ways.)
Well, I imagine theres a continuum of experiences and definition differences across the industry. Similar to how “product manager” is different at each place. What I saw back in the early 2000s or so was that the SRE and the word “engineer” in general used to be handed out sparingly. An “SRE” was a sysad/devops who had the ability to commit code to fix a product instead of just opening a bug and waking an engineer. An “engineer” committed compiled code, not short scripts. But then eveyone and their cousin became “sre” whether they deserved it or not, and everyone got an “engineer” title. I’ve seen manual QA folks who were unironically called “engineers”. QA is dead now and QE is barely hanging on, and SRE seems to be dying too. Not sure whats next, maybe just overpriced cloud gui tools and thats the end of it. And SRE can go be high school comp sci teachers. And SWE can wake up and fix their own bugs and hate their lives.
Devops is going the way of qa too.
I don’t think I agree. The role of a sysadmin involved a lot of hand-holding and wrangling low-level details required to keep servers running. DevOps are something completely different. They handle specific infrastructure such as pipelines and deployment scripts, and are in the business of not getting in the way of developers.
“Devops” original intent meant you don’t have a separate “operations” department separate from teams “developing” your product / software due to competing incentives. “Dev” wants to push new stuff out faster; “ops” wants to keep things stable. Or “dev” needs more resources; but “ops” blocks or doesn’t scale the same. The idea was to combine both “dev” and “ops” people onto projects to balance these incentives.
Then managers and cloud clowns repurposed it to apply to every person in a project so now every member is expected to perform both roles (badly). Or even more overloaded to somehow refer to “developer infrastructure” teams.