
Top developers can have a life outside coding - sidcool
http://www.belenalbeza.com/top-developers-can-have-a-life-outside-coding/
======
kd5bjo
A lot of comments are bringing up top athletes as a counterexample, which
leads me to believe they don't understand what a high-level training regimen
is actually like. I have a relatively unique persepective on this[1], so I
thought I'd clarify a few things.

Any sport is both mentally and physically exhausting, and it only gets more
strenuous as you reach the higher levels. Nobody can keep this up all day,
every day, for their entire working life; people who try flame out early and
don't make it much of anywhere.

Instead, the goal of the top players is to train as much as possible today
without sacrificing their ability to continue training tomorrow. Usually, this
is less time than an office job requires (but more strenuous). The rest of
their time is spent in "recovery," which basically means whatever they want to
do as long as it's not too taxing.

The defining feature isn't spending their entire life on the sport, it's
giving it _priority_ : the rest of their life is scheduled around their
training needs instead of scheduling training around their life.

[1] I've been on sabbatical for two months at a tennis academy; some of the
kids here will undoubtedly make it all the way to the pro circuit.

~~~
cagmz
I like the idea of applying less time, but more strenuous effort, towards
programming, but how does someone do this?

~~~
caseysoftware
I started five things a few years back and have had great results:

\- I set up an email filter where if I'm _not_ on the TO line, it skips my
inbox for another folder. I only read that folder twice a day. If it's
important, they'll write to me directly.

\- I (almost) never accept a meeting with less than 2 hours notice. The
exceptions are rare and far between.. and usually come down to a few
legitimate emergencies. Poor planning is not an emergency.

\- I never accept a meeting without an agenda. It doesn't need to be detailed
but "I'd like to chat about X, Y, and Z" gives me the opportunity to
prioritize, reject, or get you to someone more appropriate.

\- I only answer my phone when I'm expecting a call. If you and I have a call
planned, I will be there and respect your time by closing email, etc. If
you're just calling me to catch up, I'll get back to you on my schedule.

\- My phone & computer never enter the bedroom. You are welcome to email,
slack, DM, etc me at 2am but you should assume I won't see it until the next
morning.

Limit your distractions, take control of your time, and your work will become
more effective _and_ you'll feel better about what you accomplish.

~~~
Schwolop
I never normally take advice about email habits, but that simple filter is a
good one. I already have ~100 filters that move things and mark-as-read
useless things - and that works for me - but that one addition might well keep
the inbox (which is basically my task list) cleaner.

------
jkot
I think this article is detached from reality.

Most people who contribute to OS are on low income, unemployed or students.
Top developers in banks and startups dont have time for that, or are forbidden
by their company.

Being "top developer" is one of the most family friendly jobs that ever
existed. You can work remotely at your own time. I quit cubicle and started
working on opensource because I had family.

> _you might develop a mental illness, like depression,_

Many people in IT are a bit weird. Again its one of the most friendly jobs
that exists. Developer does not even have to speak to people, all can be done
via email.

> _20-year-old white guys with no responsibilities and /or with enough income
> to "buy" more free time_

Good old racism and man hate is doing just fine.

~~~
TickleSteve
Despite rumours to the contrary... remote working is still a _very_ small
minority of coding work.

The overwhelming majority of coding work (at whatever level, top or bottom) is
carried out 9-5 in offices.

Also "top developer" != "open source developer".

~~~
pjmlp
Yep! It angries me that I always have to fight for remote work, but it is not
a problem for the teams down the corridor that just outsourced the work
somewhere in this universe.

~~~
sokoloff
IME, outsourcing works because you get (most) management onus placed on the
outsourcer. Remote workers with in-office management doesn't feature that.

~~~
pjmlp
Having been part of outsourced projects since 2008,I would say that is a nice
theory.

You require the same amount of in-office management.

Every time that management decided as you say, they got something else as
delivery.

~~~
galdosdi
So true. In fact, it can be even worse managing an outsourcer style vendor,
since the natural industry pressures lead to outsourcers being very
incentivized to find the very minimum possible effort they can spend on a
client project without losing the contract.

As a result, getting more effort out of an outsourcer may feel as annoying as
getting your insurance company to approve your claim -- their entire company
culture/process has evolved and/or been designed to prevent this.

By contrast, individual employees (remote or otherwise) might get lazy or
burnt out or have personal problems or something, but few of them are actually
Wally from Dilbert, using all their available effort to avoid having to make
any effort

------
Mizza
The tragedy is that the blog post, and the resulting commentary here, are
about identity, when the heart of the topic the author is _really_ talking
about (if you actually RTFA) is class/capital. This tragic misdirection is the
defining problem of our time.

The people who are working, be it white collar "tech" employee or
manufacturing/service worker are those either who are forced to do so because
they will starve if they don't, or, in our industry (and perhaps social/medial
work), the monastic types who write Free Software (or similar) because it is
the morally correct thing to do. To say that it's because they are white or
young or male (or even that this kind or service is a privilege and not a
moral imperative) is the kind of misguided, thinly-veiled class erasure that
the predominant strain of big-C Capitalism is currently benefiting from.

