Annyce Davis

ones and zeros

  • Home
  • Public Speaking
  • About Me
  • Courses
  • Life

Tech Lead to Engineering Manager, Kicking & Screaming

April 7, 2019 by Annyce Davis 1 Comment

I can finally admit it: I was terrified! About three years ago my boss offered me the position of Android Development Manager. There was a flurry of thoughts that ran through my mind:

  • Am I ready for this?
  • Will my peers respect me as their boss?
  • I’m not good with other people’s “personal” problems
  • I love programming, I don’t want to lose my skills
  • …

You get the picture. Despite those thoughts, I reluctantly accepted the offer and within weeks, I quit. I wasn’t ready to be a “manager.” I went back to an individual contributor role and things were “normal” again. At least for a while…

Fast forward to today, I’m the Software Group Lead (Engineering Manager) at my company. I love my new role and the challenges that it brings. Each day is different from the next. You may be wondering, what happened to change my mind? Well, to be honest, it was a gradual process. There was no lightbulb moment, no ah-ha, just small adjustments in my thinking.

If you’re a Tech Lead and you’re wondering: Is management for me? What’s the difference between the two roles? How do I even move into management? I hope this helps.

Life as a Tech Lead

As a Tech Lead, I spent the majority of my time coding, which I loved. I was actively developing features for our mobile app. Coming up with the architecture, introducing new libraries, improving test coverage. That was my life.

The rest of the time was spent mentoring and pair programming with other developers. I did go to meetings, but not that many. And the ones I attended were focused on technical capabilities of the app, timelines for delivering specific features, and standard Agile team syncs.

How I spent my time

Being a tech lead was nice, but I often felt like I had more to offer the company. I had ideas on how we could better structure meetings, recommendations for improving the user experience in our products, suggestions on how we could work to improve the team’s collaboration. I wanted to have a larger impact.

Taking Baby Steps

I started managing just one person. That worked well for me. I could still keep up my responsibilities as Tech Lead and incorporate a few management responsibilities as well. I started having weekly 1-on-1s and pair programming with my lone report. And things were going well. I would get advice from my manager on how to deal with various situations and then put them into practice. Things were good.

I couldn’t just say the same things and ask the same questions to have the same impact.

After about another year or so, my little team grew. I now had two direct reports. Ok, no big deal I could add another weekly 1-on-1 and pair programming session. Everything would be fine. But it wasn’t that simple. Each person is different. They need different levels of mentorship, coaching, and support. I couldn’t just say the same things and ask the same questions to have the same impact. I had to become better. 

Being the pragmatic person that I am, I decided that I would learn about managing the same way I would pick up a new software framework. I signed up for newsletters, subscribed to podcasts, read several books, and joined a management Slack group. I went all in!

Here are a few of my favorite resources:

  • Coaching for Leaders
  • Ask a Manager
  • The Culture Map
  • Radical Candor
  • The Manager’s Path
  • The Making of a Manager

Then little by little I would put into practice some of the new things that I was learning. Like the types of questions to ask during a 1-on-1 or how to structure a meeting when a decision needs to be made versus one where the desired outcome is a list of next steps. It felt great to watch my efforts pay off.

For example, one issue I noticed is that folks would ask me the same types of questions again and again. One, in particular, was related to unexpected API responses in the mobile app. I would go check our API logs in SumoLogic, run a few queries and come back with the root cause. This was bad for several reasons.

First, I was robbing them of the ability to debug and diagnose these issues on their own. Second, I made myself the bottleneck in the debugging process. If I was the only one who could uncover the problem, people would have to wait for me to be available to do so. Third, it was an ineffective use of my time.

So how did I handle it? Once I learned that effective leaders ask questions and help guide people to solutions, I changed my approach. First, I lead a video meeting, which I recorded, where I walked through how I debug API issues with SumoLogic. Then I uploaded the video to a shared drive and placed it on a Confluence page. Now anyone could have access to this information. Next, I thought about the most common cause of confusion: users not having the correct permission to access a given API endpoint. I then created a task for us to expose the user’s permissions in more of the logs and tooling.

