The discussion about the Why and How

One of the interesting mailing lists I have received recommendation of is Software Lead Weekly, and last week they recommended this article, named The One Method I’ve Used to Eliminate Bad Tech Hires, which led me to Eric Elliott’s article, Why Hiring is So Hard in Tech (and also to his article Assessing Employee Performance which I enjoyed).

While I disagree with many aspects presented in The One Method article, such as always hire using a weekend task (eliminates parents or busy people with interesting and maybe relevant side projects) and let the candidate present it to the entire team (what if she’s bad at public speaking?), I agreed with most of Elliott’s text, and published it in a group of senior engineers I manage. To my surprise, a large amount of them resented his insights.

This is what Elliott says about CV:

Great candidates:
– Show, don’t tell
– Stress accomplishments & products over buzzwords
– Link to GitHub profile URL for sample code
– Link to portfolios or apps they contributed to
– Link to StackOverflow profile URL
– Link to Conference talks, blogs, or publications

A discussion evolved. Opponents claimed it’s not right that the industry demands all this work on your spare time (creating side projects, write blogs etc.). That if you have other hobbies it is valuable to work and also for keeping your ability of learning new things sharp. That if you want to become lead, you might as well use your spare time to do more work tasks and get promoted at work. Someone told me that people like Joshua Bloch doesn’t have a GitHub account. They did everything at work.

I claim that if you want to be a star, you need to put an active effort into it and make sure you evolve fast. My assumption is that any engineer can become a tech lead if they learn, it’s not something you’re born with and it’s not a fixed property that you either have or haven’t. But I do agree that ideally, people should have their spare time free to do as they wish, and it shouldn’t affect their career. Free time is very important to one’s health. After discussing this at work too, I came to the conclusion that there are two approaches to getting better:

  1. Use your spare time: do side projects, go to meet ups and conferences, speak at meet ups and conferences, write blogs, produce podcasts, get updates on new technologies and new improvements of existing technologies. It becomes natural and part of your self definition after a while.
  2. Pick your repertoire of companies in such way that helps you achieve the knowledge you need. For example, a corporate with official process of improving technical level of employees, such as courses, conferences and work time devoted to learning, mentoring dynamic and so on, and then be a first developer in a startup having to solve many problems on your own and create architecture. Another tactic is to make some time during work to get a better understanding of what you’re doing. For example, if you’re looking for something in Stack Overflow, and there’s no answer, or if you post a question and no one answers, post your solution when you find it.

I picked the first approach. I don’t have kids currently, I don’t go to school, and I can allow myself to use my spare time to learn faster. But this discussion made me realize repertoire and wise use of time at work can make a great impact and should be considered carefully as well.

What do you think?

Also read:

You can’t fix diversity in tech without fixing the technical interview by

Unlocking Trapped Engineers

Guy Kawasaki “The Art of the Start”

At the end of episode 109 of CodeNewbie they recommend this article which was pretty interesting to me – How To Be a Better Developer with Programming Challenges


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s