I think very few software engineering jobs are set up to be enjoyable (or even tolerable) to a large fraction of the people who are drawn to such jobs.
I'm self taught[0]. I was drawn to computers at an early age, and I was hacking little projects together in a couple of different languages by the time I was in middle school. This was a very solitary activity for a very introverted boy, and I loved it. I still love it. Nothing compares to sitting down at a computer and just letting the logic flow through me unimpeded and onto the screen.
My job is not like that. I have 2 - 5 meetings a day. I am constantly coordinating and brainstorming and just plain dealing with other people. That is more draining than the coding. Sometimes I have a decent chunk of time at the end of the day, but I can't even bring myself to code because I am so drained by all of the non-coding stuff I had to do earlier in the day.
I love my job. I do impactful work for an impactful company that I think is doing actual good in the world. I work on an interesting project, and they pay and treat me well. But in my heart of hearts what I really want to be is not a software engineer but instead some kind of self-directed code hermit.
[0] By which I mean I learned from books and examples and experimentation. I did eventually get a computer science degree also, but I had been coding for years before I took my first class in it.
So far, from the majority of comments here, yours included, I have concluded that we somehow got tricked to "upgrade" our hobby to a career, with one major cost: sacrificing our creative freedoms that companies demand us to give up on in place of daily meetings.
Getting paid for doing something you love (or at least like when it comes to work tasks) is far better than having to spend 40 hours a week doing something you hate (in what is likely a much lower paid job), and then still getting home with no energy left to do that thing you love for maybe 1 hour.
Yeah this sounds a lot like me. I find it hard to imagine what kind of personality _could_ tolerate a software job. Maybe some people are more amenable to accepting the company's mission as part of their identity, and can therefore find the inherent satisfaction of doing a good job. But yeah, I always found the meetings and coordination aspect to be quite taxing.
I have known a lot of people at work who don't really care about computers at all. (Not at my current job, more at previous jobs.) They don't go home and do more computer stuff for fun. They don't geek out over the new things coming in C++23 or get nerd sniped by computer science problems. If you ask them why they became a software engineer, they'll say it's because the pay is good.
A lot of us are just drawn to computers and couldn't imagine not tinkering with them constantly, but for some people this is just, like, an office job. No different from being an accountant or an insurance claims adjuster or something.
One can also go through the phase of programming being the most fun hobby, getting into a career related to it, and phase out programming as a hobby.
It was one of the most fun hobbies I had earlier in life, now after 20+ years of career, and even longer from starting to program, it's just not that fun anymore.
I still tinker with it in fun ways I could never try as a career, like electronics projects with microcontrollers, but since my free time and energy dwindled with age I allocate my hobbies' time to other more personally fulfilling endeavours than keeping up with languages' updates, compsci problems, etc. It's just not that interesting anymore.
I stumbled upon this career, at the time I never even considered or had known it was a very well paid one so I've been extremely lucky for that but I don't hold that much more interest in it as a hobby, for that I believe the time has passed. It's now, to me, a very well paid office job.
> One can also go through the phase of programming being the most fun hobby, getting into a career related to it, and phase out programming as a hobby.
Yeah this is my path.
I'd guess 50% of the code I've ever written was from when I was a hobbyist for many years, and a large portion of the "general" software skills I've gained are from that as well.
This is where you see the injustices of life my friend...some people desperately want to get a job like this because technology is their passion and others change them like shirts because they have the work experience but it's not their great love...they just happen to know how to interview and get hired! And here's the sad thing for me; these people are actually unhappy because they're not doing something they love; they're just doing it for the money, when they could be doing something else that was their great passion. Can you imagine how many well-hidden unknown `Picasso`s, `Mozart`s, and `Meryl Streep`s are out there unbeknownst to us?! It drives me crazy!
I'm self taught[0]. I was drawn to computers at an early age, and I was hacking little projects together in a couple of different languages by the time I was in middle school. This was a very solitary activity for a very introverted boy, and I loved it. I still love it. Nothing compares to sitting down at a computer and just letting the logic flow through me unimpeded and onto the screen.
My job is not like that. I have 2 - 5 meetings a day. I am constantly coordinating and brainstorming and just plain dealing with other people. That is more draining than the coding. Sometimes I have a decent chunk of time at the end of the day, but I can't even bring myself to code because I am so drained by all of the non-coding stuff I had to do earlier in the day.
I love my job. I do impactful work for an impactful company that I think is doing actual good in the world. I work on an interesting project, and they pay and treat me well. But in my heart of hearts what I really want to be is not a software engineer but instead some kind of self-directed code hermit.
[0] By which I mean I learned from books and examples and experimentation. I did eventually get a computer science degree also, but I had been coding for years before I took my first class in it.