
Only code at work? That doesn’t make you a worse programmer - itamarst
https://codewithoutrules.com/2018/03/04/only-code-at-work/
======
sebazzz
Coding at work might not make you a worse programmer, but I found that coding
outside work does allow me to be of more value at work.

I'm at home fiddling with yarn and webpack - for my own private projects - and
I might take that and introduce it at work someday, just as I introduced
Typescript, LESS, Knockout.js and made the "back-end of our frontend" better.

In hindsight, this probably was not done if I didn't fiddle with tech at home.
Most, if not all, of the collegues in my small team are strictly code-at-work
developers, and I sincerely believe that is a risk because you can get stuck
in time. We also don't have a 'tech-friday' or some other opportunity to work
or experiment with tech, so it really needs to come from free time.

I'm sure others might have a similar experience.

~~~
pavel_lishin
> _We also don 't have a 'tech-friday' or some other opportunity to work or
> experiment with tech, so it really needs to come from free time._

It _really needs_ to come from your employer. If they're not invested in
making sure their craftsmen have time to sharpen their tools, they're going to
get some shitty crafts made.

~~~
scarface74
It's really not about what should happen in a perfect world. I'll stay after
work or put some extra hours in to create a proof of concept using a new to me
technology. The company may benefit from my extra hours but so do I. Either my
current employer is going to pay me more or my next employer is going to pay
me more based on what I learned.

If a company is doing fine with the current technology, it doesn't benefit
them to invest in the new and shiney as much as it benefits you as a
developer. It also doesn't hurt their business not to invest in the latest
technology as much as it hurts your career.

------
bastawhiz
I think this ignores some ideas which make the topic more complicated. If code
is a tool, then like any tool, the more you use it the more adept you are at
using it. Almost anyone can hit a nail with a hammer, but a skilled carpenter
can drive a nail in one, maybe two hits. A less experienced carpenter, maybe
three or four. In software that translates to less refactoring, more
thoughtful design on the first go, and fewer bugs. Experience is not an
unimportant factor in software quality and "time behind the wheel"\--while
maybe not the most important factor--does make a difference.

> Enthusiasts often have a strong grasp of the tools and technologies they
> use. On the other hand, they are sometimes prone to holy wars and zealotry
> (they feel it’s important to choose the very best tool), and until they
> finally realize software is a means, not an end, they have a harder time
> working towards goals that aren’t about writing software.

This is based on the false assumption that enthusiasts fall into a specific
archetype. The rest of the article makes the assumption that coding outside of
work is a solitary activity that doesn't involve soft skills. Both are not
always true. Though I don't find the technology appealing myself, one only
needs to look to the cryptocurrency community to see a vibrant and
collaborative group of people who are building software outside of their day
jobs. Large chunks of Firefox have been built by volunteers. Hell, ECMAScript
is built on the shoulders of the community. I don't think it's fair to
discount the non-technical skills that one could develop outside an office
environment while still working on software. You could just as easily not code
outside of work and also not have soft skills that your enthusiast coworkers
lack.

The author is right that coding outside work isn't necessary, but I think
there's a subtlety to the argument that's missed. Enthusiasts who hone their
skills _correctly_ do come out well rounded and end up being rewarded for
their effort. Pragmatists also can hone their skills--technical or otherwise--
and come out more well rounded also. But experience does matter, at least
somewhat, and being in an office building isn't a magic bullet for improving
yourself.

~~~
goalieca
I’ll put on my cranky old engineer hat and say that enthusiastic people make a
complete mess of things. Over design with too much architecture and
abstractions make my life miserable.

------
JamesBarney
I don't spendy my weekends and weeknights coding or reading about coding
anymore. But when I did, I grew as a developer faster than when I didn't.

But now that I have other priorities in life, I don't need to pretend that I
wouldn't be a better dev if I spent more time honing my dev skills.

But right I'm focusing on other things in life besides development skill, and
the trade off is because of that I'm not going to be as good of a dev,
teammates will know more about certain tech than me. And that's ok.

------
__float
Somewhat meta comment: there seems to recently be a huge uptick in the number
of articles on this exact topic. What sparked this? Is it a reaction to
something specific? Reacting to impostor syndrome, "if I don't code at home
like everyone else, I must be useless!"?

~~~
JamesBarney
I think it's a reaction against the past decade of "you should only hire devs
who breathe, sweat, and bleed code" that we've seen for the past decade.

Also lots of devs are getting older, find their priorities in life shifting,
and writing blogs about it.

~~~
pavel_lishin
Yup. I have a two year old. Guess how much time I get every weekend to work on
hobby code?

If you guessed a negative number, congratulations on your growing family,
because you understand.

~~~
csixty4
Congrats on the two year old. Mine turns two next month. Some nights, after he
goes to bed and I'm done with chores, I'll open up my laptop, fire up VS Code,
and wake up on the couch four hours later.

------
bitcoinboi9
I've found that stuff I do at work sometimes sucks the life out of me. Doing a
2-3 day project at home somehow brings the life in me and I no longer find the
work so tiring and can again be productive.

If I don't do that, I never recover. I can take a passive or active vacation
and get back to work still being unmotivated.

~~~
pavel_lishin
Yup. I love getting time to work on a pure passion project, even if it's
something silly. I happen to enjoy coding; it makes me happy.

But not everyone is like that. Other people are recharged by spending time
with their family, or riding a bike, or getting diamond tier in Overwatch or
whatever.

------
contravariant
Not sure if I agree that pragmatists don't code at home. Even if you aren't
particularly enthusiastic there are still problems that are best solved with
small programs.

Frankly I don't even agree that enthusiastic and pragmatic are mutually
exclusive. In my own experience I've found it hard to get enthusiastic about
programming without purpose. As far as I'm concerned this is what's called
pragmatism.

~~~
ukoki
Completely agree — I'll happily rewrite something 17 times on a hobby project.
But at work I'm also the first person on the team to ask "do we need this?"

------
sigsergv
That doesn't make you a worse programmer _on current job_. That's important,
because side projects help me discover and master other domains, not those
from my job.

------
SamReidHughes
Nonsense. It does make you a worse programmer. "Working on a team" and
"testing" skills are not hurt by doing more programming at home.

~~~
jack9
Surely, this is another trash blog post trying to prove something without
doing any work or even defining a goalpost of "better programmer". e.g. "It’s
also not true. That inadequacy you’re feeling is based on false assumptions, a
misunderstanding of the skills it takes to be a good programmer." \- 0
citations. The post is a contrarian thought experiment, I think.

My belief of the opposite conclusion (from the blog post) is based on a simple
axiom. You have restrictions at work. Negotiated technical, and practical
(different than those at another location) restrictions. Limiting development
to one location necessarily makes you less flexible in thought and skill and
practice. This is commutative (the person with 5 years development in school,
entering the workforce).

