Hey Greg,
This whole email resonated, it's software garbage piled on top of garbage on top of garbage for decades, yet somehow it runs the world. šŸ˜‚ These bits definitely hit all the way home though:

 * /I develop and test something with great care, then deploy it and it
   crashes. This is part of the general ā€œit works on my machineā€ disease.
   /
 * /I can stop successful work on Friday night, then resume on Monday
   morning and everything utterly fails./

It works on my machine so often that we just follow the old joke and package up and ship the whole machine now (docker, k8s). I've also lost count of the times everything is compiling then suddenly a mysterious version mismatch error a few hours later requiring the .vs folder or nuget cache blown away, astounding. AI will surely save us. /s šŸ˜‰

Enjoy the garden, the list won't be the same!

cheers,
Tony


On 7/10/2024 11:07, Greg Keogh via ozdotnet wrote:
Hello everyone, it's not Friday, but I have an announcement and tale that might interest you.

I’m easing into retirement.

Companies I’ve been working for are being sold, retired or are no longer developing new software. Running out of legacy work would drive a regular dev to seek new work, but in my case, I declined to create a LinkedIn page, or send out feelers through contacts for new work, because… I’m burnt out.

Why?

I learned to code in 1975 and became an official programmer in 1981. I wrote FORTRAN, ALGOL, COBOL, assemblers and various JCLs and scripting languages on Honeywell, FACOM and IBM mainframes. Things were simpler back then of course because you moved inside the ecosystem of a particular manufacturer and had high-level support and voluminous and accurate documentation. If you wanted to solve a problem or do something edgy, then an answer was nearby. It was a different simpler world, but … everything worked.

Now, well into the 21st century of IT, everything doesn’t work. My wife often hears me shout from the other end of the house ā€œEverything f***ing doesn’t workā€. I also only semi-jokingly say I’ll have these words carved into my gravestone: ā€œEverything f***ing doesn’t work all the f***ing timeā€.

Overall, what has burnt me out is /complexity /and /instability/. I’ll break those topics down a bit.

Everything in modern IT is *complicated *and *fragile*. Every new toolkit, platform, pattern, library, package, upgrade, etc is unlikely to install and work first time. I seem to spend more time getting things working and updated than I do actually writing software. In a typical working month I might have to juggle Windows, Linux, Android, iOS, macOS, Google, Amazon, Azure, .NET, Python, PowerShell and C++, and they all have different styles and cultures. Software engineering has fractured into so many overlapping pieces that I’m tired of trying to maintain competence in them all.

That leads naturally to the problem of *dependencies*. Just having so many moving parts with so many different versions available produces dependencies more complex than abstract algebra. How many times have you hit some kind of compile or runtime version conflict and spent hours trying to dig your way out of it? (A special salute to Mr Newtonsoft there!) Or you install A, but it needs B, which needs C, and so on.

I often hit incomprehensible blocker *problems *for which web searches produce absurd and conflicting suggestions which don’t work anyway. All I can do is futz around and change things randomly until things work again. I don’t know what went wrong and I don’t know what went right.

*The Web* -- Browsers, HTML, CSS, JavaScript, the HTTP protocol, JSON and REST can all burn for eternity in fusing hellfire. About ten years ago I told my customers I refused to write any more web UI apps. However, I was forced to do so a few times and I’m still scarred by the horror. It’s just over 30 years since the web became public and we’re still attempting to render serious business apps using dumb HTML. HTML5 is the joke of the century (so far). I still lament the loss of Silverlight.

*Git *-- Someone is lucky I don’t own a gun.

*Fads *-- An exercise for the reader: name all the platforms, kits, patterns and frameworks that you know were once the coolest thing and now might only be found in history articles. An advanced exercise is to speculate on which currently cool things will be gone soon.

Finally, here is a list of typical things that give me the shits, just as they pop out of my head.

  * Attempting to compile projects that have been idle for a year or
    more will usually fail due to changed dependencies or deprecations
    and it can take hours to get them going again.
  * I develop and test something with great care, then deploy it and
    it crashes. This is part of the general ā€œit works on my machineā€
    disease.
  * I can stop successful work on Friday night, then resume on Monday
    morning and everything utterly fails.
  * My USB microscope and music recording both stopped working
    recently, and it took me a week to discover that it was a block by
    Windows 11 app security (I thought it was a hardware or
    incompatibility problem due to lack of clearĀ error messages).
  * Security! Walls, barriers and hurdles of security everywhere to
    crash through. Yes, I know we need security everywhere to stop the
    black hats, but it’s also stopping developers. Lord knows how many
    times I’ve hit run or debug on my own PC and I get ā€œAccess deniedā€
    and hours of research will be required. I’m also fed-up with
    ceaseless 2FA requests via email or SMS.
  * Everything about mobile devices. The ludicrous variety of devices
    and brands makes app development a nightmare. Then you must
    struggle through the variety of labyrinthine publishing processes.
  * My final entry is simply the tiny ā€œthousand cutsā€ that torture you
    during development: version mismatches, inconsistent behaviour,
    strange errors, editor quirks, missing files, etc. All the little
    personal problems that slip between the cracks of bigger issues
    I’ve previously mentioned. Your mileage may vary.


In summary, being a software engineer is now so exhausting that after 40+ years of a generally enjoyable career immersed in programming and computer science I’ve reached a point I never thought would arrive… I’m burnt out. Even working on my hobby projects has become a burden because they suffer from many of the impediments previously mentioned.

I still plan to attend some upcoming conventions and Meetups, and I’ll be watching the forum, but my posts will diminish because I’m probably out trying to prevent the garden and house from disintegrating back into the earth from whence they came.

/Greg Keogh/

-- 
ozdotnet mailing list 
To manage your subscription, access archives: https://codify.mailman3.com/ 

Reply via email to