Don't let people stereotype you. If you want improve your standing in the
labour market, ORGANIZE, don't stereotype. Neoliberal capitalists are taking
advantage of young people and poor people. Don't let them! If we play our
cards right, they won't for much longer anyway! But please keep in mind that
this kind of "ingroup/outgroup" mentality is a divisive thought pattern that
deliberately works to their advantage! It has become common and tedious for a
deliberate reason!

Your heart is in the right place. All workplaces mistreat you. Blame your
bosses, not your co-workers!

~~~
CamonZ
The irony of your communist commentary is not lost on me, you say we shouldn't
in/out group while you're in/out grouping people in bosses vs workers.

I'm a worker and on my last position I was at an outsourcing firm that while
pretending to care about its employees underpayed us while overcharging their
clients, whenever we wanted to get a raise the goalposts of what was necessary
were moved so it wasn't achievable and the overwork was masked behind a "we
care about quality" attitude. Given all of this understandably we had a very
high burn rate for devs.

I decided to grow up and begin to figure out how to do my own selling so I can
charge what I want, work on the projects that I want and the hours that I
want. I don't blame "Neoliberal capitalists" for my own failures, it's self-
defeating and childish to not take control over your own destiny.

------
Wintamute
> Who can afford to keep coding after an 8-hour work day of coding? Who
> doesn't get harassed in the open-source community? 20-year-old white guys
> with no responsibilities

Yeah, stopped reading at this point. Your "intersectional social justice
theory" is just casual sexism and racism to me.

~~~
stedaniels
Uhuh. Because the author didn't list half a dozen examples you cast them as
sexist and racist. Bravo. We need more people like you in society!

~~~
stingraycharles
The point is that the author should have elaborated on the circumstances that
are required to be able to do that, rather than generalizing based on gender
or race.

------
andrewstuart
I am a recruiter and always ask this question - "Is programming just a job for
you to get the bills paid, or do you have a broader interest?"

The thing to understand, and what the author of this post has wrong, is that I
am not looking to hear about how much TIME a developer spends on programming.
I am wanting to hear the STORY of their personal interest. Because the truth
is that if software development is a personal interest to you, then you will
find a way to pursue that interest, within the time that you have. You'll find
a nook or a cranny in which to dig about learning things and finding out new
stuff - maybe for 30 minutes before you go to sleep, or on the train, or
somewhere.

The point is that employers want people who are INTERESTED - they are not
necessarily looking for people who spend all available personal time pursuing
an interest in software development.

And I can tell you with certainty that if you claim to have a person interest
in software development but you cannot find any time outside work to pursue
that interest, then you are lying. Perhaps to both yourself and the recruiter,
but certainly you are lying. If you have a personal interest then you are
DRIVEN to pursue that interest. If you claim a personal interest but also say
"I'm just too busy these days to do anything.", then you have failed to admit
that in fact you do not have a personl interest, you just go to work to do
your job and go home.

So no, recruiters - at least this recruiter - are not looking for people who
spend all non work time pursuing an interest in software, but are looking for
people who can effectively articulate their passion and can explain how they
DO fit it into their life.

Talk to me, engage me in a conversation, explain in some depth the things that
you do find interesting. This has nothing to do with spending hour up endless
hour writing code, it has to do with connecting directly to your personal
interest, to the thinking that you have done.

~~~
jschwartzi
So, is recruiting a passion for you? Did you find yourself driven to do it
whatever the cost? What personal recruiting projects have you done recently
that you're proud of? Do you connect your recruiting with a personal interest?
What kind of recruiting do you do outside of work hours?

I would implore you to re-read what you wrote but instead of making it about
software engineering make it about recruiting. Then tell me that it's not a
double standard.

~~~
zacharypinter
He's reading and commenting on a Hacker News post about jobs on the weekend.
Seems like that answers at least part of your question.

------
patio11
I propose the Daenerys Targaryen test.

If you know who Daenerys Targaryen is, you do not have "no time." You have
priorities which included "I wish to know who Daenerys Targaryen is." No
judgement! I do, too! But if you know who Daenerys Targaryen is _and_ you're
dissatisfied with your career growth, you should attempt to consciously be
aware of the fact that you can choose different things in the future.

