Managing is hard. Lessons are hard earned and should be cherished. This series of posts is designed to draw out my opinions on management. It reminds me how to behave, and encourages others to poke into my reasoning and help me improve. I'm using an interview format for this post, as that's an easy way to start. <!-- prettier-ignore-start --> <!-- vim-markdown-toc GFM --> - [Part 1: What does a manager do?](#part-1-what-does-a-manager-do) - [What are a managers responsibilities?](#what-are-a-managers-responsibilities) - [How do you measure their success?](#how-do-you-measure-their-success) - [How do you describe your job to people outside the industry?](#how-do-you-describe-your-job-to-people-outside-the-industry) - [Hardest part about being a manager](#hardest-part-about-being-a-manager) - [What do you do in the first 90 days?](#what-do-you-do-in-the-first-90-days) - [Should managers code?](#should-managers-code) - [Part 2: Managing and Developing People](#part-2-managing-and-developing-people) - [How do you coach people](#how-do-you-coach-people) - [Coaching](#coaching) - [Career Development](#career-development) - [How do you keep people motivated?](#how-do-you-keep-people-motivated) - [How do you give challenging feedback:](#how-do-you-give-challenging-feedback) - [What is the point of a 1:1?](#what-is-the-point-of-a-11) - [How do you think of developing people?](#how-do-you-think-of-developing-people) - [How do you handle a great engineer with communication problems?](#how-do-you-handle-a-great-engineer-with-communication-problems) - [How do you handle someone who really wants a promotion but isn't ready?](#how-do-you-handle-someone-who-really-wants-a-promotion-but-isnt-ready) - [How do you identify engineers who could make good managers? How do you help them develop?](#how-do-you-identify-engineers-who-could-make-good-managers-how-do-you-help-them-develop) - [Best hire of your career](#best-hire-of-your-career) - [How did you grow top talent](#how-did-you-grow-top-talent) - [What do you do when a team completely disagrees with the founder/VP on the direction of a product?](#what-do-you-do-when-a-team-completely-disagrees-with-the-foundervp-on-the-direction-of-a-product) - [What is your ideal culture?](#what-is-your-ideal-culture) - [How do you make a good culture?](#how-do-you-make-a-good-culture) - [Part 3: Business Acumen](#part-3-business-acumen) - [Part 4: Process and Mechanism](#part-4-process-and-mechanism) - [Part 5: Hiring](#part-5-hiring) - [Part 6: Firing and Performance Management](#part-6-firing-and-performance-management) - [Part 7: Charters, Re-orgs and Bootstrapping](#part-7-charters-re-orgs-and-bootstrapping) - [The genesis: When you start from scratch](#the-genesis-when-you-start-from-scratch) - [The split: When a team outgrows a manager](#the-split-when-a-team-outgrows-a-manager) - [The merge: When a manager leaves](#the-merge-when-a-manager-leaves) - [Aside: Agency and Psychological Safety:](#aside-agency-and-psychological-safety) - [Part 8: Personal Motivations](#part-8-personal-motivations) - [Why is management attractive to you?](#why-is-management-attractive-to-you) - [Part 9: Other resources](#part-9-other-resources) <!-- vim-markdown-toc --> <!-- prettier-ignore-end --> _Add comments [here](https://hackmd.io/nBT2vHq0RqSRKM-KOeBhEA)_ ## Part 1: What does a manager do? ### What are a managers responsibilities? ### How do you measure their success? The success of a manager is the success of the team. This manifest in 4 dimensions: <!-- An acid test: - People love their team. - People have clear understanding of career growth/progression and how their work supports it. --> | Dimension | | | ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | Business Results | Team delivers business value for our customers and organization. I define success (KPI), and help team understand and deliver it. | | People Growing in a high performance team | team is well gelled with team members helping each other. Everyone has growth plans which fit their needs and they are execution them. | | Engineering Efficiency and Process | Engineering systems ensure a pit of success where things which can be automated have been, and we have high velocity releases with minimal risk. | | Technical Assets | Systems are extensible in the ways that support the business. Operational burden is minimal (side bar: to help me prioritize I'm on the pages), and technical debt is applied judiciously (like take debt if you might be able to write off the asset) | ### How do you describe your job to people outside the industry? I run a factory which produces widgets and has employees. For those in the industry this translates to: - Widget == Business Results - Factory Workers == Team health and growing, leaders who make software - Worker Operating procedures == Software Design Life Cycle, - Factory machines - architecture, tech assets My role: - **Business Results:** I work with the business to help figure out the best "widgets we can make", by understanding what people want to buy, and explaining how our factory runs. - **People growing in a high performing team:** I am responsible for the workers in the factory: Are they healthy, learning, wanting to come to work every day, getting along with co-workers. - **Engineering Efficiency and Process:** I am responsible for the efficiency of the factory: Is production good and improving? Are widgets coming out consistently and on schedule? Do new employees know what to do? Does everyone know what to do if there's an emergency? - **Technical Assets:** I am responsible for the machines we build and maintain: Can the machines in the factory be adjusted for the different types of widets we need to build? Do the machines mostly work or do they need constant adjustment? Are the machines we bought used to high efficiency? Top metrics: - **Business Results**: Did we make the right widgets on time and budget? - **People Growing**: Are the works happy based on surveys - **Egineering Efficiency and Technical Assets**: Is our factory solid and able to make new stuff quickly and maintain production? ### Hardest part about being a manager - Surprisingly: People think it's firing it's not. - Greedy: telling team I'm quitting, tears, ride bike, etc. - Actual: When need to surprise folks, abrupt direction change or killing projects. - Expected: Layoffs, when know and can't tell. ### What do you do in the first 90 days? _First 90 days is the book_ Outputs: - Early Win: Figure out the situation, and deliver a win. - Trust: Relationships with team, and peers, and partners. - Knowledge: Know critical parts of business, tech, org. <!-- **Learn** Learning as an investment process. Planning to learn. Figuring out the best sources of insight. Using structured methods to accelerate learning. **Build Trust and Relationship** Build Your Team Inheriting a team and changing it. Managing the tension between short-term and long-term goals. Working team restructuring and organizational architecture issues in parallel. Putting in place new team processes. Create Alliances The trap of thinking that authority is enough. Identifying whose support is critical. Mapping networks of influence and patterns of deference. Altering perceptions of interests and alternatives. **Diagnose, agree, and find 90 day win** Match Strategy to Situation The dangers of “one-best-way” thinking. Diagnosing the situation to develop the right strategy. The STARS model of types of transitions. Using the model to analyze portfolios, and lead change. Negotiate Success Building a productive working relationship with a new boss. The five-conversations framework. Defining expectations. Agreeing on a diagnosis of the situation. Figuring out how to work together. Negotiating for resources. Putting together your 90-day plan. Achieve Alignment The role of the leader as organizational architect. Identifying the root causes of poor performance. Aligning strategy, structure, systems, skills, and culture. Secure Early Wins Avoiding common traps. Figuring out A-item priorities. Creating a compelling vision. Building personal credibility. Getting started on improving organizational performance. Plan-then-implement change versus collective learning. --> ### Should managers code? Managers should read code on specific occasions, but they can't be on critical path because their time is often needed to deal with urgent situations. Thus, they can only write low importance code usually something you'd assign to an SDE-I. At that point, you have a very expensive priority inversion. That said, SDMs need to use their product just like their customers do to be able to better understand and meet the customer need. Like wise, SDMs need to use their development tools periodically, which should include the code/test/deploy cycle, so they are better able to understand and meet their team's (aka other big customer) need. SDMs should be reading code occasionally: 1. Spot checking - SDMs should have a good "something is fishy" intuition, and should be able to independently and discreetly prove or disprove their intuition. 1. Assessing people - Code is a major deliverable for developers and should be inspected as part of people assessment. 1. Deep dive during major outages - In high risk, time critical situations like outages, you want your best people reviewing the changes, and this includes SDMs. If an SDM can't understand a high risk time sensitive code change, it can be, and should be simplified. ## Part 2: Managing and Developing People ### How do you coach people There are two major categories of coaching. Career development and coaching #### Coaching Coaching is a major part of the job, and covered in my [coaching post](/coaching): _Coaching is like midwifery. A midwife can not give birth to the baby, she facilitates the birth. Similarly, a coach can not give a solution, she must give birth to the insight from within the coachee. Coaching is asking questions, guiding, and facilitating understanding, and this post collects my studies on the topic._ #### Career Development ### How do you keep people motivated? I use Danial Pink's DRIVE model, Autonomy, Mastery and Purpose: - Autonomy - You are the owner - All decision need your sign off - Coach from behind (here's success, here's how I'd say it, what are the consequences, misses) - The team has your back. - Protecting from harmful rays of upper management and business - Only clear out as much as required - Mastery - Career Development todo link it. - Training - In the dimension we agree to. - You can work at 110% of your capacity, but I tell you when you're at 90,100, or 110 - Bigger and Bigger Opportunities and/or Exposure - Purpose - Focus on the why - Call out the impact - Share the success with the team - Share success with partners and boss People also care deeply about coaching and career growth: - Catching people doing things right. - 110% of capability but clarify doing 110% vs 80% And I spend a lot of time on generating [Moments](/moments-at-work): _Of all the places we spend our time, work is the one that dominates. However, when we look back on our lives, work is often the thing we remember least. Why? Because we remember our lives through peak moments, and there are few of those, especially positive peak moments, at work. Luckily, peak moments can be created and managers can be taught how to create them. This post explores opportunities and techniques to create these moments._ - Constant celebrating people doing stuff fun - Hack-a-thons - Playing cards for appreciation - Managers making breakfast ### How do you give challenging feedback: Why is feedback challenging? 1) It's a surprise 2) They don't want to hear it 3) They don't think you have their best interests in mind. Types of tough conversations: Performance, Charter, Re-org (me leaving), Lay Offs. 1. Surprise - see around corners, and bring up anything I see ASAP, and foreshadow. Meet frequently, know what people care about. 2. Attack the messenger - High Trust, Know how the person likes to hear stuff. Address what they care about. 3. Don't want to hear it - Self Aware, Think I have their best interest in mind, Put it in terms they want to hear it. 4. Over dramatize - Anticipate what they'll care about, pre-address. ### What is the point of a 1:1? Computers produce nothing, developers produce code. Business produce nothing PMs, other functions produce stuff. I produce nothing, my output is the output of the team, and the team is the sum of the people. My ability to get the most value from my people is through my relationship with the people. If they trust me whole heartily, they'll tell me stuff I need to know, and I'll be able to understand how best to use them/influence them/inspire them. So, all my 1:1's start with What's on your mind - what ever they have we talk through. based on time and place we'll do X, Y. For 1:1's for my team, the employees owns the Agenda, however I will nudge them. I like to spend time - Building relationships - Providing Larger Context - Having confidential discussions on concerns and questions. - Coaching strategically - Coaching tactically. I also have some special 1:1s: - Leadership card evaluation exercise - Career discussions - A discussion around what we should be focused on for the next 6-18 months. - Reviewing role guidelines - to help ensure we're on the same page about tactical gaps. ### How do you think of developing people? Depends on the skill level: SDE-I is a junior developer, SDE-II intermediate, and SDE-III senior and above. Also see my post on the differences between [Tech Lead, Architects and Managers](/software-leadership-roles). | Level | Approach | | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Junior | Not a lot of variance. Have a rubric for junior SDE skills and make sure they are getting the opportunity to learn and execute each box. Make sure they have a solid mentor, and opportunity after opportunity to round out their knowledge. | | Intermediate | Now it's about how are you helping the team, growing your contributions. Bigger experiences, maybe out side the org, both to build your skills, and increase your org visibility. Double down on super powers, close red flags and blockers. Very satisfying to watch people "blossom" into leaders. | | Senior/Staff | Here you're getting people are at a career level and are happy with a lot of what they're doing. Here they're deciding how much they want to grow, and where they want to improve. Here it's discussing with mentors, and how we want to split responsibility and cover each other. Also opportunities for what they own for the group (30-60+) e.g. security or process or etc. | Some questions and things to tell these folks Junior (SDE-I): - You help them close gaps, sharpen their understanding by teaching it to you - We hired you because you're smart+really good. If you can't understand something, it's probably the presenter doesn't understand it well, as opposed to you not understanding. - You are new, and need to learn and need to spend a bunch of time asking for help and guidance. I have one rule - you must come with a bad idea (which will start becoming good ideas). You fail when you bring nothing, you ace it when you bring a bad idea. We'll help you develop that bad idea, and help sharpen your thinking skill. - "You have a fresh perspective - If something doesn't make sense ask, for us, we're like fish in water, so challenge our assumptions". Intermediate(SDE-II): - How do you make the team better? - What are you gonna be known for? - You're the owner, you'll do everything and I work for you. What help do you need - Do shadow coaching, where I might be writing/pr-doing work but they do the send/take the credit Senior(SDE-III): - Are you clear on [Tech Lead, Architects and Managers](/software-leadership-roles). - What are you driving for our larger organization? - How are you maximizing our benefit? - How do we make sure we compliment each other? ### How do you handle a great engineer with communication problems? - High Order: Goal is not "communication style", but ability to influence. - Types of communication problems - Clarity of thought - Not communication problem, very concerning . - Not listening to others - ESL - - Written - Verbal - Toast masters - Pre-write thoughts - Use pictures - Say not great on my feet - Slow in situations ### How do you handle someone who really wants a promotion but isn't ready? - Surprises are **BAD**: - Haven't set clear expectations. - Requires mini RCA - Goal: - Engineer comes to conclusion himself - Engineers feels on track - Engineer aspires to get to that level - Engineer doesn't want to be over leveled - Engineer is self aware - Engineer gets new opportunities/support required. - Start w assume engineer right - lets look at the criteria together. - Now or next 1:1? - Review role guidelines - Ask for self evaluation - Go over with examples together - Ask "How would you describe your behavior vs someone else's" - Ask what gaps do you see - Call out positive examples from engineers @ Level + 1 ### How do you identify engineers who could make good managers? How do you help them develop? Engineers that are interested in reading this post :) ### Best hire of your career ### How did you grow top talent ### What do you do when a team completely disagrees with the founder/VP on the direction of a product? ### What is your ideal culture? ### How do you make a good culture? - Model myself - On All the Pages - If team is working I'm working - When I make mistakes I apologies - If I drop the ball I make it clear. - When someone does well I celebrate and call out. - Catch people doings things right - Coaching stuff - Put it front and center - Let team take ownership of it. - Incite pride and purpose - Repeat/Repeat/Repeat ## Part 3: Business Acumen ## Part 4: Process and Mechanism ## Part 5: Hiring ## Part 6: Firing and Performance Management ## Part 7: Charters, Re-orgs and Bootstrapping Reorgs have two dimensions, staffing and charter, both of these need to be addressed. There are several types of re-orgs. Here are some of the ones I've executed: ### The genesis: When you start from scratch Building a team has two aspects, hiring from 0 to staffed, and building out a new charter and vision. In an ideal world, you'd execute the following hiring plan: - Start with a high level view of the business - Put in places the senior developers to build out the architecture and process - Start working by getting your SDE-IIs and SDE-Is In the real world, you'll likely: - Have a vague idea - Add people as you find them (hard stop when too many juniors - see below) - Pick some easy wins, and get those started, ready to pick up debt to see what we can do. Note: It's usually easy to hire junior people, and when there's pressure to start, you'll be tempted to just keep adding junior folks. However, there's a world of hurt here. If you're planning on starting with too many junior folks (or getting pressured to) borrow more experienced folks from other teams. Ideally borrow them full time for a few quarters, but at least borrow them for brainstorming, design, architecture and mentorship. Hopefully, early in your hiring process you've been thinking about your charter. Charters and such are hard, here's the strategy I tackle: - Come up with a north star vision - Start your first experiments in tech and market - Find the first wins to be able to inspire the team, excite the investors, and really partners. - Build out an early roadmap and product. - Keep learning and improving as people join. ### The split: When a team outgrows a manager ### The merge: When a manager leaves ### Aside: Agency and Psychological Safety: ## Part 8: Personal Motivations I guess the whole post is personal, as these are my opinions. The questions below can't be "evaluated" as they deal with internal motivations, however they can be questioned to determine if these are really my motivations, and if I"m being consistent between my actions and motivations. ### Why is management attractive to you? On my deathbed, the product I will be most proud of is the people who I watched blossom and grow. It's cliche, but when you love your people they know it, they thrive, and do their best work. It's not just about the work, I want to make sure people think of their lives as well, because, well, that's even more important. I'm also energized by getting shit done. The though of shipping, clearing roadblocks, and never being blocked puts a smile on face. Speaking of smiling, nothing brings me back up like reading this kind of feedback that I got when I left a team: _Goodbye Igor! Thank you for helping me reach the next level both physically and mentally. I cherish the moments when we ground through challenges like peak days, when I was in trouble and you said "That's why I'm here, give it to me I'll make it happen", and of course, when you show your magic at happy hour! You are a great boss and great teacher._ Lastly, I love understanding what is going on, coming up with win/win solutions, and framing those solutions into a meaningful story that people rally behind and deliver. Some more words that bring me up: _Igor - Your passion, energy, intellect, and sheer force of will -- so intense, so inspiring, so powerful we still feel it 3 years after you left the team._ <!-- - Skill, clarifying, building consensus, sharing the story and meaning. - Leader Ownership, but not a good enough PM, and very strong tech - Lead and inspire - Servant leadership - On top of best practices --> ## Part 9: Other resources - A related post which is to be merged, is my aspirations as a [manager](/boss). It has a good collection of related material section there for other resources
{"metaMigratedAt":"2023-06-15T05:07:34.818Z","metaMigratedFrom":"YAML","title":"Igor's Book of Management","breaks":false,"contributors":"[{\"id\":\"2844d00f-4c93-4839-9f0b-c438cbf39bd7\",\"add\":26292,\"del\":2176}]"}
Expand menu