3 ms·
My life got much better when I realized that I actually don't like "programming". I like solving problems using programming languages, and like designing large
by tombert 2y ago
My life got much better when I realized that I actually don't like "programming".
I like solving problems using programming languages, and like designing large systems with computers, but I don't actually enjoy the programming itself. Programming without the designing part just feels like data entry to me. There's nothing clever, or creative, or interesting about it.
For years I've dealt with severe burnout because I had been lying to myself and taking jobs that where I didn't really have to "think", and I had no fun doing it, leading to me feeling like I had really chosen the wrong career path and that I was stuck feeling bored for the rest of my life.
Once I realized that programming for the sake of programming isn't fun, I started putting my attention to jobs where I made it clear that I'm going to be involved in the design and decision-making process, and almost immediately I actually enjoyed working again, after many years of not.
I'm not saying this is universal, if you like writing Java for the sake of writing Java, don't let me take that away from you, it's just not something I enjoy. Figuring out what you actually enjoy doing is deceptively hard, but a worthwhile goal.
- lylejantzi3rd 2y ago> I'm not saying this is universal It's probably not universal, but I bet it's more common than most people want to admit.
- tombert 2y agoYeah, I think you're right. It's embarrassing how long it took me to realize that; for years I wondered why I enjoyed working on my personal projects but not my paid work, despite them being nominally the same thing, and eventually I realized it was because I made the decisions on my personal projects.
- bravetraveler 2y agoDitto. I don't like making decisions at work. I like the tech; not politics. Not to deride things too much. I'm trying to get better about it, surrounded by good suggestions... I'm just categorically exhausted
- whatarethembits 2y agoI find that making design decisions about the class/feature you’re writing or how data is going to flow through your little corner of the software scratches similar itch to “big picture” architecture. What sucks is standups, deadlines, constant having to give updates and being measured on output. Take all that away and programming is a _joy_
- hello_moto 2y agoI was lucky (and blessed) that I also realized this early on. I was an idealist, following best practices, learning the language to the dot until I stumbled upon a different enjoyment in work: mentoring, guiding, helping, cheering co-workers to be on the same page, same direction, and to eventually deliver the software/feature/product. Once the clock hits 5.30PM, I checked out and ride my bike.
- foco_tubi 2y agoI'm convinced bicycle commuting is what's going to make my 8:30-5:30 bearable. Hope I'm right.
- justanotherdud8 2y ago[dead]
- ryandrake 2y agoSame here, I stepped away from actual software writing as a career and moved into Product management and then later Project management, where I fit better. These kinds of roles give you a bigger picture view, and put you in the position to help prevent big planning or design mistakes from happening. Having an actual software-writing background also helps immensely since you need to interface with engineering daily and need to speak their language. Too bad the compensation is a faction of what it is in software development, but I happily made the tradeoff. I write code as a hobby now, and am much more satisfied with that because I make all the decisions on my own personal projects.
- tombert 2y agoI'm still very much in the "engineering" space, but I do a lot more stuff with the whiteboard, and even spend some time doing TLA+/Pluscal before writing any code. I think I'd be a pretty bad manager, I'm flaky in a way that doesn't lend itself to that, but I think I'm ok at the more "architectey" roles.
- gushogg-blake 2y agoI had a similar-ish realisation recently when writing a business plan - having the ability to program felt like a massive advantage (for e.g. writing a dynamic cashflow forecast) but programming wasn't the main goal.
- ToddWBurgess 2y agoI had the opposite experience. I actually left the industry and then suffered a workplace injury in the new job(PTSD). Trust me when I say this, PTSD really messes you up. One of the biggest injuries was my brain's ability to logically reason. So with lots of free time due to medical leave I got got back into coding. Picking it up after having not done it for some time was not too bad. After a while I was ready to start learning new stuff. As I got better at coding a lot of my PTSD symptoms started to subside. I had an easier time organizing my thoughts. Eventually my PTSD symptoms subsided and I knew enough code to get a job writing code. So while yes, I have burned out on coding it was also the old friend that dug me out of the hole.
- KronisLV 2y ago> My life got much better when I realized that I actually don't like "programming". I like programming, but hate most things around it. Under-documented code with odd patterns, no comments and bad discoverability, like the code doesn't want you to explore it and work with it, but you instead have to dig in a whole bunch to understand what you're looking at, while you're already juggling the problem domain in your head. Same extends to working with projects themselves, like having a placeholder README, no ADRs, no information about why certain choices have been made, no investment into tooling or automated linting etc., especially if some things are expected to be done manually by the developers ("order the variables this way", "format the code this way", "you must manually create these N layers of abstraction to make the code consistent"), also things like having no examples of how to use some of the abstractions and if it's a front end project, no examples of the components in isolation, separate from where they're used in the main codebase, no gallery of sorts. Maybe things like manual deploys, or environments with no monitoring/APM/uptime alerting and other bits of tooling that are pretty much essential, no clear information about how things are run on the servers etc., where working feels like some form of archaeology and detective work. Also things like bike shedding, yak shaving, cargo culting, taking practices as gospel (DRY/SOLID come to mind, though they have their place), infrastructure aspects like not having your local DB that's safe to break, slow compilation, flaky tests, bad tooling, outdated packages and dependencies. Throw in conflicts of interest and opinion that aren't managed well and you have a recipe for burnout, the kinds of situation where people are pretty much "against" you and what you're trying to do, e.g. holding up a release over unrelated, non-blocking concerns, or having drawn out discussions about how to write code, when it doesn't feel like you're working "together" to make things better for everyone. Even when there are disagreements, it's possible to get to that better place, but often time egos go unchecked, instead I actively try to be kind to others in code review etc. nowadays. Although humorous, posts like this still ring true in many respects: https://www.stilldrinking.org/programming-sucks https://www.stilldrinking.org/programming-sucks But honestly, a lot of working in the industry also sucks due to technical concerns. This might be a more personal example, but I was trying to write some load tests in K6 for a web API. The API uses STOMP on top of SockJS (using WebSockets when available). K6 has support for WebSockets, except there's two packages, one of which is experimental. I quickly realized that SockJS wouldn't work, so I had to get rid of it in the project (since IE doesn't need to be supported anyways), but even then I realized that STOMP isn't supported out of the box, in part due to the protocol never really taking off: https://stomp.github.io/ https://stomp.github.io/ I could find an extension, but getting it working also proved to be a bit of work: https://github.com/walterwanderley/xk6-stomp https://github.com/walterwanderley/xk6-stomp What sucked in particular was not only not having that much documentation about how to manage multiple subscriptions at the same time, but also the fact that reads were blocking instead of Promise based, though that might be due to how everything integrates with K6, it's not like I can shoot off a background thread. Eventually I got some jank implementation working that's based on blocking until a short timeout (like 2 seconds) after which the next subscription is done and data from it read, but it feels like if the industry was a bit more coherent we'd have like 2-3 solutions for similar use cases all of which would work well, instead of the current disjointed mess. This also applies to everything from OSes, to back end languages, front end libraries/frameworks etc., though I guess the variety is needed even if painful, so the better ideas survive the test of time. Until someone does some CV driven development and adopts a technology that's not ready. That said, a lot of those things can be made better, as long as you care enough (and hopefully are rewarded for making the work not miserable).
- codingwagie 2y agoThe big problem with programming is its usually divorced from big picture thinking. Businesses keep you away from business conversations
- bdangubic 2y agoI think 8hr/day is a bigger issue… I feel EXACTLY the same way as you but after 25-ish years in the industry I also realized that there is nothing I like enough to enjoy doing for 8hrs per day, 1920 hrs per year…
- piafraus 2y agoI felt the same until I found python. Just in case you haven't tried it - perhaps it might ignite the love to programming (if you want that). Python made the programming fun to me again. Especially without the boilerplate code. Try to ignore the community strong push to use typing everywhere and just write some clean small code and it feels amazing. Designs and ideas in simple implementations.
- ffsm8 2y agoIsn't it the other way around? Java (in enterprise) is just exceptionally able to suck the fun out of programming? It's not even the fault of the language per se, it's just home to a lot of "best practices" that ultimately end with productivity coming to a grinding halt.
- phito 2y agoThat's just a matter of personal taste. Using python makes me want to pull my hair out. However, I could write C# all day everyday. A better way to put it would be find a language you like and are productive in, and get very good at it. Then it almost becomes second nature, you can almost forget about the programming itself and focus on the problem solving.
- nyarlathotep_ 2y ago> My life got much better when I realized that I actually don't like "programming". I think I'm the same. I like programming when it's "free form" and I'm doing something creative, but dislike fighting with: obscure build system/dependency crap, under-documented APIs, complexity that makes something as simple as "append an element to a list" an entire exercise in understanding some obscure Design Pattern, and the general realization that most software written today is putting strings in databases* and finding "new" ways to do so. I used to find new languages/framworks/libraries interesting and occasionally still do, but a lot feels like going in circles with dubious benefits. Maybe I'm just tired, dunno. *At least those jobs I'm "qualified" for
- stefanos82 2y ago> Maybe I'm just tired, dunno. Definitely you are tired my friend; I know exactly what you are talking about! I find it extremely amusing and energy draining at the same time, when I see some projects that are unnecessarily over-engineered, when I could write a simple shell script that produces the __exact__ output, but it's deemed un-enterprise-y!
- m463 2y agoSo, a slightly different perspective. I like working in a language that I enjoy, that is expressive (I can think in it), and on projects that I started. If it is a bad language, if I am fumbling through it, and I'm plowing through some one else's bad code, life is a slog. There is possibly some middle ground, where a new language or environment is fun and educational. Just so you're on an acceptable learning curve, not burning out.
- xnzakg 2y agoHonestly, I feel like I could recommend embedded programming if you like solving problems, especially if you can find a company working on a cost-, power- or size-limited device, where you actually need to do some low level optimization once in a while, or have to come up with some hack to use a peripheral for something it wasn't really designed for. Combine that with working in a small team with a flat hierarchy and you lose a lot of the red tape as well.