It takes minutes to set up a web presence as a software developer. It takes
1~3 hours to stick a flag in the Internet about one topic. Having one flag
stuck in the Internet beats zero flags, _by a lot_. You can keep doing this as
you have time available. (Think less "submit bug fixes to OSS projects" and
more "write an essay which shall endure regarding a topic which is
professionally relevant to you." To pick one of the _hundreds_ of things in
this genre produced by an HN member, see
[https://www.chrisstucchio.com/blog/2012/hft_apology.html](https://www.chrisstucchio.com/blog/2012/hft_apology.html)
where HN's own yummyfajitas explains, in a useful and citable fashion, how
order books work. You almost certainly know one topic well enough to post
something which clears that bar of utility on any given day.)

You could also, I don't know, invent Rails, but _you do not have to invent
Rails to get career benefits out of working publicly_.

After you have a flag stuck in the Internet, there are a variety of ways to
get value out of it.

The simplest one is using it as a conversation piece when you're cold-opening
conversations with folks who are relevant to your career. For example, if
you've decided to stick a flag into (picking a random example) ActiveRecord
optimization, and you're attempting to talk your way into a job interview with
a Rails shop, "I see you're a Rails shop. I would like to talk to you about
potential opportunities at your company." is _substantially_ improved by
"Hiya, I see you're a Rails shop. I wrote a detailed guide to ActiveRecord
optimization (see here). I would like to talk to you about potential
opportunities at your company."

Another one -- also not hard! -- is to put a call-to-action at the bottom of
the essay saying "If you're reading this, it is probably because you are
interested in ActiveRecord optimization. So am I! If you've got hard problems
with ActiveRecord optimization I would love to help you solve them. We should
chat; here's my email. "

~~~
lgieron
> I propose the Daenerys Targaryen test. If you know who Daenerys Targaryen
> is, you do not have "no time." You have priorities which included "I wish to
> know who Daenerys Targaryen is." No judgement! I do, too! But if you know
> who Daenerys Targaryen is and you're dissatisfied with your career growth,
> you should attempt to consciously be aware of the fact that you can choose
> different things in the future.

I don't agree. I watch Game of Thrones in the late evening hours where I'm
reduced to a vegetable by a whole day of working/coding. I doubt I could
squeeze more effective work hours into my schedule (maybe for a couple weeks,
but not over a long term).

~~~
hawkice
It seems that professional programmers have little understanding about the
limits of human endurance in skilled labor. Junior doctors work 100 hour weeks
and 36 hour shifts so busy they often don't have time to visit the bathroom.
It may slightly harm your productivity by working more (almost certainly will)
but to say you can't do anything on your own time except for watching Game of
Thrones is overly pessimistic.

~~~
lgieron
The doctor's job is not exactly equivalent. After a day of programming, I feel
I could still put in a couple hours of light manual labor or say drive for
Uber, but I'm unable to focus intensely any longer. Doctors probably use a
much greater variety of skills (and not just intense focus on 100% abstract
problems for 8 hours), hence I think their resources deplete slower.

I know that when I've worked at jobs which weren't all about focusing on
abstract problems (such as an analyst or a consultant or a project manager), I
could definitely put in more hours.

EDIT: Also, air traffic controllers (a job that I feel is more similar to
programming than being a doctor) are restricted by law to work no more than 6
hours. From what they say, after their shift is done, their brain is often
completely fried.

~~~
mac01021
Do you really focus intensely for several hours at a time during a typical
workday? What industry/domain are you working in? In my experience, most
software jobs mix bits of intense abstract reasoning, distributed throughout
the day, with an at-least-equal amount of tedious gruntwork or meetings.

~~~
lgieron
For jobs, I do rather typical Java/Scala/BigData development. I agree that the
there's a bit of mindless tediousness in the jobs, although a lot of it can
eventually be automated.

However, IMO, when working on a large code base which you didn't author (so,
pretty much the most typical case), if you want to do a good job - i.e. think
through potential consequences of your changes, weight the pros and cons of
alternative approaches etc. - you still need a ton of cognitive resources.

------
Ace17
Why are we making a special case for software developers, on points we would
agree on in other professions?

Let's say you're making a movie, and you're hiring your music composer. Both
candidates have nearly identical CVs/experience/recommandations. \- Candidate
'A' says "I'm only doing this for money, I can't show you any of my work
because of NDAs". \- Candidate 'B' says "I spend a lot of time composing in my
freetime, here's a link to my soundcloud page". Which one are you going to
hire?

~~~
raverbashing
Do you ask your doctor if he does charity work?

I'd also think musician NDAs are in place while the project is not out, while
developer one are usually longer

~~~
kinkdr
No, but on the other hand, do you think Jordan became what he became just by
merely showing up for team training every day?

~~~
yoz-y
There is a world of difference between "showing up for training" and "not
having life outside basketball"

------
devishard
I'd make a stronger assertion: top developers _do_ have a life outside coding.

My experience is that people who stay until 9 writing code because they're
"passionate" write a lot of code and implement a lot of features for a while,
but the quality of the code is low because they're always tired when writing
it. And after a year or so, a combination of burnout and the unmaintainability
of their code forces them to quit, leaving the next group of programmers with
something truly horrible.

If that's your definition of "top developer" you can have all of them.

IMHO, a top developer is someone who can produce a quality product from
inception to completion, which _requires_ being well-rested, taking care of
their own needs, and having enough social life to be able to make their code
decisions in their social context (because every program runs in a social
context).

~~~
nickpsecurity
Further, I'd say most of the evidence indicates this. A sampling of it
follows. We know regular sleep improves quality of life and thinking. We also
know many people who don't have it think that's not true but prove otherwise
in tests. ;) Quiet office vs cubicle research long ago showed being able to
focus with minimal interruptions improved productivity. A person with friends
and family trying to code nonstop will be closer to cubicle vs someone who
does it less but allocates time to not be bothered. Finally, there's also data
from experiments like Fagan's Inspection Process, Mill's Cleanroom, and
Altran/Praxis' Correct-by-Construction that teams of smart people on regular
schedule using the right methods and tools produce the highest quality
software you can get.

So, evidence is vastly in favor of a more moderate approach to developing
software in one's free time. Even for a person who practically lives on a
computer. The brain needs novel experiences and breaks from things. Just works
better that way as connecting new dots is the basis for creativity. Gotta feed
it more dots. :)

