Other people's code is why I love software. The division of labor is amazing. Even if it's terrible I can fix it faster than I can write it myself, then I can make a PR and the state of tech moves forward just a tiny bit.
I hate everything to do with devops and sysadmin work though. It superficially looks like programming work but it totally different, and often involves manually doing things that feel like they should be automated but can't quite be, or working on live systems making changes directly rather than writing code that only touches anything real after review and test.
I hate how often things get obsolete, but sometimes the constant march is wonderful. It's always great to rip out half you in-house code when your new framework does it all for you.
You can write large applications while only having to maintain your core functionality and some wrappers for external stuff.
Ahahha, fun to read this comment. I enjoy that you enjoy the exact opposite aspects of programming to me. I'm definitely in gp's camp. Always as little abstraction as I can stomach, never use a library if I only need a single function. Ruthlessly throwing out other people's code so that I don't have to try to understand boxes of spaghetti that go wrong in weird and quirky ways. I love me a good datasheet and a night spent flipping bits in registers.
I actually got my start flipping bits on the PIC, partly because I heard so much about lightweight software I just assumed it must be absolutely and objectively better in every way to get so much hype.
When IoT stuff started getting big and SSDs became affordable my attitude started slowly changing as I actually experienced more software complexity and how it could just work, and save so much time for users and devs.
The tradeoff is it only saves time if you do exactly what the library dev wants you to do, and don't look into the internals too much.
I still enjoy digital electronics design, but I don't do much outside of work because the finished product is often a bit disappointing compared to commercial stuff that usually has an app ecosystem, a warranty, an injection molded case, etc.
I've been on somewhat of a decluttering binge both physically and digitally, so I've currently got almost no DIY stuff in use at home.
I hate everything to do with devops and sysadmin work though. It superficially looks like programming work but it totally different, and often involves manually doing things that feel like they should be automated but can't quite be, or working on live systems making changes directly rather than writing code that only touches anything real after review and test.
I hate how often things get obsolete, but sometimes the constant march is wonderful. It's always great to rip out half you in-house code when your new framework does it all for you.
You can write large applications while only having to maintain your core functionality and some wrappers for external stuff.