Only code at work? That doesn’t make you a worse programmer
codewithoutrules.com
codewithoutrules.com
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.
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.
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.
> 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.
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.
Also lots of devs are getting older, find their priorities in life shifting, and writing blogs about it.
If you guessed a negative number, congratulations on your growing family, because you understand.
I've never shown and outside passion about coding. I moved from C++ to C# back in 2008 and have basically stuck with C# since then.
The job I currently have as the dev lead didn't involve any coding questions just architecture.
Keep in mind I agree with you, but I certainly understand the mindset that the parent comment was criticizing.
I used that experience to get an internship in '95 and that led to a job with the same company after I graduated the next year.
But after trying to catch up because my "9 years of experience at one company" was really 3 years of experience and the other 6 years was just stuck doing the same thing I did the first 3 years, I vowed never to put myself in that situation again. If I see myself not keeping up technically at a company, it's time to either leave or study and do a side project.
I may never publish the side project and it may just end up being a proof of concept.
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.
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.
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.
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).