~~~
pantypants
I work from home whereas before I worked in an open plan office. As a
developer. I do less hours now at home, but I only work the productive hours.
If I'm not 'feeling it' I do something else, I don't have to sit there looking
like I'm working, theres no-one watching me and judging me. I don't sit there
until I get bored in that state to the extent I'll churn out code with a fuzzy
head and so create inefficient inelegant code.

If coding is all you do, I guarantee you're writing bad code.

An hour when I'm in the zone is worth 2 days when Im not. If it takes me a day
of taking a break to get into the zone its a net gain.

------
alxgbsn
There's a certain sense of irony that we're all here disagreeing on a
Saturday.

~~~
messel
Hahahaha. Should we be coding, reading about code, or doing fun non work
stuff? Voting for the latter. Thanks for the wake up!

~~~
matwood
Coding (or problem solving) IS the fun part for me. Stealing the idea from a
Ray Lewis quote: I get paid to deal with everything else at work. The coding I
do for free.

------
jasonme
I'm from China, where hard-working with a lot of overtime work is advocated in
almost every internet-related company. Developer here do 996 the whole year in
and out (for those of you who don't know the concept of 996, it means working
from 9 in the morning to 9 in the late for 6 days a week in the office. But
sadly, usually, a lot of the developers can only leave the office after 10 or
11 at night). Everyone knows this is bad for improvement and health, but
company owners keep pushing everyone with salary and punishment, along with
moral pressure, that only fighting this way, the company can survive in the
big race in almost every industry area. For sure a lot of great things are
happening in China, but I see most of them are based on bloodless and cruel
company operation decisions and habits.

Under this circumstances, I think hobby, family and every other thing that's
not related to work is humanly possible. I curse the ones who started this for
a long time in hell.

~~~
novel
> Everyone knows this is bad for improvement and health, but company owners
> keep pushing everyone with salary and punishment, along with moral pressure,
> that only fighting this way, the company can survive in the big race in
> almost every industry area.

Do they do any research to prove 996 is really effective? I have a hard time
imagining how one could stay productive for long in such working mode.

Sometimes I have some hard deadlines (like a lot of other developers I guess)
that requires to work 10-12 hours/day to get things done in time, but that
usually lasts for a week, maybe two. And it's _already_ very exhausting. I'm
wondering how exhausting it could be to work in such mode all the time...

~~~
jasonme
Because most of the Chinese company work in this pattern, I don't think a very
pervasive research can be done and there is none I know that exists.

I think it works when you are copying things with lots of entry level
developers at low cost, like most companies do. You know, they will find
something that's working great in America and Europe and copy the whole thing
very fast and launch new ones. This is how you guys have Google, we have
Baidu; you have Uber, we have Didi; you have Periscope, we have over 100
mobile video live apps, etc.. But if you are inventing things, this won't work
at all. I think this is one of the major reason why we lack of innovative
products all these years.

This is a very common practice throughout the industry since about 2-3 years
ago, and it's a very sad story every time I tell it.

------
alkonaut
It's not that all good developers code as a hobby. A lot of them do, but most
importantly almost no _terrible_ developers code as a hobby.

Recruiting developers isn't about finding ninjas so much as it is about
avoiding the terrible developers. A nice github stat doesn't guarantee you are
a good developer but it (almost) guarantees you don't suck.

I completely understand asking potential hires for something they did out of
pure curiosity. For me personally I'd likely have to point at something I made
long ago before the kids ate my spare time but I _can_ talk passionately about
a hobby project, and I use that as an indicator when recruiting.

~~~
xyzzy_plugh
This does not match my experience. I've interview many candidates with github
profiles that looked active who couldn't code their way out of a wet paper
bag.

What's worse is by reading their code on github, I will already form an
opinion (sometimes very negative) before I even meet the person!

I've especially noticed that these developer bootcamps that are rising in
popularity produce a lot of github cruft.

~~~
alkonaut
You mean they have a "fake" history of github activity? Or just a lot of
"activity" but nothing really substantial?

Just having an "active" profile can be achieved by cloning a few repos and
writing a few feature requests.

You'd have to read the contents of their history of course, code and
communication.

Seeing how they reason about code in issue discussions or pull requests is
valuable, even more so than reading the actual code.

You make a good point about negative preconceptions from seeing someone's
code. I suppose it's better (or at least no worse) than the negative opinion
we may form from seeing someone's grades or previous employer.

------
nickpsecurity
I think this write-up might be more successful if it wasn't so sexist and
racist. After reading lines like this...

"Who can afford to keep coding after an 8-hour work day of coding? Who doesn't
get harassed in the open-source community? 20-year-old white guys with no
responsibilities and/or with enough income to "buy" more free time (i.e:
nannies, cleaners, good healthcare, a car to commute, etc.)."

I'd be led to believe that anyone contributing code, esp significant amount,
to open-source projects after their day job is: white, male, upper-middle
class, has no family, has no love for any family they have, and/or has no life
after code. Whereas, I've read enough write-ups from OSS contributors to know
they come in all kinds of personal circumstances. Plenty are quite committed
to their families with OSS project of choice a hobby or passion. Women and
non-whites stay a minority in tech and science in general but still
significant contributions from them.

