The Soft Side of Software

  Download PDF version of this article PDF

Nine Things I Didn't Know I Would Learn Being an Engineer Manager

Many of the skills aren't technical at all.


Kate Matsudaira

When I moved from being an engineer to being a dev lead, I knew I had a lot to learn. My initial thinking was that I had to be able to do thorough code reviews, design and architect websites, see problems before they happened, and ask insightful technical questions. To me that meant learning the technology and becoming a better engineer. When I actually got into the role (and after doing it almost 15 years), the things I have learned—and that have mattered the most—weren't those technical details. In fact, many of the skills I have built that made me a good engineer manager weren't technical at all and, while unexpected lessons, have helped me in many other areas of my life.

What follows are some of these lessons, along with ideas for applying them in your life—whether you are a manager, want to be a manager, or just want to be a better person and employee.

 

1. driving consensus

Technical people love to disagree. I've found there usually are no definitive answers to a problem. Instead, there are different paths with different risks, and each solution has its own pros and cons. Being able to get people to agree (without being the dictator telling people what to do) means learning how to get everyone on the same page.

Since meetings with lots of people can be very contentious, one technique that has helped me wrangle those ideas is called multivoting. Multivoting is helpful for narrowing a wide range of ideas down to a few of the most important or appropriate, and it allows every idea to receive consideration.

You can do this by first brainstorming as a team while putting all the ideas on a whiteboard, along with the pros and cons of each. From there you go through a voting process until the group arrives at what it considers to be an appropriate number of ideas for further analysis. Organizational development consultant Ava S. Butler explains the multivoting process in wonderful detail if you would like more information.1

 

2. Bringing out ideas (even from quiet people)

One of the challenges of working with introverts and shy people without strong communication skills is that it can be hard to surface their ideas. They tend to be quiet in meetings and keep their ideas (which can be very good!) to themselves. Below are a few techniques I've learned that help me bring these people out of their shells:

* In meetings I call on people or do a round robin so everyone gets a chance to talk. This way, the shy team members are given the floor to speak where they may have otherwise remained silent.

* In one-on-ones I have learned to use the power of silence. I ask a question and then refrain from speaking until the person answers—even if it is a minute later. I had to learn to get comfortable with uncomfortable silence, which has been a powerful technique in uncovering what people are thinking.

* I often have everyone write their ideas on a Post-it note and put it on the whiteboard during team meetings. This allows everyone's ideas to receive equal weight, and introverted people are therefore encouraged to share their thoughts.

 

3. Explaining tech to nontech

When you want to rewrite code that already works, you have to justify the change to management. Much of the time nontechnical people don't care about the details. Their focus is on results. Therefore, I have learned to look at all my work, and the work my team does, in a business context. For example, does it save time, money, or generate revenue—and then how do I best communicate that?

I frame my ideas in a context that matters to the specific audience I'm addressing. Using analogy is one technique I've found to be quite powerful.2 Explaining an idea through analogy allows you to consider your audience's perspective and talk at their level, never above them.

 

4. Being a good listener

When you manage people you really have to learn to listen. And, by the way, listening goes way beyond paying attention to what is said. You should also be paying attention to body language and behavior.

I like to use the example of an employee who always arrives early to work. If that person suddenly makes a new habit of showing up late, this could be a cue that something is amiss. By listening to that person's actions, and not just their words, you gain valuable insight and can manage with greater empathy and awareness.

 

5. Caring about appearance

When you are in a leadership role you often meet with people outside of your immediate co-workers who don't know you as well. And they judge you. Plus, studies have shown that your appearance strongly influences other people's perception of your intelligence, authority, trustworthiness, financial success and whether you should be hired or promoted.5

Growing up, I was taught by my grandfather how to dress for the job I wanted, not the job I currently had. As a new manager, I put more of an effort into my appearance, and it definitely had a positive effect, especially when interacting with customers and clients outside of the organization.

I recommend emulating the people in your organization whom you look up to. Look at how they dress. Study how they carry themselves. Watch how they conduct themselves in meetings, parties, and other events. This is where you can get your best ideas for how to dress and communicate success. You want your work and reputation to speak for itself, but don't let your appearance get in the way of that.

 

6. Caring about other disciplines

The more you know about other facets of the business, like sales and marketing, the more capable you are of making strategic decisions. The higher up you go, the more important this is, because you aren't just running software—you are running a business. 

It's also vital to understand the needs of your customers. You could build what you believe is an amazing product, but it could end up being useless to the customer if you never took the time to fully understand their needs. Even if you work in back-end development, caring about the end user will make you create better solutions.

 

7. Being the best technologist doesn't make you a good leader

If you are managing enough people or products, you don't have time to dive into the deep details of the technology. Moreover, you need to learn to trust the people on your team. It is better to let them be the experts and shine in meetings than to spend your time looking over their shoulders to know all the details.

The best skills you can have are these:

• Ask great questions that get to the root of the problem. This helps others think through their challenges, uncovering issues before they arise.

• Delegate and defer so that you are able to accomplish more while empowering those around you.

• Teach people to think for themselves. Instead of prescribing answers, ask people what they think you would say or tell them to do. I highly recommend David Marquet's talk, "Greatness."3 He reveals that while working as a captain on a military submarine he vowed never to give another order. Instead, he allowed his reports to make their own empowered decisions. This small shift in thinking brought about powerful change.

 

8. Being organized and having a system

