My interest in computers and programming hasn’t waned. But with every passing year, I have become more invested in my relationships, obligations, health, and other hobbies. So programming is a much smaller slice of the pie these days.
I still think of myself as an interested and enthusiastic programmer, but I will admit that my interest and enthusiasm pales in comparison to my hobbyist coworkers.
Some games, like Sim City or Factorio, sort of blur the line though.
My take on students in the program is that a CS engineering degree is viewed the way a business degree might have been for a different industry like finance. It's a ticket into a high paying, tech job. From there, many want to climb the corporate ladder and move into management. There are people who like the topic but also quite a few who treat it as a corporate credential. I think this second group is a very recent development that only started happening in the last decade or so.
Personally, I like learning how things work and doing things at my own pace. Expecting passion for integrating SaaS apis and working with legacy code is not the tech that got me interested, I want to clock out of that ASAP.
The reality is that this industry operates with a factory worker mentality. It is no surprise to me that young people don't care about programming. It just isn't valued.
If you're passionate about the mission/coding you will just produce a lot of impotent anger, because there's no way an IC is going to restructure the program given the layers of bureaucracy in the way. Maybe if you went management and then spent a decade or two climbing the corporate ladder, and even then you'll run into brand new managerial constraints. So if you're going to stick around, you learn to detach. It's one of the many reasons I plan to have a new job by Christmas :)
My most enjoyable moments are the times when I’m in between jobs which I try and stretch for as long as I can (months) and which make me start new side projects just for the fun and enjoyment of it. But once I’m back to the grindstone, I start questioning my life again and wish I was doing anything else than programming.
I think turning a hobby into a career is a good way to ruin that hobby, so I can understand clock punchers and sometimes wish I could just “turn it off” and become one. It would save me a lot of frustration, anger, and unhappiness.
I started as a software engineer who was "passionate about software" and could see my life revolving around it. The change in my mindset towards this, that gradually happened few years ago, i.e. the "clock-in and clock-out mentality" is one of the best changes in my life!
It always shocks me to see such sentiments from people. I mean how difficult is it for people to comprehend that that are too many kinds of people out there and hence too many kinds of software engineers out there!
Clock-in, clock-out doesn't mean these software engineers don't like the work they do, or do not write software that is good, or that they do not take pride in, or they do not feel responsible for it. Anyway that doesn't mean every other free hour, or any free hour in their lives, away from that day job (which is software engineering) have to be about software or code, or hell even an hour have to be about software.
Your job, your profession doesn't have to be your passion! Not everybody needs to be an artist, or a software artist (if I can say so)! There is a work that needs to be done and there are people who can do this and they do this and it can be just that, nothing more.
Did you every think about yourself, how you got into software engineering? Did you really always want this trade - truly? Was this genetic in some way? Or some kind of divine intervention? I mean I know I am getting facetious here with this analogy but just look at it before pointing a finger to a whole new generation of people who are maybe just different.
I kinda disliked it, at the beginning of my career, when I saw my engineering peers moving into finance, MBAs and what not, but slowly I have started to appreciate it as I am getting this idea sunk into me deeper - work is work, nothing else. There is whole lot of rest of the life out there. Go where you want, how you want to, immerse yourself into something only as much you want, there doesn't have to be a scale of "passion" you have to conform to.
It is so tiring and frustrating to keep encountering this mindset so often. Luckily my generation is genuinely starting to stop giving a fuck about this and the newer generation is more vigorous in rejecting of "your work has to be your passion" regressive mindset.
You can work with passionate people. You can work for a large corporate, for a huge paycheck and stock options. Pick one.
I work for a small company, and I make a great living, but it's a fraction of a fang salary, and there is no stock to option.
On the upside I'm responsible for my code base, I work on whatever I like, (which largely overlaps with customer needs since I like getting paid.) I rarely have a zoom meeting [1], I have in-person catch-up with colleagues once a month, usually at a restaurant over a meal.
The rest of the time we gave informal chat, we push the boundaries of the possible, we experiment, try out big ideas,and generally it's still enough fun to get me out I bed in the morning.
[1] I have a few corporate customers. They exist to remind me why I don't work for a corporate. We have a weekly zoom catchup meeting. Their two lead programmers go from meeting to meeting. Its hilarious and I mock them ceaselessly for it.
But they get paid a lot more than I do, and frankly they're welcome to it.
And clearly I'm not living in San Francisco ;)
I’ve spent most of my decades in SWE in large organisations, working with passionate people. So you definitely can do that. There is no recipe that I can share with you other than to not stay in jobs that you don’t want if you don’t have too. Oh, and don’t be afraid to take a little pay cut, as long as you’re going from well paid to well paid. I don’t buy the fact that you can’t be passionate and still clock-out however. People with children should frankly always do this, at least until you can somehow involve your children in the joy of making the machine go boop. Anyone should clock-out really, if you’re doing work on your own time you’re doing work for free. I know this is an area where European and American mindsets tend to clash, but unless you really, really, really, really, love React then why on earth would you be fiddling with it on your own time? Anyway, I think it’s usually up to you to find a good place to work. It hasn’t been hard for me, and SWE being as in-demand as we are in my area has definitely helped, but you still need to make the moves when your current place becomes a bad fit.
That being said, I think it’s perfectly fine to find a nice well paid job and just work it and then live your life on the side. In my experience people who don’t really care about CS on their own time can be just as excellent as co-workers as people who nerd away.
It is the corporate environments and the entanglement of Business BS that ruins software work for me.
People often assume that "work should be your passion" means that it should be the singular one.
It's my passion, but I still don't being work home, even if I work on related (if distantly) hobbies in my free time (and at work too sometimes)
On the other hand, there's something that eats at me all the time: the fact that a huge portion of my life is spent on work. If I had to choose between zoning out for 8 hours a day vs working towards something I care about for 10+ hours a day, I can't help but feel like the latter just sounds better. Maybe not easy to attain, but definitely better.
> Clock-in, clock-out doesn't mean these software engineers don't like the work they do, or do not write software that is good, or that they do not take pride in, or they do not feel responsible for it.
I don't think "zoning out for 8 hours a day" is a fair representation of that.
It's not hard for me to understand why someone would not want to only develop software during work hours, but that doesn't mean I have to force myself to like working with them.
> I mean how difficult is it for people to comprehend that that are too many kinds of people out there and hence too many kinds of software engineers out there!
How difficult is it to accept that if you're not doing much to become better at your craft you'll also likely not be deemed as good as your peers who are? I don't know why people who admit to not caring as much as others about growing their skills are so offended that some people would rather work with people who are.
All things being equal I'd rather work with someone who can tell me about their weekend project on Monday.
P.S.: If someone said "I don't like working with people who program in their spare time" that's also fine. We don't all have to like working with each other and pretending there is some kind of fairness equalizer that makes everyone as good as everyone else helps no one. If work is truly just work, just do your work and accept that some people don't like your attitude.
Only when I got into those meeting rooms, did I have a rude awakening. I realized the value of shipping software. I rolled up my sleeves and started getting back into building software, reluctantly initially but then I fell in love with the craft eventually.
Today if I find anyone who is getting disillusioned as I was, I try to educate them and help them find the joy in shipping software. Am not sure if it has really helped anyone, but I think it's the right thing to do.
Above and beyond that, I love software, but I don't love Zoom calls, on-call shifts, unnecessarily annoying processes that I'm not allowed to automate, Slack messages, KPIs, objectives that combine vagueness about what we're doing with strict rules about what we're not allowed to touch, horrific dynamically typed JS code where half the arguments to a function are obscure mashed-together objects, over-specified tickets that leave no room for creativity, trying to jam my code into a service where it doesn't fit because leadership wants to encourage code reuse but doesn't understand DRY, or anything else that makes up the actual profession of software engineering.
The programming part in itself is always interesting to me, because regardless of who sets the constraints (me in a hobby project or the leadership in a company), they are what make the problem challenging and exciting.
That's the problem. I'd happily write code for more hours
People aren't always passionate about the projects we work on at work, but most are passionate about things like software craftmanship, quality, or maybe just technology itself, or the problem solving aspect, or some are perpetually in love with how software allows you to create almost anything out of nothing.
The past few years have seen salaries climb to what could even be claimed as crazy levels, when compared to what other professionals make, esp non CS engineers. Compounded even more by the portrayal of the software dev lifestyle. Working from home, or being in an office with lots of free perks.
This naturally led to lots of people wanting in.
I like you, originally got into programming as a career as it was what I loved doing, it was a given I would go that route. This was at a time where engineers made far less than they do today.
A surprising number of acquaintances of mine have failed at retirement[1]. That has never been my problem :-). That said, I still do consulting because it lets me play with equipment that I might not otherwise decide to buy (like million $ RF labs :-)) However I've structured it to take a back seat to my own projects and the opportunities as they present to go camping or on other adventures.
I also know a bunch of people who never wanted to see a computer again after they didn't need to work, one of whom actually went back and got a degree in creative writing because they really wanted to be a writer all along.
It is also super helpful to have a spouse or partner you like to hang out with. One friend of mine opened an office so that he could be out of the house sometimes when things got too hectic.
All good problems to have.
[1] To fail at retirement is to have the resources to pay all the bills and do fun things without "working" but getting bored from the lack of interesting challenges and so going back into the workforce anyway.
Luckily for me, before I got too far down the road into choosing a major, it became clear to me that I would never love getting paid to program. Writing code as a career was not going to appeal to me. Being able to keep it as a hobby, where I can choose how much time I put into it, has kept me happy.
I will always wonder about "the road not taken", but I do think others are coming to that realization.
> Bootcamps have just become farms for people who need a job, but not those who really want this job.
This isn't exclusive to bootcamps - they just happen to be the most expedient way to act on particular desire. The real problem is how LOUD money has become in 'tech' in the last several decades. When I started undergrad ~10 years ago, at a small school not known for anything Math or CS, there were still a lot of students who entered the CS program because they heard, from their family the internet or the world at large, that it was "a good job". (This also stems from college being seen as 'job prospect' improvement as opposed to something for learning, but that discussion lies elsewhere.)
I got lucky that I liked it. Most of them would drop out of the program / transfer to a different area of focus within a year or so. There were probably somewhere around 50-60 people in my low level CS courses. My graduating CS cohort was 9.
Despite liking it, I still find little desire to tinker on things outside of work. A large part of it is that it _is_ my job. I don't want to work, then go home and 'work' for 'fun'.
The other part of it is, as mentioned by others here, the parts of software a lot of us enjoy the most aren't usually what we get to focus on, in one way or another.
> I want to work with more people who LOVE software and find the development of machines and the code that runs on them as fascinating as I do. Unfortunately, its less and less these days.
I get the impression most of this is going to be exclusive to small projects, teams, and in particular startups. Bigger operations are going to prefer prioritizing the more 'stable' or boring sides of software.
Anyway, to each their own, but I purposely made my hobby my career and I believe I’ve benefited greatly from that.
To be clear, I think using what I said in the first bit against the author or comment I replied to is kind of side-stepping the real issue. The first of my comment essentially translates to: turning a hobby into a profession is a high risk, high reward scenario. It can work out fantastic (as in your case) or you can come to hate something you used to enjoy.
Programming-adjacent things, I can enjoy. I like puzzles, I like factory building games, I could see myself building robots or getting into 3D printing random bits. But I don't think that I would ever sit down and write a software library outside of work without a strong personal incentive. I'd just rather spend my time on other things I enjoy equally as much.
I am the same way, but when I take 5-week long vacations I usually start to tinker with stuff on week 3. So it takes me about 2 weeks to detox from job grinding
Funny to realise the best thing my job could do for employee training is to just give me more vacation. Not like they give me any official training though. They let people occasionally go to conferences but I don't really like those, so I don't
You can't expect to work with people who LOVE their work. That's just not how the world is set up. People gotta eat, so they take the least bad path to that. I can entirely understand why someone would pragmatically choose this career regardless of their lack of enthusiasm for it.
How can a child fall into programming when the computer yells at you, with cryptic messages, uncomprehensible for a child, moreso since I was French-speaking only. “ERROR!” It even accuses you: “YOU are about to reformat this DISK. Do you want to proceed?” (7-year-old me looking up “proceed” in the dictionary, missing “reformat”. Ah, fdisk, so many nights crying that I had lost my computer).
But, speaking from experience: At least it’s your fault. You can do something about it.
Now compare to the sand pit at school: You play marbles with a girl, if she loses she goes crying to the teacher. It’s not your fault, you followed the rules, teacher tells you off, ah, gotta learn the rules of life. “Girls have cooties” is the most funny self-reflection on my childhood. There was no way as a child to learn navigating that complex rules of social precedence, implicit expectations, social cues, untold obvious rules. Even today: I’m bad at office politics, so I’m a CEO and make a million a year.
At least, with computers, when it doesn’t work: It’s my fault. I can do something about it. Same with business. It’s my fault. A provider defects? Still my fault. Economic crisis? Still more my fault than playing by the rules in the sandpit and being told off.
But people? I need five times my IQ.
When people didn't know what to do in the 90's, they went into e.g. advertising or banking. They just wanted a job, advertising was big, seems fun, let's do that. Now those kinds of people "get into tech because you can earn a lot". So you get people who focus more on what they can extract rather than the craft. They arrive, do a job, pretend to be value adders because it's good for bonuses, go home to do what they really want to do.
I guess that's ok, it takes all kinds and it's a big world. But the passionate, the people who love to create and love to refine and want to contribute and make a mark, those are my people. I think they're more likely to be there when you're in the first part of a company's life, before the extractors arrive. Right now I work with many of the builders and it's just wonderful.
I also think that as companies change, get more sluggish and require more paperwork, passion goes out the window and the organisational imperative drives the experience.
It might be different if they have some other personal/skill issue, but I've seen anyone doing a decent job for a few years get a path to either management, PM or something more "businessy", and in effect many PMs around me started as programmers. That's where I see the natural filtration of those who actualy saw it as a career and not just as a starting job (pay is usually not that different, or better when you go to a businessy path).
Now, that doesn't mean they (we) don't have a clock-in/clock-out mentality. E.g. I want to have multiple hobbies, and programming is only one of them. I deeply respect people who breath programming day-in day-out, but don't see it as an ideal or something to long for everyone. That's where I'm a bit sad it actively disappoints or drains your energy. I hope you'll find a happy place with people you enjoy working with !
It was always like that, it's basically the human condition. You may choose not to worry and live your life how you'd want it to be lived. You might get crushed in the process, though. If you don't, you'll die of old age anyway, but the overall ride may be more comfortable.
While I like software I'm beginning to see it as a rather bad career. While you make more money early in the career, you stop doing so rather fast and other jobs catch up quite quickly and surpass you.
I guess there's always the exception company, etc. but as a non-US career, it can get taxing to see de-growth.
https://whoisnnamdi.com/never-enough-developers/ was a neat read along the same lines.
It's got some interesting points. I'd love to hear more about their assertion of how someone who is a fast learner benefits from a more stable field. It sort of makes sense as they wrote it but I'd like to read more about it.
Here I thought I was always going to do software in some capacity as long as I was working professionally, but maybe I really shouldn't. No idea what that would be though. Just going into management isn't it, at least not for me.
Because... while there is such a thing as software development experience, it's not that relevant for the majority of projects. Somebody sharp with less experience will more or less compete head-on.
Think esports pros, playing games used to be a break, but after working 8+ hours a day. It's no longer that relaxing fun activity.
In my experience people who treat programming as a job rather than a passion often build better apps (note that this is different to saying they write better code..). They don't try all the latest shiny things, they treat things like tests and docs as a boring necessessity rather than something they can ignore, they go for simple solutions they can think about less over complex abstractions that require lots of time. They're also happy to stick with something a bit dull like maintaining an old app so long as their pay keeps coming.
Passionate and enthusiastic devs are definitely more fun to work with, but if I'm going to be on a team with 6 or 7 others for a couple of years I would rather not come in to work to be faced with someone's 'clever' idea that they opened a PR for at 2am every day.
Especially if you're overweight, spending more time sitting behind a desk is just a poor life choice.
But canceled projects, inept managers and deadend startups led by brain dead CEOs knocked it all out of me. I’m heading into my 40s and I’m officially a clock puncher. Could not care less who knows it.
I wish I could work somewhere that would just get the fuck out of my way and let me build, fix and make, but tech is full of people riding on the coat tails of engineers now, pretending we’re all on equal footing. We’re not. We don’t need the middle managers and HRs and dozen VPs. We just need some good designers and some good engineers and we can blow peoples’ minds.
But makers making things makes people who can’t make anything uncomfortable.
There's nothing incompatible about those two things.
There have been plenty of times where I have felt that utilizing formal methods would benefit some problematic patch of code, but when I suggest something like TLA+ or Isabelle, every engineer in the room will wince at me and act like I asked them to solve the wave equation. It'll usually be dismissed in some form of "we don't want to force every engineer to learn all that math".
It's frustrating to me because, I mean, we're engineers. Any high school kid can learn to program for free on YouTube these days. If we're not utilizing theory, then what exactly are we doing to earn our ridiculous salaries?
As someone who went into software development because it was my passion and my hobby, its always disappointing how often that isn't the case for so many people in this industry. It's draining actually; The lack of enthusiasm and genuine interest is replaced by a clock-in and clock-out mentality. Bootcamps have just become farms for people who need a job, but not those who really want this job.
I want to work with more people who LOVE software and find the development of machines and the code that runs on them as fascinating as I do. Unfortunately, its less and less these days.