by Tao Cheng
Before I left Pinterest, I wrote down those 15 management tips I learned over the years and shared with managers on my team. There is at least one real-world story behind each of these tips. I learned many of those tips from leaders I know and found them to be useful. I hope you find them helpful as well.
Tip 1: Don’t surprise people (unless it is a pleasant surprise). If you have concerns/feedbacks, give them early, in time, and frequently, rather than wait for regular 1:1, calibration, etc to share the message.
Tip 2: Be cautious in calling for big meetings. Overall, the more the attendee, the less effective the meeting is. Be cognizant of everyone’s time. Big meetings should ideally yield concrete action items, rather than just information sharing (which can be done using other more efficient channels).
Tip 3: Pay attention to small things, particularly around tech foundation and engineering quality. For example, when someone is not doing a good job of handling pagers, you need to call it out (privately). Engineering culture takes time to build so we need to keep on enforcing it.
Tip 4: Plan ahead, and sometimes way ahead. Typically, promotion should be planned 1 year before the actual promotion happens, if not longer. We typically need 2 consecutive halves with exceeds rating to warrant that a candidate has been consistently exceeding their expectations (and therefore ready for the next level).
Tip 5: If you truly find out that someone is not a good fit for the team, or can not work well with you, it is best to part ways early. Have an honest and sincere discussion. This is typically good for all parties involved.
Tip 6: Build a team with diversity and a good mixture of talent. For example, having a team full of L6s, or full of L3s are both probably not good setups. A good mixture of seniority offers junior engineers to grow and senior engineers to lead and mentor. As another example, because our team has a good representation of female engineers, more female engineers are willing to join/transfer to our team.
Tip 7: Try not to just position yourself as manager of a team, but more as a leader of the organization. Sometimes, this means doing things that benefit the company but not necessarily immediately for the team. Being territorial often limits your eventual scope and growth.
Tip 8: As you grow, you need to learn to “not” do things. As a manager, you have resources to help you scale. The art of delegation is very subtle, but the earlier you learn, the faster you will be able to grow yourself and your team. As a rule of thumb, think of the overall throughput of the team. If a team member can do this faster/better than you, it is typically a good idea to delegate. The point of doing “less” is to do “more”.
Tip 9: Show your appreciation, in a variety of ways. This includes meeting shoutouts, in-person compliments, spot bonuses, etc. I’ve been handling spot bonuses for the most part, but please continue on nominating outstanding performances (particularly around tech foundations) and reward those efforts.
Tip 10: Actively seek feedback on your team and yourself. More importantly, take quick actions on the feedback. Once people see their feedbacks are helpful and are being taken action upon, they are more inclined to offer more feedbacks and thus form a virtuous cycle. In contrast, many people already hesitate to give you feedback and would resist doing so if you do not take those feedbacks seriously.
Tip 11: If you hear constructive feedback from someone on some people on your team and you are not fully sure if the feedback is valid, try to see if the feedback can be corroborated by at least one other person. This will help remove bias and provide more fair feedback. You can also say “I got this feedback from multiple sources”, which provides some anonymity. The receiving person is also less likely going to take it personally.
Tip 12: Try your best to be fair and consistent. As much as I want to celebrate everyone’s birthday on the team, I resisted doing so as it is difficult to do this consistently for everyone every year, especially when your team is growing. This applies to other scenarios as well, your 1:1 frequency with team members (believe me, people look at your calendar and care about things like this), how you decide compensation adjustments/promo decisions, etc. As a manager, being consistent is very important. This is how you earn trust and set proper expectations.
Tip 13: A mature team should not have single points of failure. This means having at least 2 engineers owning critical pieces of the system/code, not relying on “folklore” but rather on proper documentation (which is why I have been constantly pushing for wiki/runbooks). A mature team should be able to function well in case of emergencies (e.g., medical reasons, departure, team transfer, etc).
Tip 14: In my mind, you should always have a succession plan (ie, who can take your job if you are to leave), although I did not do well in this area myself. This acts in the best interest of the team and of the company. Also, if you have the “growth” mind, it is great if someone on your team can fully take your job, which means you can take on more challenges and expand your scope. It is a very good way to multiply yourself! In this way, it is also in your best interest to coach someone who can take your job.
Tip 15: Don’t be afraid of re-orgs or manager changes (I myself had 7 different managers in my less than 5-year tenure here). In my mind, a good leader should be able to function well in different settings, under different managers. Treat such changes as opportunities rather than challenges. Remember, in most cases, your manager and you are here to help and support each other. Good luck. :)