
It is perfectly OK to only code at work, you can have a life too - techtor
https://zeroequalsfalse.com/posts/it-is-ok-to-only-code-at-work/
======
jasode
_> , it is perfectly OK to have a life outside of work. _

Yes, _of course_ it's perfectly ok to have a life of not programming outside
of work.

But these types of articles are always missing the point: it's not all about
your inner feelings but _about the _others_ you don 't control who value
passion programmers more than 9-to-5 programmers_.

If you truly want to be at peace with this blog's advice, what you're really
saying is that you acknowledge that many companies, hiring managers, startups,
etc value the nonstop hobbyist programmer _but don 't care_.

On the other hand, many 9-to-5 programmers who want to compartmentalize their
coding to work hours _feel resentment and unfairness_ that many in the
business world _prefer_ the passion programmers with side projects, github
contributions, hackathon competitions, etc. This blog post will do nothing to
convince those hiring managers to treat the 9-to-5 programmer and the weekend
programmer as _exactly equal_. That's unrealistic.

~~~
neuronic
Life should NEVER be about others who randomly value some ephemeral stuff that
has no bigger meaning to you. NEVER.

Your life should be about what YOU value. If you want to work at a company
which carefully selects for "passion programmers" you will hopefully also
value that life style and it will be a natural match. If you value programming
to that extent you will naturally be driven to do that and that's beautiful
but not a life plan for everyone in IT.

Life is hard enough in all of its aspects - no one has the obligation to serve
some sort of purpose that somebody pulled out of their ass since most of use
probably don't live in Zerg states like China or North Korea where the
consequence is some sort of punishment.

I strongly recommend that people live according to what they value themselves
instead of making some billionaire richer in trade for burnout and your own
well-being.

People must survive and some just want to get done their 9am-5pm shift
everyday to get the bills paid because moving to a job that you love may even
be impossible for some.

THAT'S FINE. People aren't obligated to work with a true fire of passion for
Hewlett-Packard or burn with life and energy when programming the next ad-
tracking feature for Facebook.

~~~
matz1
I agree but then you must acknowledge that by chosing to restrict yourself,
you may lose competitive edge againts those who have no such restriction.

~~~
victorhooi
It proobably depends on the company, and the type of role.