I disregarded the harassment claim entirely, despite plausibility, after
reading a line that slanders and misrepresents all kinds of contributors to
push author's political beliefs that basically hate races and genders dominant
in American and European software. I mean, if the writer regularly posts this
stuff, then it's perfectly reasonable for others on projects to throw vitriole
back to get the person to stop doing it or just leave.

re the actual advice. The stuff below that are all good recommendations.
Especially limiting oneself to certain number of hours on a specific project.
I'd further say limit yourself to one project at a time. Also, it can help to
limit time spent on things like Hacker News, Youtube, gaming. Things that are
addictive and can take up more time than you expect. Put a hard limit on how
long you'll spend on anything like that. Think about the limit itself, too.

------
fsloth
I feel that there is a huge gap between this writing and my daily experience
as a developer. I've been thanked for my work and I'm understood to be a
valuable asset for my employer in my role as a software engineer - and never
I've been required to have extracurricular development to facilitate my career
progress.

Maybe the fact that my work has fairly deep domain knowledge requirements and
I know my stuff pretty well puts me in this category - but I don't know.

I _like_ coding in my free time as a way to explore subjects though, so I do
this anyway (but nothing that could be considered good _software engineering_
, good engineering is grueling work while fast prototyping is fun.)

~~~
Manishearth
Not everyone has the same experience, basically. You're lucky to have such a
job. Similarly, I'm lucky to have a job where I get to work on open source
directly. I'll probably still do random fun coding stuff in part of my free
time. Not everyone is that lucky; and I've heard plenty of stories from folks
in that category.

But yeah, what she's talking about is not _everyone_ 's experience,
fortunately :)

------
onion2k
Something many businesses seem to forget is that if you want a developer to be
the technical face of your business then they need to be able to write great
code, but they also need to be able to chat to people at networking events,
make small talk with clients, explain things in non-technical ways to
investors, and so on. Employing people who have interests outside of coding
_really_ helps with that.

Likewise, if you're a developer who has ambitions of being a CEO, or an
evangelist, or a team lead, then you need to be able to talk to people who
aren't developers about things that aren't development, and that means having
interests outside of code.

~~~
partycoder
You are referring to a spokesman or entrepeneur. A good developer is not
necessarily those.

~~~
UK-AL
But if your a cto, you often are spokeperson and a developer at the same time.

That's what he's saying

~~~
partycoder
"Top developer" doesn't necessarily mean top in terms of hierarchy in a
company, it can mean top in terms of productivity.

------
dkopi
The main reason I see for "working after work" is actually for "learning after
work". While companies might try their best to invest in your professional
development - in the end your career is your own responsibility.

While you might have to work hard to convince your employers to let you move
from part of the stack to another, no one can dictate what your side projects
are except yourself.

Working after work is what "saves" a programmer's resume from listing "20
years in <obsolete language> using <obsolete API> until the company I worked
at for 20 years shut down".

~~~
goldenkey
A good job should have you using <modern language> with <modern frameworks>
for <efficient code> that makes you <feel like a wizard> But you have to look
for jobs like that. Jobs that stifle and make you want to code things after
work because the work coding environment is so poor, are jobs that I watch out
for now. I've been in the situation you describe before. Never again will I do
grunt work.

~~~
dkopi
True, but: A. A good job today might not be A good job in another 3 years.
Companies aren't quick to dump their existing code just so they can see "we
now use <modern language> and <modern framework">.

B. very often <good job> expects you to already be experienced with <modern
language> and <modern frameworks>. By learning at home at your own spare time,
you reduce the risk and ramp up time for them, making yourself a more
desirable candidate.

Try working on make files for a while. You'll miss grunt :D

~~~
goldenkey
Hah, I didn't mean the "grunt" buildtool for node. I meant dumb trivial
repetitive work. I am understanding of legacy code. But at the same time, a
good job will understand the pain of inefficiency and dull codebases have on a
programmer. And so, someone shouldn't have to _just_ work on that shit all the
time, they should be able to mix the burden with other developers in some kind
of time ratio.

For B) yes, of course. But once you get your first job, if you keep going and
have good workplaces, you shouldn't need to really do much at home.

I'm not trying to knock you, just wanted to put the warning out there for
everyone else, because I've shot myself in the foot by joining gigs where a
load of shit was dumped on me, and that was the main event. Fuck jobs where
the main event is working on something totally unpleasant. No, I'm not a diva
and understand that getting paid is to offset that - but still, some
workplaces just don't have the understanding that you can't have someone work
on sludge 24/7 and not expect them to become bitter.

------
hiphipjorge
Here's the thing that this blog post is missing: It's a marketplace with
competition. Yes, ideally, you shouldn't work outside work and spend all your
free time doing other things, and there should be no world hunger. But it
doesn't work that way.

If I don't keep up to date and keep learning new things, someone else will
(and the idea that this person is 20, white, male, and single seems a little
racist and sexist to me). That other person will go on to do more stuff than I
do if I don't keep up. That person will get compensated by the market for
doing so by promotions, raises, not getting down-sized, or perhaps though
success when starting their own company.

Yes, it's f __* up that a company will expect this out of every single
developer and that shouldn 't be the case. But, when I need to fire someone
because I didn't get as much in my B round as I thought I would, you'd be
crazy to fire the guy who is as good of an employee AND invests in his skill
set.

