It is perfectly OK to only code at work, you can have a life too
reddit.com
reddit.com
That short life-affirming quote structured like a pithy aphorism is hiding the true debate that motivates it.
The real discussion before that quote is this:
Some employers prefer programmers that like programming outside of work. For the other programmers that would rather constrain coding work to 40 hours a week, they feel that employer preference is unfair.
So yes, of course it's fine to want to do non-coding activities outside of work... but that's not what the real frustration is about.
Unfortunately, there's nothing you can do to prevent some employers for preferring coders who code outside of work. It's been that way for decades. On the other hand, some employers don't care about personal coding projects so that culture may be a better fit.
What I do appreciate is them being honest and upfront about it so that I don't waste time pursuing a job that might not fit me.
I feel like I have to sneak around when coding after work.
Engineers that are steadily growing and continuing that professional growth may work on things outside of work. But they definitely ensure that whatever they do at work, in those 8 hours a day when they're on the job, is in large part contributing to that.
IMO, that's 99% of it. Engineering off the job or on a side project? It indicates a certain degree of intrinsic fascination. But if that's targeted in the wrong direction, it can result in someone being distracted and building the wrong thing really well. It varies.
I have talked to startup founders who were very explicit that they only hired developers who coded obsessively outside of work. One was very clear: If you didn't have a public Github profile showing a track record of frequent commits on personal project outside of work hours, you would not be hired at his firm.
> I've mostly found that working on software outside of work has minimal correlation with productivity.
Same. That doesn't mean everyone is hiring based on that.
If they make that public it would be good, it would save me the bother of applying for a job with them.
How did I do?
I'm not sure why it would hold that, if you do something for 40 hours a week, you'll necessarily improve if you do it for an even greater amount of time. And, besides, effectiveness as a developer is not just about coding anyway. A lot more goes into creating products and services than lines of code.
And as for things like programming or any mental/intellectual skill like that? I highly doubt it.
As a general rule, you're going to see heavy diminishing returns on time invested. By the time you've spent 40 hours doing it, a few more hours on the weekend is unlikely to have any real benefit, and to the extent it causes burn out or takes the place of something that helps you stay healthy, it's likely to be a net negative.
I think the dangerous thing about people thinking you have to code all the time is that they're just assuming that it makes you a better coder without any real reasoning. And that's the kind of assumption that is very prone to confirmation bias.
What's the sales rep supposed to do in their spare time to study and practice? Or the finance person?
Do I want my surgeon to be studying the latest techniques outside of his work? YES
Do I need a surgeon who dissects animals and removes tumors at home as a hobby on weekends? NO
Many employers prefer programmers that keep current with new technologies, and programmers will generally have better opportunities for job switching the broader their skills are. Many employers also don't provide much opportunity for breadth development in working hours, leaving programmers in a narrow lane if they restrict themselves to programming at work.
It's not that employers specifically prefer you programming outside of work, programming outside of work is a way of avoiding getting sick in a rut defined by you your present role with your present employer.
There are, also, employers that use “your life is coding” as a filter, probably because they are looking for people whose preferred lifestyle wouldn't change if they were in nearly 24/7 crunch mode. Unless you are one of those people, even if your actually do like to code outside of work, you should probably avoid those firms like the plague.
In reality, most people that code outside of work do so to learn new things; new stacks or languages, or take on projects that are orthogonal to their day job.
I think the argument should probably be framed around "learning outside of work" rather than "coding outside of work".
But during my spare time, which I would like to designate to my own projects, life kicks in. Something breaks, an old friend is back in town, I don't feel well, there is a recipe I want to try or my girlfriend and I want to have a day outdoors because we didn't have enough quality time together during the week. Then Sunday evening comes and I become sad because I'm far behind my own plans.
But the most important thing I was missing is thet I actually enjoy stuff beyond coding. I was so concentrated on it that I stopped being thankful for all of the detours that make my life complete and meaningful. Tonight I'm going to change the mixer tap at my folks home, and I'm glad I'll make them happy and life a bit more comfortable. My buddy is back, so latter were going out for drinks, we're gonna have a ball. And I actually love those things, it's refreshing. Yes I would like to brush up on some fresher skills or try out the latest AWS Blazefeather. And I will eventually. But I realized that other stuff in life makes me also a calm and enjoyable person, and personality and temper is also a part of an engineers value.
That’s certainly a choice; there’s nothing wrong with it.
OTOH, if you enjoy coding (as I do), there’s also nothing wrong with coding at home or doing the occasional extra work from home (and conversely, dicking off in the office now and then when there’s an opportunity).
Many find that being flexible like this yields a better outcome for all parties.
However, as you suggest, I also generally will do a bit of work here and there if something comes up and tend to checkin on email now and then at home. Conversely, I'll run out and do a few errands on weekdays if I need to pickup groceries, etc. I know a lot of people have trouble setting boundaries for various reasons (with faults on both employer and employee sides) but overall I find flexibility can be a better deal for everyone.
But sometimes I don't want to code at home - I have other hobbies, a wife, friends, .. that I'd rather do something with. But I do find that after a certain time I'll miss programming for fun.
It used to bother me when I lost motivation to work on side-projects or to learn new things. But after losing and regaining the motivation often enough, I now figure it's just a cyclical thing. I might be on a day out with my wife and suddenly think of something I want to learn and continue spending several weeks learning or building it. Only to find myself without a project again for several weeks and enjoying going to the movies, gaming, citytrips...
The only thing which I do believe is that if you have absolutely no interest in learning new things - in your own time or in paid time - it's going to be hard to keep up with the evolving industry. But I could be wrong, we still have the cobol cowboys... :)
As a coder, you have the ability to create almost anything. How can that knowledge not tempt you to create something yourself?
(I actually do some unrelated personal writing but not a huge amount.)
There are also people for whom coding really is just a job. It puts food on the table. They enjoy/tolerate it well enough for what it pays. But it's not something they want to do as a hobby.
ADDED: People can do whatever they want in their spare time. But, not to pick on you, the belief in many corners of tech that writing software must be some all-consuming passion is unhealthy.
To add to this, it’s not only unhealthy but leads one away from the concrete reality we live in and this results to out of touch thinking.
Don't assume every developer loves coding. I didn't meet any developer who hated coding, usually they like it, but loving it as a hobby is a different thing.
You cannot create "almost anything" with coding, it's not like I can bake fries by typing some code.
I do not write this in jest, I just find that people tend to overestimate coding.
I believe you can create anything with coding. You can automate home routines. You can figure how the best dose of vitamins and supplements. You can optimize finances. It’s pretty limitless. Not to mention staring at a screen, giving it commands and seeing the result for hours just being fun. In both a meditative way and a discovering secrets way.
But for many people, it’s a job and not interesting in and of itself.
Someone mentioned painting and there are painters who make art and do it for expression. And there are painters who paint houses. They are both fine professions and really just a choice or an orientation. I don’t do either, but I think the artist painter will do lots of side projects outside her studio while the house painter is less likely to paint too many houses pro bono.
This doesn’t mean programmers who code outside of work are superior humans. I think any company who has this as a binary hiring decision is missing out that there are great programmers who don’t do it out of passion. I once worked with a programmer who didn’t own a computer (in 2005) and he was good. And there are hobby programmers who suck at work even though they have lots of personal projects.
> But for many people, it’s a job and not interesting in and of itself.
I am one of those people who want to only code at work. I also enjoy programming a lot.
My problem with "coding for fun" for me is that anything interesting that I want to build gets tedious after the initial, easy and fun parts are implemented. I end up trying to fix edge cases and debug hard to fix bugs.
At that point it feels like a chore to do.
> This doesn’t mean programmers who code outside of work are superior humans. I think any company who has this as a binary hiring decision is missing out that there are great programmers who don’t do it out of passion. I once worked with a programmer who didn’t own a computer (in 2005) and he was good. And there are hobby programmers who suck at work even though they have lots of personal projects.
Exactly. People who want to do something else don't go around demeaning people who code in their free time. But the opposite does happen.
I mean, you'd need hardware, but cooking based on software is obviously a very real thing.
If you can code a bartender, why not a baker? https://www.youtube.com/watch?v=2DopvpNF7J4
My greatest accomplishments were all done as paid work for other people and I'm very proud that they could build a successful business with the things I've created.
I'm not terribly interested in going into business for myself because A) I suck at it and B) it's just not that interesting for me. I'd rather someone else take on the risk of having a cool idea and the knowledge to run a business and let me help them get the technical side under control. That's what I'm good at.
Oh, it definitely does, but...
The stuff I wrote during school, in Turbo Pascal, is just too old and completely unrelated to what I do for living now.
I also have hobbies other than programming. Since I started spending 8 hours a day coding at work, I usually spend my afternoons doing the other things that interest me. When else should I be doing them?
And now I have small kids, so there is almost no free time anyway.
The projects I did in previous jobs, I don't own the code. I was never paid to work on an open-source project.
...and this is why I don't have anything to show you on Github. Not because I don't care about programming, but because I also have a life. (Perhaps that is a competitive disadvantage. Well, I can still find a job regardless.)
Yeah, I could choose to just ignore everything for a few weeks or months, and build something on Github instead, just to get that extra point at an interview, but it would feel like building a Potemkin village. Unless really necessary, I would prefer not to do that. I hope this makes sense.
If I was interviewing a person who told me they have never created anything that wasn't for school or a paycheck, it would definitely bother me-- but I would still do my best to look objectively at the quality of their work. After all, there are many skilled electricians and plumbers who don't use their skills in their own homes unless they have an annoying problem they can fix easily.
Take a good productive software developer 30 years ago, and time travel him/her here today and they will be productive with very little ramp-up. A bad software developer from 30 years ago will be bad today too.
Learning for its own sake is great, but don’t actively try to create and get on an unnecessary treadmill.