Hello! What's your background and what do you do?
Hello to you too!
I'm an engineering manager for the machine learning engineering team at Helpshift in the San Francisco office. Helpshift provides software for companies who want to deliver great customer service experience for their users. In order to help companies handle today's large scale of customer service interactions, my team is involved in building and operating machine-learning products to assist the customer service agents and the end users.
My background is 13 years of software engineering experience, from big companies such as Yahoo! and Adobe, to attempt at my own startup, to startups such as Infibeam (ecommerce), Automatic (connected car platform) and now Helpshift (customer service).
How was your transition from software development to management like?
The transition was drastic in the sense that I went from being "heads-down" most of the time to being "heads-up" most of the time. It was not about solving problems through technology any more. It was about solving problems through people /and/ technology.
I had to reorient myself by reading various books such as "The First 90 Days", watching talks by Michael Lopp (a.k.a. Rands in Repose) and reading newsletters like Oren Ellenbogen's Software Lead Weekly.
Thankfully, my then-boss had already hired fantastic folks that I work with, so that part was covered.
What does your day-to-day work look like, and what motivates you to do it every day?
My day-to-day revolves around projects and people. It's about following, nudging and unblocking both :)
What motivates me is that I want to see if I can build a healthy, productive and exciting team.
What are the biggest challenges you've faced so far? What did you do to overcome them?
My biggest challenges are:
- Communication is hard. It's like playing the Chinese Whispers game every single weekday!
- I'm responsible for both helping people grow and evaluating them at the same time. That's contradictory :)
- I'm responsible for both short-term delivery and long-term foundation-building. That's an everyday conflict of time.
There's no silver bullet answer. It comes back to fundamentals:
- Build trust with your team. Be transparent about your priorities and your reasons for your decisions and actions.
- Active Listening. It's very easy to focus on telling "your point of view". Stop. Listen.
- Schedule your priorities. Don't prioritize your schedule!
What has been the biggest surprise so far? Something you didn't expect?
My biggest surprise so far is that it is /okay/ to repeat yourself.
Computers need to be only told once. People need to be told multiple times for them to really grok something. That is /okay/. That is normal.
What's the best advice you've received about being a manager?
This was from Michael Montano, VP of Engineering at a Twitter Meetup on Engineering Management:
As an engineering manager, you only have 2 responsibilities :
- To deliver
- To increase the team's capacity to deliver
I thought that was profound.
It's homework for the reader on what those 2 things expand to :-)
What do you tell developers who are considering making the switch or new to the role?
Do /not/ do this if you are not ready to focus on people!
There is a difference between tech lead and engineering manager.
Tech lead is about leading projects. Engineering manager is about leading people, who themselves lead projects.
The engineering manager is how the /rest/ of the company interacts with that engineering team. So you have to focus on people inside your team and people across teams and people above your team. It's all about people.
Final call to action! Where can we go to learn more about you?
I have some more reflections written at https://swaroopch.com/2018/11/15/engineering-management-lessons-learned-in-first-year/
Questions, stories and advice-from-experience welcome :)