DEV Community

Discussion on: Programmers who only code at work

Collapse
 
ozzyaaron profile image
Aaron Todd • Edited

There is an underlying assumption that you don't have time to learn at work - if that is the case then I'd urge you to aim to find places to work that do encourage learning on the job. I recently took a week off for a course paid for by the company. I learned and implemented React & Redux in the last two years as well as given back by training people on testing tools, development process and so on inside the last year, on company time. In production, at scale.

At my previous company I learned a lot about the agriculture industry, mathematical modelling, Microsoft Solver, C#, ZeroMQ, Redis, and many other things all on company time and with company resources. On real projects. That were used at scale. Far better than any side project.

I would say that the worst developers I've ever worked with did the most out-of-work coding. I've got about 20 years experience at this point and I will not budge on that point as it has been routinely true in every place I've worked. The best developers worked 9-5 and sometimes a little more and the worst seemed to work at home every single night and weekends.

Now I don't think people that work a bit outside of work a bit from time to time all suck, that has just been my observation of those that code outside of work a lot. I'm not sure there is much to learn there except that I know a lot of people think they have unlimited capacity for coding but we're all human and you really do not. The most 'ninja' coders I've ever worked with had hobbies that were well outside of coding and tended to be the people that could synthesize between many disciplines easily.

In the end how fast you type, how quickly you navigate code bases, the number of languages and frameworks you barely know and even how well you can engineer solutions, refactor and so on are not the skills that will take you far in this game. Soft skills, business analysis, team work, restraint, self knowledge and understanding your own personality are all far more valuable once you get past the first five years.

If someone told me they read well known books on coding, management, team structures, or anything business related every month I'd take them over someone that codes and extra week a month.

Collapse
 
vjgoh profile image
Calamity Jan

Yes, I totally agree with this. The people that were absolutely the hardest to work with were the ones that spent all their outside time coding. They knew code and had solutions for problems, but they never seemed to have solutions that other people wanted.

(Note: I'm a game programmer.) The overwhelming problem is that you could strongly argue that being a good developer does not mean being the best coder. In my industry, you're a much bigger asset if you understand human interfaces, or gameplay flow or any number of other things that go into making good games. I'll TEACH you how to write code if I have to, but it's so hard to make some coders understand what makes good games.

I want to work with people that live and play in the real world because that's what comes back into the games we make.

Collapse
 
ozzyaaron profile image
Aaron Todd

We also have a perfect example of this in that we recently pulled a marketing person into our engineering team because she'd shown a consistent interest in the technology side of things. She'd coded up some partials in our static site generator and so on.

The fact that she has the marketing knowledge AND can now code means she is kind of a double threat.

Where I went to college in Australia you couldn't do just a law degree you had to do law and something else like science, medicine, whatever as they sort of realise you need some other background knowledge to apply to legal situations. I think software engineering is intrinsically the same. There is very little you can do, that is useful to people, without an understanding of a completely different domain.