Personally, I love programming and do a lot of it outside of work because I
really like doing it. Yes, there are a lot of biases in our industry, but
often times it's pretty clear who the best programmers are and often times
it's the one who have put in the hours. Nothing else. So yeah, don't code
outside of work. You should definitely do that, but don't be surprised when
your skill and your career suffer for it.

~~~
eloff
Exactly. And time _invested_ in developing your skills, like any other
education is a real investment. It accumulates over time and has real value
down the road. A developer who spends a couple hours a day coding for fun is
at an advantage over the others, but by the time he's been doing that for 10
years he/she will be on a completely different level to someone who hasn't.

As another example, drinking, smoking marijuana, vegging out in front of the
TV, insert whatever "vice" you want here that wastes time/energy, might not
hurt you much every now and then - but to excess it's going to accumulate into
a serious competitive disadvantage overtime.

There are hard tradeoffs to be made between work-life balance and career
success - and the results of those tradeoffs don't really become very obvious
for a long time.

------
xiphias
It's great that the author is able to finish his pet projects in 20 hours if
he sets a deadline. I'm not able to finish in that time frame for anything
that I'm interested in doing as a pet project.

~~~
Manishearth
(the author is a she, I think)

------
pjc50
I've known quite a few "24/7" programmers, but the smartest I've ever met
worked a 4 day week so he could spend more time with his family. He was
naturally exceptional though, stood out even in a company filled with people
with Cambridge 1st-class degrees.

Again this is making me think I should write my piece on programming while
suffering chronic fatigue.

~~~
matt_wulfeck
I would definitely love to read that. I have a friend that has lime
disease/chronic fatigue and I often wonder how they get stuff done. It's hard
enough for me to work hard with a normal regiment. I think your story would be
inspiring.

------
dave2000
"expecting employees to keep up with new technologies, frameworks and
languages entirely on their own"

You're looking at this entirely the wrong way. You shouldn't expect your
employer to spend thousands paying to train you. If you need those skills, or
if they'd be useful to you, then it's in your best interests to learn them.
Perhaps things are different if you're digging holes for a living but IT is
currently about constant change and if you don't keep up then you're not as
much use as people who do.

Your employer doesn't care how you earn your living, and they don't care who
does their work for them. They just want it done. If someone else can do it
better than you, you're out.

Frankly, though, you should want to keep up. If I were interviewing I'd be
more interested in someone who was interested in development, not someone
who's going to want to just sit there and wait for a personal, pre-paid invite
to an overpriced training course.

------
ACow_Adonis
You can be hired into a position in an arbitrary hierarchy by having a life
outside of coding. You can be popular while having a life outside of coding,
or have something you wrote become popular. If that's what you mean by "top
developer", then yes, I completely agree.

If you mean "the skill of actually programming", then no, that's absurd.

Would you tell someone they can be a "top sports player", if they have a life
outside of playing that sport? A world class chef who doesn't give themselves
over to cooking? Anything that actually involves skill? A musician? A painter?

Because if that's the case, then no. I'm sorry, you're battling against
reality. There's a little thing called opportunity cost, and whether we like
it or not, how far you can walk down a particular skill-set is DIRECTLY
RELATED to how much time and work you put into it.

What's perhaps a better message is both: a) employers, you aren't actually
hiring superstar coders, and if you want to, you'll either pay for it, or
better make your workplace the kind that attracts them. And b) developers,
you're probably not going to be the best in the world at what you're
doing...and you know what...at least from a personal psychology
perspective...that's ok.

Now from an economic perspective, if you're worried that you're not going to
be able to hold down a well paying job because they demand too much...well,
there you've either got a problem with reality (skills take a long time and
hard work an practice to build), or the economic system, cause maybe there's a
lot of desperate people out there who can code for peanuts and will take
shitty conditions...and capital is being amassed into fewer and fewer hands
and increasingly has no interest in paying to upskill you or whether you can
have a reasonable life outside of work. :P

~~~
PhasmaFelis
I think people are reading too much into the word "top," which appears nowhere
outside the headline. Variants on the phrase "good developer" appear several
times, and should perhaps be the focus; "top" may have been a poor choice of
words, but I think the intent is clear on a charitable reading.

~~~
ACow_Adonis
And since, re-reading my comments doesn't make it as clear as I'd prefer, I'd
like to reiterate that this doesn't mean that I think that there's something
RIGHT about the expectation that you give your life over to your job or to one
particular skill/facet of life. Skills and knowledge aren't even neatly
devolved into subject matter areas as though reality and life is just filled
with fantastical university faculties that you have to choose between.

I view there being two issues here as separate phenomenon.

You probably won't be a top coder if you're not willing to put more effort in
than is available at work or during an 8 hour day: if not just because the
modern workplace isn't as a whole very conducive to properly upskilling its
workforce, and because there's a whole lot of people out there who are willing
to put in more time, money, and effort than just those provided by full time
jobs to study/implement their skills.

To be honest, I don't even think most companies even have a place for, or even
necessarily WANT top coders.

On the other hand, there's this issue of should companies have an expectation
that you're putting in extra work/hours to get a job/get ahead. And that's a
big complex issue there that I think has to do more with
society/culture/economics than whether you're a top/good coder at all.