Also, the fact that you describe it as a restriction probably reveals a bit
about your age =). (I don't meant that in a bad way).

I think a lot of it comes down to life stage.

If you're 24, with no family or commitments, life is easy and you can stay at
work late, or code till 3am if you want to - the worst is your room-mate (or
parents) might complain about the noise.

Hypothetically, if you're older, and have a wife and 3 kids...well, those
things are going to take priority (and they should). Of course, they can
provide an immense amount of joy and fulfilment - at least for me, far more
than my work can (although I do really enjoy my work as well).

I have worked in IB, algo-trading, and now in tech - and none of them compared
to the pure ecstatic joy I get from coming home, and making dinner for the
kids, or reading to them, or helping them brush their teeth.

I do still code in my spare time - but honestly, with a family, there may not
be that much free time (assuming you still want to keep other hobbies and
pursuits as well).

~~~
mustacheemperor
What if you're 24 years old with a two person family and limited commitments,
except for your drive to see the mountains on the weekends, to watch the
sunsets during the week, to keep up with your old friends online and read
history in the evenings?

I've seen the hypothetical comparison above made elsewhere, and it seems to
imply choosing one category of "ephemeral stuff that has no bigger meaning to
you" (the kids and the family) over another (work til 3am).

Not to denigrate anyone's joy of parenthood at all, much less the notion that
people feel as though they're driven by it! I just wish our culture could
foster more appreciation for the ecstatic joy of sipping a cup of tea at
6:30PM on the patio. As it is, I frequently wrestle with self-doubt that my
mindset is out to lunch and I may inadvertently restrict myself from the
greatest joys available in the future, including the joy of personal
professional success, by not spending more evenings coding til 3 in the
morning. But that's just a couple hours away from brewing the morning coffee
to watch the sunrise! That's the time I have to read about the longitude
problem!

------
tsukurimashou
Considering the amount of people in this industry that don't know what they
are doing, sure it is "OK".

Just don't be surprised that people doing code outside of work will probably
get better jobs / get hired more easily.

Some people are really passionate about the field, and don't really see it as
"working" I think it is important for these people to have both professional
projects and personal ones.

But like a lot of people that are passionate about something, a few of them
will end up being light years ahead of people just doing it for money, or
seeing it as a "regular job" just like any other job.

~~~
saiya-jin
Hard skills are surprisingly small percentage of the overall picture of the
person from employment perspective. An excellent coder who is hard to manage,
discuss, doesn't work well in team, or has trouble to simply do as asked for
next 2 months because its a priority for the company but definitely not fun,
is... passable for many companies, the bigger the more true.

In my experience, quite a few of these hardcore coders lack in 'human'
aspects. The employer can go an extra mile to manage them appropriately (ie
keep their work fun), but its an extra overhead that many don't want to
undertake.

But of course the group of those who have good people, communication and/or
management skills are usually priceless for the employer.

~~~
watwut
To some extend, I think that we also tend assume that to hard to communicate
with people have higher skills then they have. They are less right then they
like to pretend, but people don't like to question them.

Quite a lot of these issues is their inability to deal with requirements as
they are or construct they are unused to without temper tamtrum.

 _Everyone_ is more effective on fun tasks, faster when allowed to skip
uncomfortable requirements and looks smarter if no one dares to ask him
questions or disagree.

------
finnjohnsen2
Just stop it. It's OK not to have hobby coding projects, yes, but the opposite
is also OK. When I play with e.g. Arduino, game programming or some random
tech - this is in-fact my break from work. It's 100% driven by fun and play,
so don't tell me I have no life please.

------
glangdale
The tragedy of this is, as other commenters have noted, that many workplaces
don't offer much opportunity for developers to improve their skills in a
general sense ("you'll learn exactly what you need for success at FoobarCorp
by working on FoobarCorp projects!").

Couple this with our field's aggressive skepticism that anyone really knows
how to program, regardless of prior achievements ("reverse a linked list, you
big fat liar who lies") you've got a powerful motivation to ensure that you
can work outside of your long-term work projects. Because, let's be frank, a
lot of us, after spending a lot of time hacking on some particular system,
really get serious atrophy in our abilities to work with a clean sheet.

There was a point where I would have been able to confidently bang out some
bizarre NFA graph or SIMD algorithm in Hyperscan from memory but would have
been hard-pressed to remember how to open a file in C++ and read from it...

A compromise would be to constantly look for opportunities to extend what you
do (in terms of range, public visibility, etc) at work. If you can't, you run
the serious risk that any evidence that some significant work was yours will
be hidden away (unless you're working on open source) from the perspective of
any future employer.

This may be a point of negotiation with your current or future employer - you
may have to put your hand up and say "I want to do something public facing"
(i.e. "I want to spend X% of my time as a developer evangelist" or "I want to
do our blog on Y" or "I think we should open-source part Z and I'll lead it").

Obviously these things are not magically easy, especially the more junior you
are. I drove the process of open-sourcing Hyperscan (not for the reasons in
this post but for other strategic reasons) and that was a pretty hefty process
and a big ask, even for a senior person.

------
Ballas
Of course it is. People are different. I personally enjoy having personal
projects that are somewhat related to work, and help me develop a skill that I
will most likely need in a couple of months for work. It also takes a lot of
stress off work and makes it more enjoyable when you have experience in
something before you need it.

But I understand that other people might require less exercise than I do.

~~~
marcyb5st
How do you keep yourself motivated? I tried that many times, but in the end I
abandon a lot of these side projects. I might have a jolt of good-will when
starting, but when that fades I come home from work with my brain semi-fried
and feel like engaging in mindless activities or some sport.

~~~
JamesBarney
I don't know what will work for you but here are a couple of things that
helped me find the time/energy to work on side projects.

The first was taking more breaks at work so I don't get to that fried point. I
think if you're fried it's almost impossible to enjoy coding outside of work.

The second was writing down the next step at a granular enough level for each
of my side projects I could accomplish the next task in 15-30 minutes.

Third breaking up working on the side projects with a hobby. For me it's
starcraft, but could be chess, watching a show or listening to music. I've
noticed I can do 15 minutes of coding without winding back up into work mode.

Also purposefully having very low expectations of how much I'll accomplish
each night. Tonight was literally submitting an empty csv to kaggle, and
getting some data (any data) saved in my mobile app.

Have a bunch of side projects. I noticed that if I have 5-6 side projects the
probability I want to work on at least one of them is higher. Hit a sticking
point on the machine vision projects maybe make some progress on that mobile
app, not in the mood for that then I'll test out that new web framework I've
been meaning to try out.

~~~
marcyb5st
Thank you for sharing! Seems reasonable enough. Will definitely try more
breaks at work!

------
mattlutze
Developers _need_ to code after-hours in order to stay competitive in part
because our industry enables businesses to not to provide continual learning
time during an employee's workday.

If you had, say, 20% of your work week to practice on skills, technologies,
patterns or ideas that weren't a direct deliverable: would the average you
still feel compelled to spend so much of your free time additionally
practicing skills (ultimately to the benefit of your employer)?

We bemoan the scourge of scope creep and the waste of mass meetings.
Businesses demanding only short-term saleable output from developers is
another drag on sustainable productivity.

~~~
anoplus
> Developers _need_ to code after-hours in order to stay competitive

Which I think is an interesting social problem, where people feel
uncomfortable not working after-hours because others do.

I am a developer. I began a secret personal experiment where I do the
opposite. I take 20% of my working hours for personal development without
anyone knowing. I want to see if I actually become better professional. It
takes great discipline for me in the face of pressure. I keep work related
tasks out of my free time to minimum. I am not always succeed in taking entire
20% time to be honest.

I also try to take short breaks to avoid burn-out.

------
cygned
The reason I code outside work is that I have the freedom to tinker around.

I also recommend to do that. In my opinion, the more you challenge your
knowledge and opinion by trying something new, the better you become at your
profession.

~~~
AllegedAlec
> I also recommend to do that. In my opinion, the more you challenge your
> knowledge and opinion by trying something new, the better you become at your
> profession.

Why should I spend my free time to be a better wageslave?

If I have projects that I like to work on for myself, then sure, I may do some
coding. However, there's no chance in hell I'll give up my free time to
improve my value to an employer.

~~~
Drakar1903
>Why should I spend my free time to be a better wageslave?

Because if they lead to a higher salary and you can keep your spending habits
the same, you have an option of having a stronger safety net, an option to
retire at 45 instead of 65, an option to see Java the island and not only Java
the programming language.

~~~
saiya-jin
Apart from that retiring at 45 (more like 60, no problem with that), all those
can be had while having tons of free time for other hobbies, adventures, or
more importantly family and friends. If you have kids, those years not spent
with them will never come back.

Nobody dying is proud how hard they worked and how much they increased their
market value.

~~~
thaumasiotes
> Nobody dying is proud how hard they worked and how much they increased their
> market value.

I'm 100% confident that this is false.

------
tybit
One more factor I think should be taken into account is how much learning
people get out of their work.

40 hours of meaningful work pays off tremendously IME, unfortunately it’s
quite easy to be doing closer to 0 hours of meaningful work than 40.

------
stared
Speaking as a person with (way too) many side projects, I think that it may be
wise to code only at work.

Quite a few very productive people, who work during work, and then later - do
something different (so not "coding another app", or even other ways of
spending time with a computer). It seems to be healthier long term - I met
much fewer burnouts among them.

It is not binary - such people do _once in a while_ time to learn something
new. But it is very different from having a "second job".

...

At the same time, I don't know many companies that do like side projects
(well, some offer non-negotiable contracts de facto forbidding them, vide
Google).

If a company looks for a person with inner passion, usually it is a hope to
channel it into company's work, to get (instead of a 9-5 worker) a 9-9 worker.
The best companies I worked for _do not interfere_ with someone's side
projects.

------
jonny383
It is what it is, really. Some of my colleagues cringe at the thought of
touching a computer either after hours or on the weekend. Others literally
spend their entire 16 awake-hours on computers (not necessarily just
programming, but a large majority are doing technical side projects, etc).

Is there a difference in their work output? Absolutely there is, in my
experience here. Contrary to my prior assumptions, it is actually the _die
hard_ tech guys that

\- Produce excellent work

\- Produce a consistent amount of work over long periods

\- Keep up to date with tech

\- Don't really seem to suffer "burnout"

\- Consistently improve their skills and progress their careers

\- Have a high probability of being enthusiastic about a new project,
technology or their work

Where as the ones who are "work-only" programmers (not always) tend to

\- Produce excellent work in short bursts, and then average work the rest of
the time

\- Do not produce consistent amounts of work over long periods

\- Not only struggle to keep up with tech, but actively _fight_ the idea of
having to learn something new

\- Have a high probability of going to management to discuss their "burnout"
and take extra time off

\- Seem to have one specialized skill set that neither improves nor gets worse
- they just float around the same level

\- Rarely show enthusiasm for a new project, technology of their work

People often refer to "burnout" in the context as a short term solution - but
I honestly think that "burnout" as we know it is a result of someone who has
already "checked out" or "lost the passion" for what they do (or perhaps, they
never had it, and just went into this career for other reasons)

This seems really grim for the non _die hard_ people, so here's some positive
traits I've seen in them that are usually lacking in the _die hard_ people.

\- Typically have much better communication skills

\- Usually better at reasoning for which technology to use in a project
(ignore "language or framework of the week")

\- Are better with customers and maintaining relations

\- Provide more support to their colleagues

\- Willingness to take on different kinds of tasks (no attitude of "that's not
my job")

I think it's fair to say that balance is key between these very dynamic
cultural traits we observe as programmers.

EDIT: formatting

~~~
fsloth
It's okay not to be passionate about new technologies. From CS point of view
it's all turtles down and you can implement the same algorithms and
datastructures on pretty much on any language.

Being to enthused about new technology is my jaded eyes perhaps a negative
trait. New is not always better. Better is better, and if it's better, then
it's better - not just because it's new.

From business point of view caring actually about the domain after you know
how to program is much more important than caring deeply about the
implementation language or platform. Programs in the office are developed to
help end users in their work. That's what matters - solving the end users
problem and making their life more productive. Not doing it on the latest and
greates language version.

------
kstenerud
There are lots of things it's perfectly fine to do or not do; that's not the
issue. When it comes to competition, you must take advantage of every edge you
can get. And when you're seeking a position, you ARE in competition.

As an individual, there are a number of edges that you can leverage to your
benefit: raw talent, acquired skills, shipped products, your network, and
politics. Which ones you build and practice is your own affair, but for your
future's sake at least build SOME of them.

------
skocznymroczny
I have a problem, in that I don't only code at work. I actually code quite
often outside of work, but I mostly play with some ideas or implement some
simple prototypes for games, websites or stuff I am into. But I never really
build a product or anything that I'd be proud enough to show in a portfolio,
so from a hiring perspective it's as if I didn't code at home at all.

~~~
wccrawford
As someone who has interviewed a lot of people, those projects _do_ count. If
you're leaving them out of your job applications, you're probably hurting your
prospects.

I'd say to describe them exactly as you have here. The very fact that you're
motivated enough to do them is a point in your favor, and if the code looks
decent, that's more points.

If I compared you to someone else with the same resume, I'd hire you over
them.

------
Nursie
I find that middle answer a little objectionable -

Some of the best developers I've ever worked with do very little coding
outside of office hours.

They all had a passion for it, and they tended to do some goal-oriented
projects outside of work time now and again, but not be constantly hustling a
side project or attempting to pick up a ton of new skills every single
evening.

The implication that you can't be the best unless you're dedicating another
20-30 hours a week on top of your day-job is just wrong. And the idea that
throwing another 20-30 hours a week outside your day job at coding will make
you better at it than someone that doesn't also isn't really borne out by
experience.

You can be passionate but have other hobbies and your own life away from the
screen. The passion is the important thing. (OK, and the skill, you need an
aptitude for this stuff)

------
fimdomeio
It's ok to do whatever you want to do. To me it's important to pursue other
interests and do little code outside working hours. Maybe I'll not be as good
of a coder but I'll be a better person overall, and for me, that's the point
of all the effort.

I'm really curious about people claiming to work more than 40h a week. How
much of those hours are productive work? Are they really any more productive
than anyone working less hours? Do they all eventually burn out? Are they
happy?

------
seanwilson
People say to avoid Facebook + Instagram because seeing lots of posts that
exaggerate or distort the positives and play down the negatives of life is bad
for your mental health.

I think this should be applied to tech community posts as well - you don't
need to be working at a big tech company, be a millionaire, have your own
successful solo project etc. to be happy with life. Constantly comparing
yourself to other people is a fast path to unhappiness.

------
thiht
Does the title try to imply that having a life and coding at home are
incompatible?

Maybe just try to stop shaming people who enjoy coding at home, for a while? I
have no idea why this rhetoric is considered ok.

------
k_sze
I’m now a tech lead and I don’t code much even at work, but I still don’t have
a life - no friend, no real hobby. Haha

~~~
mikekchar
Just random advice: feel free to pick a hobby randomly. My friend did that and
I thought it very strange, but he committed himself to it and eventually
really enjoyed it. Not only that, but he met a lot of people and eventually
met his wife that way. It sounds weird, but if you aren't particularly
passionate about something, it's a bit easier to pick a hobby because you can
choose anything. Based on my friend's example, I decided to pick cooking as a
hobby -- because who doesn't want good food. It's still the thing I do
whenever I'm stressed out and just want to relax. It's a very strange thing.

~~~
k_sze
You misunderstand. I have no life _because_ I’m married and have two kids.

------
ArcMex
But I like coding at home after coding at work :)

------
peterburkimsher
I write programs for fun. I build hardware for fun. I also travel, go to
church, listen to music, go to concerts, cook, volunteer for NGOs, participate
in CouchSurfing, ride a bicycle, take photos, play games, study, parapente,
ski, hike, and swim for fun, and somehow even have the time to sit back and
watch a beautiful sunset when there is one. I don't watch TV, drink, rarely
watch movies or YouTube, though sometimes play AoE.

Ideas come all the time, usually from those other areas of life. When I have a
new idea, it makes a mess all over my browser tabs and desktop while I read
all about how to implement it (data sources, existing projects). The idea
consumes my thoughts. I talk about it to people who I meet. When I should be
praying, I'm thinking about the algorithm. The obsession is probably rather
weird to non-technical people, like my long-distance girlfriend.

If I'm in the office but haven't got any pressing deadlines for company work,
I'll do some coding on my side project. It's not usually something that can
make money, though it is usually educational. I want to be able to publish it
on my Github, although I often procrastinate writing the documentation. Some
companies (e.g. Google) say that they support innovation, but they want to own
all my intellectual property, and that means that I'm not allowed to pursue
ideas while working there. I've avoided such companies for specifically that
reason.

When I finally do write it up, my software Show HN will sometimes get onto the
Hacker News front page, or hardware on Hackaday. Very rarely, someone might
see that and offer me a job. I suppose that's the reason I've written less
documentation these days; I'm waiting until I hear a visa result and then I'll
know about which country I should be working in.

My ideas don't make money. I'm probably the only user. Yet in practice, side
projects have helped me build up a code base that I can use for all
programming tasks, including at work.

In case you're wondering what kind of ideas these are, here's a small sample
from the last year: EspUSB WiFi keyboard manufacturing, 12V and mains to USB
adaptor inside a car form factor, WiFi to VGA on an ESP8266 for PPT slides,
Fondant (JavaScript bookmarklet to load pdfjs library to open a PDF file to
run a self-contained web app stored as PDF attachments), MySpace Dragon Hoard
by country/language/genre for learning languages through music, a
Chinese/English chatbot based on song lyrics to automatically write love
letters.

I don't judge people who only code as work; they're better at making money
than me, and are definitely more likely to be promoted to management and have
a good career. All these other things inspire me in a way that LeetCode just
doesn't. Therefore other people get interviews much more easily, and know how
to sell themselves. I'm bad at front-end design, so as a portfolio most of
these look like rubbish. When I have a job (like now!), I don't need to worry
about food and shelter, and the rest of things in life mean I'm quite happy,
really. Being contented means I'm not interested in the "hustle", so I'll
never make as much money and I know it, but that isn't important to me. I hope
this resonates with some other passion-programmers, and I'd like to hear any
opposing or similar perspectives.

------
meesterdude
keep telling yourself that. in 2020, it's all about the hustle.

~~~
welly
I've been working as a web developer since 1994. I've done my time, now my
evenings and weekends are for me.

------
77544cec
I code a lot, work 70h per week and am looking for a job. Contrary to 9-to-5
programmers I have built __really __complex systems (like a debugger or a sql
engine). I can find an optimal solution in 10 minutes for almost any code wars
challenge > 4 kyu. Who is hiring ?

~~~
lawn
> Contrary to 9-to-5 programmers I have built really complex systems

Those programmers have also built really complex systems, including a debugger
and a sql engine.

And many of those don't sound like an ass either, hence the downvotes.

~~~
77544cec
Yeah I always sound like an ass this is why I have a lot of problem finding a
job. However once I'm hired I really do work 70h a week for 38k€ (per year,
yes) but still am treated like a piece of shit (the reason for that is pure
discrimantion but I won't dwelve into this). Then I leave, and they ask me to
come back, still treating me like a dog.

I wan to kill myself and I want to kill you.

[https://www.youtube.com/watch?v=axWt4HVT7iY&t=3m57s](https://www.youtube.com/watch?v=axWt4HVT7iY&t=3m57s)

------
logicallee
(Edited for clarity.)

Many of the most famous coders aren't just coders, but supercoders.

Because software has a marginal cost of 0 (development cost rather than per
unit manufacturing cost) there is pressure to become a supercoder.

I have an analogy for this:

Think of the life of a supermodel. Not just a normal model, but a supermodel.

If you want to be a supermodel, I believe it's not enough to just diet while
you're at work, and come 5 p.m. or the end of a shoot start gorging on chips,
sugary beverages, fast food, candy bars and ice cream until shooting starts
the next day. Instead I believe a supermodel is on a "diet" all the time,
through their whole career; it's part of their lifestyle. They wouldn't be a
supermodel if it weren't.

Analogies are leaky but could this be true for "supercoders" too?

Maybe a supercoder is not going to be able to clock out at 5 p.m. and not
think about or touch code until the next day. Maybe it is a lifestyle.

It seems clear that there are "supercoders", such as Linus Torvalds or John
Carmack in the world.

Are there any who don't have coding as a "lifestyle" and who just coded a few
hours a day while they built their careers as a supercoder?

As with being a supermodel, not everyone needs to be a supercoder, even to be
a professional coder, and that's okay.

However, I think supermodels are more beautiful than everyday people, and
supercoders code better than the average coder, too. They command different
salaries, dictated by supply and demand.

~~~
modo_mario
A rather bad analogy. Super models are not unique in that they take their work
home and watch their diet, their skin, etc Plenty of regular models and people
that you'll find putting in the same or more. Sure they maximised their chance
of success by putting in this effort and by getting out there, etc but that
the end of the day they were still lucky with their features, who they met,
that persons preferences, etc.

As far as the actual topic goes. Sure there is pressure to become a super-
coder and again there's some prerequisites like high intelligence but also
drive that stems from passion and the ability to focus for extended periods of
time. Is one of those things not found either naturally or because he's boxed
into some employee role that coder isn't necessarily bad but unlikely to reach
that status and is just gonna burn out.

