Maxim Chechenev

BlogAbout me

Do I need to code in my free time to be a good developer?

July 12, 2020

“You need to code in your spare time to be a good developer” - I’ve been hearing this all the time during my career. When I had just started, I heard it a lot. After almost 10 years of working in the development industry, I’m still hearing it. I hear this phrase when I read interviews of some CEOs and they are saying: “I will never hire a developer who doesn’t code in their spare time”. When I go to interviews with some companies they ask me: “Tell us about your side projects” with the hopes of some nice story which I don’t have.

But more often, I see how developers doubt themselves because they don’t code in their free time, especially when their colleagues and friends are doing the opposite.

But is it that important? Does everyone expect it from me? And do I really need to code in my free time to be a great successful developer?

My answer is no.

“But hey, I love to write code and I’m passionate about it”

Don’t get me wrong. I don’t mind if someone codes in their free time. It makes a lot of sense in various different situations like with junior developers who obviously need to learn and practice. Or when you need to learn a new language or a new technology. Or when you are preparing for an interview (especially for big companies). Or when you just like coding and it’s your hobby. Or when you work on your own projects. And so on. All these situations and reasons are wonderful and great, there is no reason to argue.

My question is a bit different - why do some people expect that I will code in my free time if my circumstances are different?

Just to give a bit of context about myself - it happens that coding is not my hobby although I do like it and do my work at a high level. I really enjoy it when I see the result of my work. It’s an amazing feeling to see how people interact with interfaces that I’ve built. And I love it even after 8 years of developing.

But I spend 8 hours per day for work, a third of a day goes to sleeping, and as a result, I don’t have that much time left for something else. What about my hobbies? Family? My friends? I need a lot of time for all these. I need a balance. I don’t want to tell my wife something like: “Yeah, I will be right there, just finishing one more small bug” when she asks me to join the family dinner. Because I know that in that case I will have dinner alone and will eat something cold. I don’t want to miss really important moments in my life.

My hobbies are slightly related to computers. I do like practicing yoga. I enjoy bicycle trips. I like baking (even though I’m not very good at it). I’m trying to learn how to play the harmonica. I want to try new things and new hobbies, I want to feel the life outside of these computers. And how can I find enough time for all these hobbies when I have so little time left in the evenings?

My hobbies and my interests don’t make me a bad developer

Hobbies and interests which are not related to the IT industry make my brains work and think broader. I can find a lot of similarities and approaches that I can apply to work-related processes. My imagination works better. Having different hobbies also teaches me how to find that balance and spend my time accurately.

Besides, I need to rest after a full time working day spent in front of a computer. Well, my grandmother still believes that it’s nonsense: “How can you ever be tired, you are just sitting and pressing buttons! And for some reason, you even get paid!” I’m quite sure that she would prefer me to find some real proper job with a lot of hand working. Because only then I would be granted the right to complain that I’m tired.

Anyway, maybe my body is not that tired but my mind and my brains are. We are not robots. I just can’t bring myself to code for another 1-2 more hours. My productivity will be low, I will probably just spend an hour opening the IDE and just building my project. My mind wants to rest by doing something different and I understand it. How often was I able to find a solution to some problem at a completely random time while doing something different? Quite a lot of times!

When I was a bit younger, I was sure that the word “burnout” is something fake just to get paid days off. I was not able to understand how work-related stress could affect anyone. But then I’ve seen it a lot of time - when people put their best, maximum energy into coding and then they were completely empty. They were so tired and bored.

So, why would my need for rest make me a bad developer? It doesn’t and it will never be like that.

“That sounds great, but when to learn and study new technologies and languages then?”

I believe it should be done during working hours. Because both sides are interested in it - you want to learn something new and become better, and your employer wants to have experienced and happy up-to-date developers.

There are a lot of situations when you can try something at work. New product launch? Show a little initiative and argue your opinion on why you should try new technologies. Maybe it will improve product performance or maybe it will make the company more attractive to hire new developers. Local hackathons are another good example to try and learn new things. Ask about the study budget and allocate some time for that - online courses, conferences, just have some reserved time for it.

Of course, not all companies have these possibilities. For example, I once worked in a huge bank with a lot of specific legacy code. And a lot of bureaucracy on top of that. Unfortunately, I don’t have any nice advice on how to deal with similar situations. I just left that company, but I still learned a lot.

“Alright, but I want to catch up, I’m feeling that I’m out of new trends”

And that is totally fine. Because we can never do that - progress is way faster than we can keep our knowledge actual. We are just humans and we cannot know everything. The more I work, the more I understand that I’m getting paid for my experience building applications, not for my knowledge of the latest technologies. Yes, of course, some new grades can know all the new hyped technologies but they don’t have real life production experience.

Just want to mention it one more time - I’m not against coding in your free time. I’m not asking anyone who is doing it to drop it immediately. Not at all. Everyone has different situations and everyone should do what makes them happy. We are all different.

I’m just saying that no one should feel bad or shamed only because they have different priorities and dreams.

Maybe I’m missing something important there, some important details when someone says: “Sorry Maxim, we can’t hire you, we are hiring people who code in the evenings, bye.” Maybe I’m just not very smart. But I believe that my knowledge and especially experience (not just as a developer but my whole life experience) makes way more sense. My mindset and my abilities to learn and my flexibility are important, not the fact that I don’t write code in my free time.

And I’m not calling these companies bad places, it’s totally fine that our expectations are not aligned. It happens all the time in this industry. I cannot look nice for everyone in this world, it’s just impossible. And it’s fine if some companies think that I’m not a good developer and I’m good for nothing. It’s ok. Because, at the same time, there are a lot of companies who think the opposite and their values are aligned with mine.

Yet another banal thing to say - life is short. I just don’t have time to do things that don’t make me happy or don’t move me closer to my dreams. It’s quite sad that I realized it quite late after I had brain surgery (but I’m absolutely healthy now, no worries), but it’s better late than never and I’m very happy that I came up to that.

-

So, do what makes you happy and what is really important for you. Follow your dreams! Do what you love and what you are passionate about! And don’t let anyone make you feel bad about it.