------
raarts
This blog post is obviously born out of frustration. I'd be interested in
learning the circumstances.

At a certain stage in life it's indeed frustrating that employers try to get
more working hours out of you than they are paying for, and younger
professionals seem to be more willing and able to. I'd like to offer OP the
view that these places aren't generally good places to work anyway.

Don't agree with some other commentors who lightly throw big words like racism
around.

------
kinkdr
I disagree. If you want to be the best and be highly successful, then you have
to work hard. If you don't, someone else will.

There are plenty of companies and positions where you can have a great
work/life balance, but if you want to be the best, just as in everything else
in life, you have to work harder than everybody else.

~~~
jcrawfordor
I take great pride in the quality of my work. That's exactly why I stop
working when I go home. That's why I demand an excellent work-life balance
from my employers.

If what being "the best" gets you is no life outside of work, then I'd rather
be bad at my craft and retain the ability to pursue multiple interests.

~~~
kinkdr
Just to clarify that I didn't imply that being good at your job and having a
life are mutually exclusive.

What I meant is that if you want to be the best in your field or you want your
startup to succeed, then you do have to sacrifice some other things.

(The article mentioned "Top", not just good)

------
stevetrewick
> _We, as an industry, are going to a dangerous place when we don 't just
> expect, but require people to keep working after work._

For what values of 'industry'? I mean, I totally agree that if this is your
local view then you are in a bad place but IME this is far from universal.

~~~
pjmlp
Sadly the IT fashion industry tends to follow SV, like other industries follow
Paris, Berlin and Mailand.

------
doorty
I used to code 24/7, and have "startup" side projects back in college, but 8
years later, and I like having a life outside of work. It also makes me
fresher and more motivated when I come to work.

~~~
goldenkey
Seems to be a trend that those who have been programming for years actually
program more sparingly. I was similar. Programming now is more of a tool than
a burning passion. "I am programmer, destroyer of worlds", not "I am
programmer, I make random shit all the time, at the cost of being a well
rounded person"

------
mto
Yeah it's absurd. When I talk about this with my friends in other professions
they hardly believe it. None of the lawyers or editors consider writing open
source contracts or publishing free magazines in their free time. And even if
they do something like this - there was never a company that EXPECTED that at
an interview. The last interviews I had there were more questions about mini
pet projects than about my 10 years professional experience or my PhD thesis.

Of course, when I was 15 I loved to program all my free time after school. Now
I have wife, daughter, dog and being in front of a screen all day makes me
very uncomfortable, no matter how much I like the subject.

I am now much more comfortable with "researchy" positions - in all those
interviews, no one ever asked me about my github profile or if I like to
"learn" the flavour of the day web framework in my free time (no, I don't...).

------
partycoder
"Top developer" is really subjective and depends how to score them. AI?
bioinformatics? embedded programming? web applications (frontend, backend)?
compiler design? graphics rendering? simulations? games? Then, top at which
level... in your company? in your city? in your country? in the world?...

------
johanneskanybal
Weird article. Every top company I've heard of is more into balanced normal
people than extreme people. Perhaps made more sense 20 years ago when I
started getting into computer science and you saw recruitment adds eith topic
like "Do you hate talking to people?"

------
bluecalm
The author seems to be very prejudiced against people who make different
choices or are different demographic than them:

>>One could think that having kids or building a family is a choice. Even
assuming this is true (it really isn't)

I am not one to take offense easily so I will just say this is plain stupid. I
have chosen to not have kids nor build a family. It was something I was
thinking about for many years and decided I will be happier that way. Most of
my friends have chosen otherwise and I suspect most of them will be happier
with their choices. How it's not a choice I don't know, it's one of the most
ignorant things I've read recently.

>>Neglecting your partner and kids in order to build a pet project? Seriously?
Is a pet project more valuable than seeing your kids grow or sharing your life
with people you love?

It isn't. It doesn't change the fact though that people who don't value those
things and spend more time coding/learning/experimenting are going to be
better at programming with all other factors staying equal.

>>Destroying your social life, abandoning all your hobbies, quitting working
out just to contribute to open-source? Will this make you happy in the long
term?

No, it will make you not as good as people who do that though. (assuming they
are equally disciplined and organized)

>>So what can we do?

Understand that you will not be elite and anything you do in life unless you
dedicate your whole life to it. That's how it is. You don't need to be at the
top to be very good, make tons of money, have fulfilling career and contribute
a lot to projects you work on. There will always be people better and more
productive than you because they have chosen to sacrifice other things you are
mentioning like children, families, social life etc.

There are two different goals:

1)lead a happy balanced life

2)be one of the best at something

You can't have both, have some respect for people who has chosen differently
than you. There is no need to throw insults like:

>>Who can afford to keep coding after an 8-hour work day of coding? Who
doesn't get harassed in the open-source community? 20-year-old white guys with
no responsibilities and/or with enough income to "buy" more free time (i.e:
nannies, cleaners, good healthcare, a car to commute, etc.).

Or you know, people who prioritize contributing to open source over for
example having kids. Have some respect, the world is a better place because of
them.

I guess next time there will be complaining how you can't be an elite
basketball player without dedicating your life to basketball or elite musician
without practicing for hours to no end.

