Several Biased Reasons Why I Preferred To Be a Software Engineer

Arseny Kravchenko
Don't Panic, Just Hire
5 min readJan 24, 2016

--

Short summary for those who don’t follow my job status updates (actually that’s not a good topic to follow): three months ago I joined Yandex as a Software Engineer after several years of product management career. It caused a lot of questions from my work-related acquaintances. Within this post I’d like to sum up my thoughts and motivations why I changed the path although it may look like an irrational decision.

It’s easy to be considered as good product manager in Minsk (“In the country of the blind, the one-eyed man is king”). But I didn’t feel myself a king just because of my ability to crack interviews using tons of trendy buzzwords.

Being able to do PdM’s job is not equal to being a good product manager. Any more or less smart person can rotate backlog and do a lot of other routines. Good product manager should feel the product as good as they feel their hands. Otherwise they’re unqualified (sad but true). So one can do the job above the median, but it doesn’t make them a good PdM. And if one can’t be good in his/her occupation by design, are there any reasons to continue doing it?

Product Manager position looks pretty sexy for most people working in tech industry. There are some popular points proving it:

  • Freedom. PdM makes a lot of decisions (“you’re a mini CEO”) within his job and has an opportunity to implement his own ideas.
  • Variety. PdM’s work is far not homogeneous (always shifting between customer care, marketing, analytics, communicating with dev team etc.) so it will never annoy.
  • Challenges. Managerial position makes a person solve sophisticated issues.
  • Money. PdM makes a lot of money! 💰💰💰
  • Finally in some setups it’s a chance to rule for those who lust for power.

Sound like a dream, huh? And if I have balls to find a PdM job, I should do it, shouldn’t I?

Being a PdM is not a dream although the points above. The biggest issue for me was exhaustion.

  • Let’s assume you’re a professional (or your employer just thinks so), your stakeholders trust you to make decisions. Making hundreds of primitive decisions with no pros/cons on each option (should this button be here or five pixels below?) is not that easy, and after some time it may lead to decision fatigue which poisons the joy from making significant decisions on product. I remember myself answering many questions “I don’t fucking care”—it doesn’t seem like an attribute of good professional.
  • The job is absolutely nonlinear. There is no linear dependency on your forces: sometimes you do all you can and product is still fucked up, and vice versa. So if a person have no outstanding resistance to failures, it requires significant mental forces to handle.
  • For introverts like me it can be a bit complicated to take part in that many meetings. In Wargaming I have had up to 8 meetings per day, in Captiv8.io the number was smaller but the effect was still pretty similar.

Shifting to engineering allows to avoid this energy consuming activities. Most of decisions I have to make now can be handled with formal rules, relevant researches and data-driven approaches.

I worried a lot if I’ll be able to work efficiently without proper variety of tasks. And it’s the point where agile approaches help.

Cross-functional teams (are there any other teams around nowadays?..) should be friendly to agile roles. So if a person can provide a significant input not in his mayor area. E.g. on my current project the team can leverage from my online marketing background, and I’ve never heard something like “Shut up, it’s not your responsibility” while doing something far from coding itself like tuning the campaigns on my own or just sharing some experience.

Other advantages from the list ‘Good sides of PdM job’ above can be mapped to such list on software engineering. Median SE makes enough money for living, usually has more or less freedom (except for the very junior guys) and challenges are widely available. OK, there is nothing about managing people — I’m happy I’m not the fan of this stuff.

Software engineering is kind of area where ageism is fair a bit. I’m 26 now, and I doubt I’ll be able to investigate new things in 20 or even 10 years from now that fast as I can do it now. There is an (almost) linear tradeoff: one get the experience, one loses the mind sharpness.

Have some leisure time? See Vadim Makishvili’s talk (in Russian) about age’s role in software development routines.

Weird math: I work same time per day as I did on managerial position. But — surprise-surprise — I have more free time now. Actually it’s not weird: I used to dedicate significant share of my leisure time to coding just for fun(I really enjoy the process). As soon I can slake my codelust in office, there is no more need to spend my evenings with IDE instead of my wife or friends (or videogames, kekeke).

Final extra was a real surprise for me: I’ve almost fixed my sleep issues. I don’t have any nightmares about roadmap approvals and new product version launch anymore. No more calls in 11 PM just because it’s the only chance to sync with stakeholders — I guess it’s a good thing for a healthy regimen. That was out of my goals but this health bonus is better than cash bonuses that enterprises give away to their managing employees.

These reasons are solid for me. So even if I have to leave Yandex (these guys are not that loyal to remote work, I’m absolutely not loyal to Moscow where the rest of my team works), I’m going to work as a software engineer for several next years.

Probably some day I’ll prefer to shift back into management and lead a small engineering team. That’s when I will leverage from the experience I can get now.

--

--