And then I waited. And sure enough, the question came again. This time my response was: “What have you tried? Did you check SumoLogic already?” The reply: “No, we haven’t. We’ll do that now.” And that was it. I didn’t hear back from them again. Later on, that afternoon, before I could check in, I saw that the issue had been addressed. I was really proud of my team and myself. They had the tools to handle the issue on their own. And I had the willpower to resist jumping in. This is just one example of many that highlight my shift in thinking.

Life as a Manager

As an Engineering Manager, my time is more fractured. Unlike a Tech Lead, I spend much less time developing features for our applications. Getting use to this shift has honestly been a bit emotional. I’ve needed to learn a new way to feel accomplished at the end of the day. I reflect on positive interactions with my colleagues, a great 1-on-1, a well-timed question in a meeting. These are the ways that I measure my success now.

How I spend my time now

The majority of my time is spent mentoring other developers and participating in meetings. Previously, as a Tech Lead, I focused my time on helping the more junior Android developers level up. I shared tips for increasing their productivity in the IDE, showed them how to debug issues more effectively, asked questions to challenge the way they approached developing new features. But this was all focused on Android development where I was the expert.

However, I now also manage Quality Assurance Engineers and Ruby Developers. They’re the experts in their domain, not me. I had to approach mentorship from a different angle. I now focus on how I can help unblock them, provide connections to other people in the organization, share career development advice, and more. I also spend time learning about their particular technical domain so that I can relate better to issues that they bring up. I took a course on the fundamentals of Quality Assurance and saw immediate ways that I could use the information to assist the QA Engineers on my team.

Side note: Keeping a Weekly Checklist has helped me to avoid feeling overwhelmed by the increase in responsibilities. It also gives me a sense of satisfaction when I check in on Saturday and see what has been accomplished.

The meetings I attend are focused on short and long term strategy, cross-team collaboration, and project status updates. I enjoy this shift because it allows me to tap into the whole spectrum of my experience and knowledge of the industry and people. Previously, my technical acumen was the main highlight. Now, I have the opportunity to share ideas and solutions around business process, strategy, communication and more. Being a manager allows you to “bring your whole self to work” as they say.

My key responsibilities are the following:

  • Weekly 1-on-1s
  • Supporting direct reports
  • Developing our cross-platform solution
  • Writing both technical and process-oriented documentation
  • Recruiting new hires
  • On-boarding strategy across the Software team

It’s a lot. Priorities shift often at our start-up and being flexible is the key. One month, it’s all about hiring. The next, we need to focus on our cross-platform solution. To keep up with the changes, I don’t become overly attached to any one thing. Instead, I make sure that what I’m doing is always aligned with the business needs.

This is the path that I’m on right now. I got here somewhat kicking and screaming. My original idea of what management was about, was way off. I didn’t know what I didn’t know. And even now, I’ve only begun to scratch the surface.

Share this:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)

Related

Filed Under: Career, Life Tagged With: Career Advice, Engineering Manager, Management, Tech Lead

Follow Me

What engineering leaders need to know from this year’s Google I/O

I didn't intentionally aim to create a rhyming title, but there you have it. Each year, I look forward to Google I/O like a kid going back to school. This year … [Read More...]

Talk: The Real MVP

You have an idea for a new app. You've secured buy-in from the business. What's next? The MVP. But what does it take to ship a new app these days? What are the … [Read More...]

Categories

  • Android (55)
  • Career (2)
  • Communication (4)
  • Flutter (1)
  • Git (4)
  • Gradle (4)
  • Grails (23)
  • Java (8)
  • JavaScript (6)
  • Kotlin (17)
  • Life (4)
  • Public Speaking (23)
  • RxJava (1)
  • Software Development (7)
  • Twitter (3)
  • Uncategorized (11)
  • Video Course (5)

Copyright © 2023 · Beautiful Pro Theme on Genesis Framework · WordPress · Log in

 

Loading Comments...