~~~
tluyben2
> I am not one to take offense easily so I will just say this is plain stupid.
> I have chosen to not have kids nor build a family. It was something I was
> thinking about for many years and decided I will happier that way. Most of
> my friends have chosen otherwise and I suspect most of them will be happier
> with their choices. How it's not a choice I don't know, it's one of the most
> ignorant things I've read recently.

Yep, it is weird to me why people tell me they have no choice to have kids;
just 'do it'. You can reason about it and decide not to but 15 years after
deciding we still get strange looks or whenever I am nice to a kid people
still say: ahhh you see!? So I see that people who are pressured still do
while really not into it however it is a choice.

------
jcoffland
"One could think that having kids or building a family is a choice. Even
assuming this is true (it really isn't)"

What? Of course it's a choice.

And I'm sorry but, you can choose to leave programming at the office and be a
perfectly good programmer but if you don't love it so much that you do it for
fun as well then you are not going to be a master programmer. Just like a
classical violinist who only practices a few hours a day is probably not going
to be a virtuoso.

~~~
xyzzy_plugh
The best software engineer I know doesn't hold a degree in the sciences, has a
family with 4 children, and spends little to no time out of the office writing
code.

I don't know if I agree with your assertion. There is more to life than
programming, and I think, if anything, you need some of that to become a great
programmer.

~~~
jcoffland
Maybe the best programmer you know is not that great. I'm not disputing that
you can have a life and be a good programmer. You must have a deeper level of
commitment to be an outstanding programmer.

------
vinceguidry
At a certain point in any endeavor, you hit a point of diminishing returns. At
that point, success becomes less about the logistics of getting enough
practice in and more about the broader world. All arts exist in the broader
world around them, programming even more so than most. You need to learn about
that world.

Just like with the arts, a great great many things can be likened to code.
Anything else you learn how to do well will also make you a better coder.

------
nathan_f77
The author talks about open source as if someone is selflessly contributing
their spare time for no real reason. Who does that? Whenever I work on open
source, it's because I need something personally, and it doesn't exist unless
I create it. It's like criticizing someone for spending all week at work, and
then mowing their lawn or painting their house on a saturday. (Although I find
programming to be 100x more fun.) If it's not fun, you're not getting paid,
you're not doing it for yourself, then you really don't need do it. Unless
you're doing it for clout or your portfolio, I guess.

------
edem
This article is a bit lopsided. I work for 8 hours and I work on open source
projects when I have the time. This means that it is no more than 5-6 hours
per week on average. I don't feel that I don't have a life after spending a
Saturday morning with some OSS contribution. Life is not black and white. If
you contribute or have your own projects you don't have to work on them all
day. Several hours per week will quickly add up! The same stands for
education. I am very concerned by work-life balance and few hours per week is
not much. I can also read about the trends or some tech book when I travel or
commute.

------
green_lunch
I started my own company 5 years ago to have a life outside of coding.

The business depends on code, but I can choose when to go on vacation and work
from home or at the office when I need to.

It also helps that my wife runs the company with me.

I finally made the decision to quit when my last boss called an emergency
meeting on new years eve over webex, because she wanted to go to a party and
also get our product released. She also is the one that caused our product to
be delayed by at least a month due to her inability to manage the project.

------
CydeWeys
> This blogging platform (Ghost) doesn't allow comments, but I'd love to hear
> your suggestions as well. Just give me a shout at @ladybenko!

Is it really a blogging platform if it doesn't allow comments? Commenting to
me is a prerequisite for something being a blog. Absent the possibility for
interaction, it's not a blog, it's just a website.

------
erikb
Optimization is possible in most programmers schedule, true. But I still
believe it's necessary to spend 30-60 hours a week for 11 months a year to
successfully increase your skill. You can't cut off these either, if you want
to be good. And your skill is bad at bargaining. You can't tell it "Listen to
me skill, I have that other hobby as well. Give me a break!" Skill doesn't
work that way.

~~~
maxxxxx
At some point the real skill becomes to develop a reasonable solution with
reasonable effort. You don't have to keep chasing the latest cool frameworks
forever. It's good to know what the trends are but you can safely skip many of
them.

~~~
erikb
You are right, that if it is about putting bread on the plate of your children
reasonable results are enough and for that reasonable effort is enough. I
assume you don't plan on getting to the top with that, though. That's what the
article and title limit the discussion to though. And that's what I'm arguing
against. You can't be at the top with "reasonable" effort.

And in case your first sentence means that you have given up finding ways to
multiply or exponentiate your skills I would like to give you a little new
hope. It's true that this kind of skill increase can't be found in new
frameworks and tools. The reason is that it was already found in the 60s and
70s. Look for unix, look for vim, look for lisp (some may argue to add git to
that list). Even if you don't use them in your daily life. Studying them will
increase your skill to levels you cannot imagine.

~~~
maxxxxx
I think you get to the top with reasonable effort because it's the shortest
path to success. The best programmers I know don't work 80 hours per week.
They work 40 or less but each of them with purpose. They don't do team
building or play foosball. They don't attend endless meetings.

------
paulus_magnus2
belief that only people who code (for free) after work are passionate and/or
good developers has become a "truth".

No, but people with this trait will be easier to manipulate into staying
longer hours for no extra pay.