When you are responsible for the work of others, you must have checks and balances. Practicing strong project-management skills is key. You need to have a way of keeping things organized and know what is going on, and be able to communicate it when things aren't going as planned.

It's also important to be strategic about your own time management. I start each week with at least 30 minutes dedicated to looking at my top priorities for the week, and then I carve out the time to make progress on these priorities. One time-management tool that has been successful for me is time blocking, where I plan my days in a way that optimizes my time for my productivity (for example, I am a much better writer in the mornings so I make sure to do my writing then).4 This helps me optimize my time and always know the best way to use a spare 15 minutes.

Similarly, I have a system for keeping track of my great ideas. I keep an Evernote where I save articles I love or interesting ideas I come across. This gives me a little vault of information I can go to when I need to get inspired, write a blog post, or come up with something worthwhile to post on social media.

The point here is to have systems in place. You need a way to do all the things that are important and keep your information and details organized.

 

9. Networking

If you think about it, every job offer, promotion, and raise wasn't given to you because of the work you did. The quality of your work may have been a factor, but there was a person behind those decisions. It was someone who gave you those opportunities.

If you do great work and no one likes you, then you simply won't be as successful. Be someone with whom people want to work. For example, helping others, listening intently, and caring about the lives of the people around you will help you profoundly. I am always looking for ways to expand my network, while also deepening the relationships I have with my mentors and friends.

I hope these ideas help you become a better leader or employee. Pick one or two to focus on each week, and see where it takes you—progress is a process! I would love to hear from you, especially if you have any other ideas to add to this list.

 

References

1. Butler, A. S. 2014. Ten techniques to make decisions: #2 multivoting; http://www.avasbutler.com/ten-techniques-to-make-decisions-2-multivoting/.

2. Gavetti, G., Rivkin, J. W. 2005. How strategists really think: tapping the power of analogy. Harvard Business Review (April); https://hbr.org/2005/04/how-strategists-really-think-tapping-the-power-of-analogy.

3. Marquet, D. 2013. Inno-versity presents: greatness. YouTube; https://www.youtube.com/watch?v=OqmdLcyES_Q.

4. Matsudaira, K. 2015. Seven proven ways to get more done in less time; http://katemats.com/7-proven-ways-to-get-more-done-in-less-time/.

5. Smith, J. 2014. Here's how clothing affects your success. Business Insider (August 19); http://www.businessinsider.com/how-your-clothing-impacts-your-success-2014-8.

 

Kate Matsudaira is an experienced technology leader. She worked in big companies such as Microsoft and Amazon and three successful startups (Decide acquired by eBay, Moz, and Delve Networks acquired by Limelight) before starting her own company, Popforms (https://popforms.com/), which was acquired by Safari Books. Having spent her early career as a software engineer, she is deeply technical and has done leading work on distributed systems, cloud computing, and mobile. She has experience managing entire product teams and research scientists, and has built her own profitable business. She is a published author, keynote speaker, and has been honored with awards such as Seattle's Top 40 under 40. She sits on the board of acmqueue and maintains a personal blog at katemats.com.

Copyright © 2016 held by owner/author. Publication rights licensed to ACM.

acmqueue

Originally published in Queue vol. 14, no. 2
Comment on this article in the ACM Digital Library





More related articles:

Nicole Forsgren, Eirini Kalliamvakou, Abi Noda, Michaela Greiler, Brian Houck, Margaret-Anne Storey - DevEx in Action
DevEx (developer experience) is garnering increased attention at many software organizations as leaders seek to optimize software delivery amid the backdrop of fiscal tightening and transformational technologies such as AI. Intuitively, there is acceptance among technical leaders that good developer experience enables more effective software delivery and developer happiness. Yet, at many organizations, proposed initiatives and investments to improve DevEx struggle to get buy-in as business stakeholders question the value proposition of improvements.


João Varajão, António Trigo, Miguel Almeida - Low-code Development Productivity
This article aims to provide new insights on the subject by presenting the results of laboratory experiments carried out with code-based, low-code, and extreme low-code technologies to study differences in productivity. Low-code technologies have clearly shown higher levels of productivity, providing strong arguments for low-code to dominate the software development mainstream in the short/medium term. The article reports the procedure and protocols, results, limitations, and opportunities for future research.


Ivar Jacobson, Alistair Cockburn - Use Cases are Essential
While the software industry is a fast-paced and exciting world in which new tools, technologies, and techniques are constantly being developed to serve business and society, it is also forgetful. In its haste for fast-forward motion, it is subject to the whims of fashion and can forget or ignore proven solutions to some of the eternal problems that it faces. Use cases, first introduced in 1986 and popularized later, are one of those proven solutions.


Jorge A. Navas, Ashish Gehani - OCCAM-v2: Combining Static and Dynamic Analysis for Effective and Efficient Whole-program Specialization
OCCAM-v2 leverages scalable pointer analysis, value analysis, and dynamic analysis to create an effective and efficient tool for specializing LLVM bitcode. The extent of the code-size reduction achieved depends on the specific deployment configuration. Each application that is to be specialized is accompanied by a manifest that specifies concrete arguments that are known a priori, as well as a count of residual arguments that will be provided at runtime. The best case for partial evaluation occurs when the arguments are completely concretely specified. OCCAM-v2 uses a pointer analysis to devirtualize calls, allowing it to eliminate the entire body of functions that are not reachable by any direct calls.





© ACM, Inc. All Rights Reserved.