
It's Perfectly Fine to Only Code at Work – Don't Let Anyone Tell You Otherwise - garycomtois
https://dev.to/ben/its-perfectly-fine-to-only-code-at-work-dont-let-anyone-tell-you-otherwise--25i3
======
nicolaslem
There is one thing that is extremely important for me as a developer that I
cannot really do at work: reinventing the wheel.

My GitHub is full of wheel reinventions (TCP load balancer, B+tree index,
monitoring daemon...). No employer would have paid for me to develop these
projects, and yet I learned so many invaluable skills by doing them.

I'm happy to invest my free time this way because I feel that I develop
myself, but keeping a healthy balance is hard. I've noticed that I can keep
working on a side-project after work for a few weeks until starting to feel
burnt-out, losing motivation for both work and the side-project.

~~~
dvdhnt
> No employer would have paid for me to develop these projects, and yet I
> learned so many invaluable skills by doing them.

I'm going to disagree with you here. It depends on the employer, and more
often, the circumstances at any given time. For example, last week I spent the
time writing my own implementations of HOTP/TOTP based on the RFCs [1][2].

I did this all at work while being paid. They also paid me to extract and open
source our param validation tools. Both cases served me more than the company,
but the company benefited because of the skills I learned while doing both.

All of that to say, you're half right - under most circumstances you won't be
paid to do a passion project. Though, there are parts of your work for a
company where you can make an argument for reinventing the wheel rather than
pulling in an existing OSS package. Your employer has to see the value in the
long game which too often isn't the case.

Cheers.

1\. [https://tools.ietf.org/html/rfc4226](https://tools.ietf.org/html/rfc4226)
2\. [https://tools.ietf.org/html/rfc6238](https://tools.ietf.org/html/rfc6238)

------
CM30
On a related note, it's probably also worth pointing out that:

A: The majority of people in the tech industry are indeed like this. They go
to work, build sites/programs/apps for eight hours or so and go home to relax.
The percentage you saw doing tech envagelism on Twitter or hosting conferences
or heading up open source projects or posting on Reddit or Hacker News all the
time are a minority of the population, and you're not a failure or 'strange'
if you're not like that.

B: Even if you didn't have enough time to build up your knowledge while
working, 90% of companies that need developers don't need cutting edge
technology. Most people aren't working at
Google/Facebook/Apple/Microsoft/whatever.

~~~
itamarst
Re point B, I'd say it's the other way around: the cutting edge technology
often originates _within_ those companies, created on the job during work
hours.

~~~
Domenic_S
Indeed. Where did react, cassandra, golang... come from?

------
itamarst
Common counter-argument is "but how will you learn the skills you need", but
actually it's perfectly possible to learn everything you need on the job.

Julia Evans has nice list of how people learn at work:
[https://jvns.ca/blog/2017/08/06/learning-at-
work/](https://jvns.ca/blog/2017/08/06/learning-at-work/)

And e.g. I feel work is best place to learn new programming languages:
[https://codewithoutrules.com/2017/09/09/learn-a-new-
programm...](https://codewithoutrules.com/2017/09/09/learn-a-new-programming-
language/)

~~~
icebraining
But as you wrote, _" At the end of the process above I still couldn’t start a
Ruby project from scratch, or write more than tiny amounts of Ruby."_

This matches my experience; I was in a Python shop, and got tasked with
interfacing our code with a Ruby app developed externally, plus with running
it on our servers. For small things, it became easier to learn enough Ruby
than to bother the external devs.

That said, I wouldn't say I _know Ruby_ , the way I know other languages, even
ones I never used a lot. For example, I probably wrote fewer lines of Go than
Ruby, yet I'd say I know it better, since I know the core parts rather than a
few random bits and pieces.

------
mattbierner
While not terribly experienced with hiring, I have found that asking about
coding outside of work is a convenient proxy for two reasons:

\- If you hobby code open source, this often offers me my only real
opportunity to see first hand how you code and how you run a project and how
you interact with people.

\- But really, I don’t care about coding. I care about finding people who are
passionate about building things and thinking, and who can express themselves
well. Can you express the challenges and interests of what you love, whatever
this is?

Still, I worry that this may result in me only hiring people like myself.

~~~
itamarst
You are really limiting your hiring pool, yes. And for that matter
discriminating against parents with small children.

~~~
indemnity
Oh god. As a former spare time programmer (current PM, former arch/eng), with
a three month old. There. Is. No. Time.

------
expertentipp
This whole spare time coding, public repository pressure, and interview coding
assignments are the reson why the industry is spitting out burned out people
before they reach 35 and why the communities are so hysterical.

~~~
Caveman_Coder
I've told this story on HN before, but when I was first interviewing,
companies would ask me for my GitHub/public projects/conferences/etc. and I
would say that in my free time I'd rather be outside doing various activities
instead of in front of a computer.

Turns out you can still take pride in your craft and be a professional without
having to spend every waking minute coding. Some companies seemed taken aback
by the fact that I'd rather be hiking or kayaking than working on some
pointless open source project. It was kinda weird for me seeing their
reactions though.

------
DocG
I am at "I only code" at work person. I dont even have a desk at home. Luckily
our work enviorment encourages new techonolgies and skills. I use my off time
not to code, but to teach, draw etc. These are skills I see also compliment
coding, improving all the supporting skills that are nessecary to be a good
dev.

~~~
dvdhnt
I agree with you. I spend my time doing things I enjoy such as spending time
with my kids, hiking, playing basketball, etc. Sometimes, I'll say "hey, I
want to make a new app for my daughter to practice math", so I do it. I use
whatever I want without scrutiny (i.e. no code review) and just make it work.
It's quick, dirty, and often teaches me something I didn't know.

The crux of it is, the happier you are, the less stress you wrestle with, the
more wholistic person you are, the better you produce in whatever you do.

------
jnordwick
One side of this I haven't seen, people like me, entirely code for work, but
also work a lot. I work 60-80 hours a week (even more!), so that doesn't leave
much time for coding on the outside.

Why? Because I really love what I do. I find the problems interesting, and I
am trying to push my career further and bonus higher.

When I go home, I often take the time commuting and at night to read research,
run, maybe read or experiment more, but that is mostly just out of habit.

I tried to do little bit on github before, but it sits there, dated looking
abandoned. I was seriously thinking of deleting it, but i don't know if that
would look even worse.

