We see a culture in some corporations that expect you to code and learn things on your free time. To have or contribute to GitHub projects, to have knowledge of many programming languages even if they’re not on your resume, to spend your free time watching lectures, blogging, talking, traveling to see gurus.
Essentially they equate time spent with passion. This is incorrect.
Being competent is not about the amount of time spent, it’s how you spend it. And pressuring coders to work insane hours, unpaid at home, when it’s not effective or useful for them will lead to long-term costs and burnout.
It is for you to decide whether time spent is useful for you or not. People learn in different ways.
Expecting passion will lead to the death of passion. Quite ironic, no?
Hard Work and Personality
Just because someone else does something faster doesn’t mean that you are slow!
If you’re a hard worker – that is fine. A small percent of the population are high in the the trait Conscientiousness (Big 5 Personality Traits) which implies a desire to do a task well, and to take obligations to others seriously. They work really hard, all the time, ever hour. This is just how these people’s brains are built. We are all lucky to have these crazy guys.
However, when we see these people in action, working day and night, coding all day then coding at home, it sets a strange precedent to others and if we are not careful we may start applying this to others.
Some managers and companies that do not understand how mentally taxing it can be to code may think that this is how everyone should be. But these extremely hard workers are rare and it’s not realistic to apply their actions to other people.
It is alright if you don’t work as much or learn as fast as others. There will always be someone out there that is better than us at something, and that doesn’t invalidate the things that you can bring.
It’s also alright if you don’t have the goal to become the best there is at programming. A language, a framework, are only tools to accomplish a goal. To get to the goal we do not have to create perfect things – only things that are good enough. We can be satisfied with not knowing everything.
The passion expectation
Doing the same thing every day, all the time, just sucks the joy out of it.
Some employers will equate time spent with passion. Consequently, in their eyes, the fact that you don’t code at home shows that you’re not passionate.
But in fact, having a balanced life, taking breaks from one thing and doing another, is beneficial for your performance and passion. People that feel appreciated, respected and can work as they wish will perform better. Their creativity and their own strengths can come into play because they feel as if they can express them.
And time off is necessary to sustain passion. Distance makes the heart grow fonder.
People taking breaks from tasks improves their attention. And a person that can sustain performance over a long time will be a greater asset to a company since he doesn’t burn out and stays motivated. MIT also recommends this.
Pressuring a programmer to learn and code overtime is in practice sacrificing an their output long-term for short-term gains. It is not an intelligent or sustainable move. This added stress creates more bugs, less interest in what they do, less passion and less motivation.
It can take months for a programmer to come up to speed with domain knowledge, specific implementation knowledge and team synergy. Every programmer is a huge investment and a great asset and to throw them away with some short-sighted goal to appease investors or a misplanned deadline is ridiculously costly. With the highest cost of all being them quitting.
To keep people passionate we must allow them to do the things that keeps them passionate. There is no catch-all thing here. Some people needs more time doing other things and we must respect that.
Time to learn new things
How about learning new things at work? An employer that just expect you to learn things at home and then know everything, like magic, simply have no grasp of how a programmer learns.
No, it’s not. If you sign your resume with a skill, we can expect you to know it. But to expect you to be able to know every part of programming – databases, servers, devops, architecture, 10 languages, etc etc, that is just unrealistic.
If you want an programmer to have a skill – you have to train them, at work – like any other employee. It’s as if this simple reasoning doesn’t apply to programmers at some places.
Another solution is to encourage coders to learn or do their own projects on Fridays or similar days. This will have very good effects for happiness, productivity and learning for everyone.
If this post helped you or think you can use it to convince an employer, please share it. Thanks for reading.