A lot of people that are in tech because it’s a good job got pressured to make it their life. They reasonably pushed back, but the upshot was those of us that are passionate about programming as a hobby got pressured to not do it for fun.
Both things are unreasonable. You shouldn’t have to program for fun to get a job. You can be good at it as a profession only. You also should be allowed to love it as a vocation or avocation. That doesn’t make you a sucker.
I think there is some anxiety on the part of people who love code, and find the computer to be a little magic almost-thinking box that is one of the most interesting things humans have ever invented, that the boring careerists will take all the fun out of it. Somebody is willing to pay us to play with the magic box, but now these other folks have come along and they don’t even seem to enjoy the game? WTF, go away if you don’t actually like it!
But then I put on my grown-up hat and realize that there really are customer needs to be satisfied, the less enthralled do real work, and they have as much right as the rest of us get a paycheck.
I think this hits the mark, or almost hits the mark. I think there is more to it. People who are passionate about computer programming and also do it off the job will over time gain more experience and knowledge than their only on the job counterparts. There is at least one additional anxiety, which is, that in a company people don't listen to those, who do it with passion, and rather play hierarchy games. When they don't listen and the things you predicted then happen, impacting your work, then it sucks and it was entirely preventable. So the anxiety is, that people will think of not passionate employee A the same as passionate employee B, even though one of them has a lot more experience due to lots of free time projects and exploring things outside of work, and will give their opinion equal weight, potentially leading to bad decisions, that impact what B needs to work with.
I don’t disagree in general, but I remember the world before careerists and we were also listening to and collaborating with customers, and delivering results.
Maybe significantly more tham today.
I remember talking constantly with end-users 20 years ago, something I’ve seen countless PMs dreading, postponing and treating like an absolute chore. I’ve experimented, A/B tested and rolled back code in enterprise, something that is a bureaucratic nightmare even in agile startups.
If they have rights to a paycheck, then we should also have rights to not have the joy sucked out of it.
There's more anxiety in the people who only code for $$ because deep down they know they're at a disadvantage, so they try to suppress the hobby/passion people with all kinds of "x should y" statements.
Have you never considered the absolutely /terrible/ manners of showing up to a profession where other people are passionate about what they're doing, doing the best work they know how and enjoying it - and then complaining because you only want to phone it in for a paycheck?
Perhaps you chose the wrong line of work...
Not everyone has to be a programmer. Not everyone is entitled to be a programmer just because they want an easy white collar job. There are a lot of other fulfilling jobs out there! There's no reason for you to bring the standards down for everyone just so that you feel you can keep up.
It's like being back in high school again, when everyone else was complaining about being graded on a curve - and implicit was the complaint about who they were being graded against.
I'm in a non-tech job and I never quite got into a tech "career" but I've built my own tools that no SAAS offers and I spend some of my free time tweaking them and I feel proud the more I use them. Everyone in society benefits from a little DIY tech literacy, even those of us not FAANG caliber.
Personally, I avoid all side projects at home because they turn into a huge distraction for me at work. It’s hard for me not to think about them all day.
So the whole “program for fun to get a job” thing has always felt pretty dumb to me. Companies should only care about what I get done at work. What I do at home is my business.
> Companies should only care about what I get done at work. What I do at home is my business.
I mean to some extent you're right, but obviously there are limits here. And, it can be used as a signal to see how interested a person is in something.
As one example, I don't have any college education or beyond that, and when I wanted to start working as a programmer it was kind of hard to get any response from companies and with a tiny local startup ecosystem (this was in Spain back in 2012), I managed to only find one company that was interested in hiring me as an intern in the beginning, to at least give this person without any professional experience a chance.
Since I always done programming as a hobby just for fun, it was way easier for them to evaluate if it was an outlandish bet or a somewhat safe bet, as I already had some projects on GitHub that I had done in my free-time they could look at and displayed some eagerness to program professionally.
I don't mean to say that you have to program in your free time just to be "hireable", but I'm 100% certain individuals who do that (and publish results at least sometimes) have a way higher chance of getting hired, especially if they're just starting their career.
90% agree. Someone is a sucker if they work for their employer during their personal time. If someone wants to code for their employer by day and code for themselves by night, that’s great. I just hope they get enough sleep.
That assumes the world is zero-sum. If my employer has a code base that I find more enjoyable / fascinating than any of my side projects, maybe the employer does get extra out of me from me putting in extra hours, but I also get more out of him by both delivering what's expected of me and getting to toy around in a code base that I find fun. I might even be improving my earning potential (if the "fun" argument isn't good enough for you) by building skills working on that production code base that I wouldn't by just messing around on side projects. The dynamic is obviously very open to abuse and people have to protect themselves from that, but I don't agree "extra hours = sucker" is universally true.
I like building stuff. During the day, I get paid to do it for my employer. In my off time, sometimes it takes the form of a personal project. Sometimes it takes the form of a house or garden project. And sometimes I’m still thinking about something that I’m enjoying at work, so it takes the form of a little more work on a work project. If I’m enjoying it and I’m not doing it to the exclusion of family time, then whatever, I’m happy.
I agree with all that. But software development also often seems to have a strong thread that if you don't also do this for fun, you're not really A material--in a way that really doesn't apply to other engineering disciplines.
I don't see the same sort of pushback for people who do side-projects as a hobby.
> I agree with all that. But software development also often seems to have a strong thread that if you don't also do this for fun, you're not really A material--in a way that really doesn't apply to other engineering disciplines.
This is the same in every space/community/hobby I've ever participated in. The people who don't live and breathe $SUBJECT 24/7 are often passed off as "posers" and only doing it for the money, in everything from software engineering, finance, gardening, music making, game development or whatever.
Eventually, we grow up and realize everyone needs food on the table, and everyone isn't chasing combining their passion with their career, and sometimes just do their career to earn enough so they can continue with their passions.
It's one of the few highly paid fields where you can do it for fun. You cannot really practice medicine or law in your free time on whatever you want. You can only really do charity work in your free time. Not medical or legal research or anything like what OSS / personal projects are for us.
For other types of engineering, I think there is a bit of a thread of doing it for fun. The Homebrew Robotics Club comes to mind. The easier it is to actually create something in your field, the more there will be a thread of doing it because you love it.
>But software development also often seems to have a strong thread that if you don't also do this for fun, you're not really A material--in a way that really doesn't apply to other engineering disciplines.
Software scales differently, that's why software companies that benefit from that scaling pay so much for top talent.
I can't think of an area where being hyperfocused on your discipline isn't viewed as a a given to get to the top. It's just that most engineering positions that I know of don't care if you're the best to do X, and are more "can you do X". Equivalent to enterprise 9-5.
I only encountered this attitude during college, when doing smart extra work outside of class or internships definitely put you ahead.
In the real world, I literally can’t name a single Senior+ engineer (at the FAANG+ companies I’ve worked at) who codes for fun outside of work. Plenty of them have other constructive and interesting hobbies, but not coding.
Put another way, your hobby app that got 15 downloads doesn’t matter at all if your day job regularly has you shipping code to millions (or especially if it’s billions) of users.
As a hypothetical employer, should I be allowed to select for people who love programming because my internal metrics say they're an awesome fit? If so, then that's where the fundamental pressure is going to come from.
So we can be on HN and sing "Oh, you do you!" but that won't relieve the fundamental source of pressure.
You can, but I think it might be a little hard to do so. I mean it is a well known thing and so people will game it, right? We have people grinding levels leetcode now to trick you. Of course you are probably savvy to that. But who knows what else they’ll do? Getting a good job is a life-changing event, so they are very motivated to trick you…
I love programming. How much? I’ve written a bunch of little programs that nobody else will ever see, just for fun and just for me. Why? I just enjoy doing it. It’s more like knitting than studying. Sometimes it will come in handy—once my boss had an idea an I got to say “oh, I actually implemented that for fun the other day,” which was very funny, but it isn’t intended to be useful and 99% of the time it is just a waste of time.
If a company’s goal is to bring rockets to mars/solve world transport logistics/create driverless cars/etc/etc, you are not going to care about what is fair or what creates pressure. You will find the persons that can get the job done.
Things like preventing burn out or balancing work with personal life will be dealt within the scope of reaching that goal. Many sensitivities in this thread or considerations of whats fair and isn’t, is really irrelevant.
What goal is being pursued, and how can it be reached sensibly, is what matters in the end.
It helps to accept that no matter how balanced or perfect you try to make your life, you’re going to screw it up anyway, so just do what you feel like, for fun or not for fun, and don’t worry about it.
The programmer succeeding because he loves to program is a "George Washington chopping the cherry tree" kind of anecdote Silicon Valley likes to represent themselves with. Nine out of 10 times, the fun kind of programming someone is doing during their nights and weekends has zero application to their professional life. Yes doing any kind of coding is a teaching moment, but living your life outside of a computer screen offers lessons as well.
When I was a teenager and while studying at university I used to spend a lot of my spare time coding. Then after I got a job as a developer this dropped off quite quickly, opting instead to socialise and pursue other hobbies in that time.
Since becoming a manager at work less of my time is actual coding, and in the last 6 months or so I have started to code a lot more on my own projects and I'm really enjoying it. It feels like overall there is a certain desire/capacity for it, and if that is getting used up at work, so be it, if not, then it fills up outside of work hours.
Either way, each to their own. Some people would probably love to spend more time coding or on other hobbies but have other commitments like family to consider.
It's not wrong to code on nights and weekends if you like it. But there's also something to be said for developing other interests, that put your brain in a different space. You might even find that it can help with the coding. In my case, I enjoy coding and I also love hiking, and often find that when I'm stuck, an idea that gets me unstuck occurs to me when I'm out in the woods and nowhere near a computer.
I've been coding for around 45 years, the vast majority of them in a professional capacity. I still code an hour or more most evenings and at least triple that at the weekends.
I love writing software. Over the festive period I wrote a text-based double-entry bookkeeping system with balance sheets and income (p&l) statements. For no reason; I just wanted to.
And that's how it is for me. In my own time I code what I want and purely for pleasure. Sometimes it relates to work, but it is never actual work stuff.
My work-life balance has the usual family aspects, but the main thing for me is making that clear distinction on what my motivation is for what I'm working on. As long the motivation isn't for work benefit that's fine, even if the learning outcome does eventually help there.
This whole article really resonates, especially the bits about expectations for others. My main problem is that, having done so much coding (too much), its easy to identify just how long something should take (on average), and so when I see something trivial dragging on and on at work, it instantly raises a lot of questions. This happens so much that I look around at the team with nothing less than the deepest skepticism about just what folks are being paid for.
It's hard for me to "let them be", but I have to, obviously. It creates a lot of internal tension that I can't figure out how to resolve.
Not just coding but other types of technical work might benefit from not ruling this out, especially creative or innovative efforts.
It can really make a difference depending on where you stand in a project environment.
For me it was pretty easy to accept with cargo work where the ships come in at any time 24/7.
Before I started my company I had already gone the extra mile like this for employers when it really made a difference.
So I knew what I was getting into beforehand, I used to say you can run a company OK during business hours alone, but building a company may be the best use of nights & weekends depending on the circumstances.
It took some time but doing it for my own self turned out better after all.
It's not exactly a "super power" but good to have in your arsenal, plus in the right situation you could direct all your focus migrating toward having a 24/7 business that hardly ever requires "after-hours" effort after a while.
I work a remote tech job and despite taking 15 minute (or longer) breaks every couple of hours, I have come to the conclusion that sitting in front of a screen for 8+ hours a day is slowly killing both my mental and physical health. I am trying to combat it with strength training and cardio in the mornings, and spending at least some of my evenings in my garage.
This, unfortunately leaves me with very little time to do the computer and electronics-related projects I would so love to finally be working on. Also makes it just about impossible to level up my technical knowledge to further my career. I kind of dream of retiring early and finding some low-paying job that keeps me walking all day but leaves me with plenty of mental energy to come home and rock out a few hours of coding or whatever in the evening.
> sitting in front of a screen for 8+ hours a day is slowly killing both my mental and physical health
Do strength training when you are stuck waiting for things: tests running, mandatory meetings where you only listen. I have a set of dumbbells and kettlebells next to my (WFH) workstation and put them to good use during most working days.
The most ergonomic position is the next one. I have a mouse for each hand, and a track pad, and a sit/stand desk converter, and four chairs, some with and some without arms, and monitors on arms that can be easily repositioned. I'm always adjusting something, or using a different device or chair, and I alternate between sitting and standing a couple times each day. I also have a timer to remind me to stretch and takes walks once an hour. I guess what I'm trying to say is, you can code more on nights and weekends without spending too long at the computer (in the same position).
It's about coding on things you want not things you have to do.
>There are wealthy gentlemen in England who drive four-horse passenger-coaches twenty or thirty miles on a daily line in the summer because the privilege costs them considerable money; but if they were offered wages for the service, that would turn it into work, and then they would resign.
Both things are unreasonable. You shouldn’t have to program for fun to get a job. You can be good at it as a profession only. You also should be allowed to love it as a vocation or avocation. That doesn’t make you a sucker.
But then I put on my grown-up hat and realize that there really are customer needs to be satisfied, the less enthralled do real work, and they have as much right as the rest of us get a paycheck.
Maybe significantly more tham today.
I remember talking constantly with end-users 20 years ago, something I’ve seen countless PMs dreading, postponing and treating like an absolute chore. I’ve experimented, A/B tested and rolled back code in enterprise, something that is a bureaucratic nightmare even in agile startups.
If they have rights to a paycheck, then we should also have rights to not have the joy sucked out of it.
Perhaps you chose the wrong line of work...
Not everyone has to be a programmer. Not everyone is entitled to be a programmer just because they want an easy white collar job. There are a lot of other fulfilling jobs out there! There's no reason for you to bring the standards down for everyone just so that you feel you can keep up.
It's like being back in high school again, when everyone else was complaining about being graded on a curve - and implicit was the complaint about who they were being graded against.
So the whole “program for fun to get a job” thing has always felt pretty dumb to me. Companies should only care about what I get done at work. What I do at home is my business.
I mean to some extent you're right, but obviously there are limits here. And, it can be used as a signal to see how interested a person is in something.
As one example, I don't have any college education or beyond that, and when I wanted to start working as a programmer it was kind of hard to get any response from companies and with a tiny local startup ecosystem (this was in Spain back in 2012), I managed to only find one company that was interested in hiring me as an intern in the beginning, to at least give this person without any professional experience a chance.
Since I always done programming as a hobby just for fun, it was way easier for them to evaluate if it was an outlandish bet or a somewhat safe bet, as I already had some projects on GitHub that I had done in my free-time they could look at and displayed some eagerness to program professionally.
I don't mean to say that you have to program in your free time just to be "hireable", but I'm 100% certain individuals who do that (and publish results at least sometimes) have a way higher chance of getting hired, especially if they're just starting their career.
I don't see the same sort of pushback for people who do side-projects as a hobby.
This is the same in every space/community/hobby I've ever participated in. The people who don't live and breathe $SUBJECT 24/7 are often passed off as "posers" and only doing it for the money, in everything from software engineering, finance, gardening, music making, game development or whatever.
Eventually, we grow up and realize everyone needs food on the table, and everyone isn't chasing combining their passion with their career, and sometimes just do their career to earn enough so they can continue with their passions.
For other types of engineering, I think there is a bit of a thread of doing it for fun. The Homebrew Robotics Club comes to mind. The easier it is to actually create something in your field, the more there will be a thread of doing it because you love it.
Software scales differently, that's why software companies that benefit from that scaling pay so much for top talent.
I can't think of an area where being hyperfocused on your discipline isn't viewed as a a given to get to the top. It's just that most engineering positions that I know of don't care if you're the best to do X, and are more "can you do X". Equivalent to enterprise 9-5.
Deleted Comment
In the real world, I literally can’t name a single Senior+ engineer (at the FAANG+ companies I’ve worked at) who codes for fun outside of work. Plenty of them have other constructive and interesting hobbies, but not coding.
Put another way, your hobby app that got 15 downloads doesn’t matter at all if your day job regularly has you shipping code to millions (or especially if it’s billions) of users.
So we can be on HN and sing "Oh, you do you!" but that won't relieve the fundamental source of pressure.
I love programming. How much? I’ve written a bunch of little programs that nobody else will ever see, just for fun and just for me. Why? I just enjoy doing it. It’s more like knitting than studying. Sometimes it will come in handy—once my boss had an idea an I got to say “oh, I actually implemented that for fun the other day,” which was very funny, but it isn’t intended to be useful and 99% of the time it is just a waste of time.
Since becoming a manager at work less of my time is actual coding, and in the last 6 months or so I have started to code a lot more on my own projects and I'm really enjoying it. It feels like overall there is a certain desire/capacity for it, and if that is getting used up at work, so be it, if not, then it fills up outside of work hours.
Either way, each to their own. Some people would probably love to spend more time coding or on other hobbies but have other commitments like family to consider.
I love writing software. Over the festive period I wrote a text-based double-entry bookkeeping system with balance sheets and income (p&l) statements. For no reason; I just wanted to.
And that's how it is for me. In my own time I code what I want and purely for pleasure. Sometimes it relates to work, but it is never actual work stuff.
My work-life balance has the usual family aspects, but the main thing for me is making that clear distinction on what my motivation is for what I'm working on. As long the motivation isn't for work benefit that's fine, even if the learning outcome does eventually help there.
It's hard for me to "let them be", but I have to, obviously. It creates a lot of internal tension that I can't figure out how to resolve.
Not just coding but other types of technical work might benefit from not ruling this out, especially creative or innovative efforts.
It can really make a difference depending on where you stand in a project environment.
For me it was pretty easy to accept with cargo work where the ships come in at any time 24/7.
Before I started my company I had already gone the extra mile like this for employers when it really made a difference.
So I knew what I was getting into beforehand, I used to say you can run a company OK during business hours alone, but building a company may be the best use of nights & weekends depending on the circumstances.
It took some time but doing it for my own self turned out better after all.
It's not exactly a "super power" but good to have in your arsenal, plus in the right situation you could direct all your focus migrating toward having a 24/7 business that hardly ever requires "after-hours" effort after a while.
This, unfortunately leaves me with very little time to do the computer and electronics-related projects I would so love to finally be working on. Also makes it just about impossible to level up my technical knowledge to further my career. I kind of dream of retiring early and finding some low-paying job that keeps me walking all day but leaves me with plenty of mental energy to come home and rock out a few hours of coding or whatever in the evening.
Do strength training when you are stuck waiting for things: tests running, mandatory meetings where you only listen. I have a set of dumbbells and kettlebells next to my (WFH) workstation and put them to good use during most working days.
>There are wealthy gentlemen in England who drive four-horse passenger-coaches twenty or thirty miles on a daily line in the summer because the privilege costs them considerable money; but if they were offered wages for the service, that would turn it into work, and then they would resign.
Mark Twain