Tag: management

  • Answer these 10 questions to understand if you’re a good manager

    Answer these 10 questions to understand if you’re a good manager

    My latest in Quartz…

    Something I struggled with as a new manager was finding a sense of accomplishment, and as I’ve moved on to manage managers, I’ve seen this become a challenge for them, too. It’s hard to find the right success metrics upon which to judge our work because our output is to make the team better, and so hopefully we give credit generously to them.

    Without success metrics beyond the team’s improvement, though, it can be be easy to feel like you’re just riding a wave of good people doing good work without contributing anything yourself.

    Some managers deal with this feeling by seeing their success metric as being available to their teams 24/7 (unsustainable), or by counting lines of code (which would be like editors focusing on the number of words they wrote themselves—absurd). Some embrace the performance of management without understanding the underlying motivations. They “perform good manager” in one-on-one meetings, team stand-up meetings, and feedback cycles, but it doesn’t really make them feel accomplished, and it’s hard to put a finger on why.

    To that end, I’ve compiled a list of signs that I look for in managers on my teams that suggest they’re doing a good job.

    Continue reading…

  • The first two questions to ask when your team is struggling

    The first two questions to ask when your team is struggling

    Screen Shot 2018-10-02 at 07.50.36.png

    My second article in Quartz…

    I’ve never stepped into a leadership role without it quickly becoming clear why a new leader was needed. I think it’s normal for companies to hire new leaders when there are problems that need to be addressed. So I suspect that as the congratulations die down, it’s also normal to look at the set of problems that surround you and ask, “Where do I begin?” (also normal: “What have I done?!”). I suggest instead starting with these two questions:

    • How do I create clarity?
    • How do I create capacity?

    Continue reading…

    Thanks to @beaulebens whose questions and observation inspired this thinking and to @folletto for the helpful structural feedback.

  • Understanding how process impacts outcome can help avoid useless meetings

    Understanding how process impacts outcome can help avoid useless meetings

    Capture d’écran 2018-09-23 à 19.38.38.png

    My first article in Quartz!

    Earlier this year, when I was learning how to facilitate a specific type of workshop, a colleague revealed the secret to making it great: understanding the outcome and keeping it in mind throughout the entire process.

    If the team isn’t focused on the outcome, than they’re just performing a process.

    Now, I see this phenomenon not just in workshops that I attend or facilitate, but everywhere.

    Management is full of mechanics that could easily become process performances. One-on-one meetings. Feedback cycles. Team meetings. Retrospectives. These are not inherently useful activities (and I’m sure we’ve all been in some of these that felt extremely pointless). They are useful only in service of some kind of outcome.

    The key is to consider the outcome as you design the process, and to pay close attention to the behaviors that emerge as you introduce the process. Behaviors are the link between processes and outcomes—processes encourage behaviors that create outcomes.

    Continue reading…

    Thanks to Belinda, @folletto, and @mnowster who helped clarify my thinking.

  • On Boiling Frogs and Drowning Rats

    On Boiling Frogs and Drowning Rats

    232636845_5ca3c4fe51_o.jpg
    Credit: Flickr / Mad Visions

    Beau recently tweeted an observation I made to him, which people reacted to… Something to do with “plague animals” all “ending up dead”. And well… maybe it isn’t my best management metaphor.

    It’s a metaphor for how we expand people’s comfort zones – the way we want to give people more responsibility gradually, as it feels possible.

    I suspect most high achievers have a point where we go from energised to so overwhelmed by everything we grind to a halt. Keeping people (especially new managers) in the space where they are energised, and catching as they head towards overwhelm is part of the job. It’s great if people will realise it themselves and surface it, but if we haven’t built a relationship such that they feel they can bring it to us… what are they going to do?

    This is the failure mode – people drown in the sea of things they have to do, with nowhere to turn.

    Some people like to be thrown in the deep end to figure it out, but thinking about this metaphor I realise that people who thrive when thrown in like rats are people who have built up their own resiliency and support. They’re not really being thrown in, because they have a parachute to deploy and a support team on standby, ready to help.

    Which also clarifies that part of the frog boiling is to help people develop resilience – and a support network. I tell everyone around me that when their job gets harder, they should make a friend. Coaching is also amazing for helping develop resilience (and self awareness) and I encourage everyone to take advantage of it (if they can). But as a manager, how you react to the inevitable failures of people on your team – do you react with kindness, understanding, and coaching?

    Or do you do you take your broken trust out on the person, destroying the relationship between you in the process?

    How do you react to your own failures? Do you display the same accountability and commitment to learn that you ask of them? Or do you embrace a double standard?

    As I think more about this metaphor, I see that the art of change management is the art of frog boiling. As much as we might be tempted to throw grenades in there “for speed”, consistent temperature and stirring will yield the highest number of live, temperature resilient frogs.

  • Towards Productive Technical Discussions

    Towards Productive Technical Discussions

    Note: I wrote this post for an internal team blog, but thought it was worth sharing more widely.

    wool-2197757_1920.jpg
    Credit: Pixabay / congerdesign

    Part of getting to good code reviews is some up front discussion about trade-offs and implications for bigger architectural changes. I think of code review as when “my” code becomes “our” code – for architecture, those conversations need to start earlier. We all live with it, decisions have consequences beyond the project we are currently working on, and it has a huge impact on our ability to execute over time.

    Some things to think about when giving feedback:

    Ask questions. If it’s not clear to you 1) it’s probably not just you 2) it’s still worth clarifying.

    Think further out. How does the proposal affect things in 6 months? 12? We might choose a shorter term option, but we should make a mindful choice.

    Consider the effort vs the impact. I think this is a really important skill as an engineer or designer that I expect everyone on the team to have some sense of. We hire experienced people who we can trust to be autonomous, and I think this skill is pretty critical to that level of trust and autonomy.

    Don’t nitpick. Small details are distracting. Big picture feedback is more important. If something is a nitpick, clearly mark it as such – and then consider whether it’s worth nitpicking at all. When that nitpicking can be automated, let’s do that. It’s fine to be reminded by a script. It’s not a good use of anyone’s time to be reminded by another human.

    Style guides. It’s easy to have opinion on style, but consistency is more impactful than the details of it. The purpose of a style guide is to never discuss it again. Every other discussion should focus on the substance of what is being proposed, not style.

    We need to be less afraid to give people feedback in general. Technical feedback is a great place to start since 1) that is our focus 2) it is not personal. You can question and critique someone’s idea or proposal without attacking them as a person, and being able to have our ideas and proposals critiqued without taking it personally is important for any professional. We don’t have to agree with each other on everything in order to treat each other with consideration and respect.

     

    Some things to think about when asking for feedback:

    Put it in the right place. Small changes are best discussed in PRs. Bigger changes are for the internal blog (but as an OSS project should be in the README architecture document once decided).

    Be clear about the problem you’re addressing. This is really helpful context for people to understand where you’re coming from.

    Explain why it’s important. Make a case for the impact, and why now.

    Talk about what you’ve considered. What are the alternatives and their tradeoffs? Why do you think this is the best option?

    Think about the kind of feedback you want. What would be most helpful? What might other people have more knowledge of?

    Be clear on next steps. When do you need to make a decision? What do you expect to happen next? Who do you need to agree / help?

    Making Decisions

    The goal of these discussions is to define a path forward, and they should end with a specific decision which we then act on. Non-decision decisions* are a common dysfunction that I strongly prefer we avoid. Have some back and forth, switch to a call if necessary, but at the end of the thread there should be a decision and some next actions. Review the feedback, answer the questions, and then based on that, circle back, summarize, and state the decision.

    If the thread has been productive, and people feel heard, this might still feel scary but at this point we have all explained our point of view, and should be willing to accept the outcome.

    * Non-decision decisions: where a decision is made by not making a decision.

  • Creating Success, Together

    Creating Success, Together

    This is the final part of a 6-part series of blog posts based on a talk I prepared called Successfully Derailed Product. It’s about the ways in which we define and talk about “success” influence what – and how – we build. See part 1, part 2, part 3, part 4, part 5.

    We want to be careful how we create process. The fastest way to a mediocre team is to define your process around mediocrity. A slow but sure way to a mediocre team is to define your processes to gradually push them towards putting their own self interest front and centre – like the conclusions the guy drew from the promotion process we talked about earlier.

    • Incentivizing complexity is terrible. When you incentivize complexity, you get a lot of it. Most of it unnecessary.
    • Impact is contextual and subjective. Time in app is a good example – is it good if people are spending more time on your app if it’s also making them more miserable? Are there longer consequences from that?
    • People leave when they don’t grow. Not all people, but still – if people don’t see a way to learn, or increase their impact, or whatever growth means to them, they will leave in search of it. Remember career development was the top thing developers were looking for in new jobs.
    • And people leave when they feel unappreciated. When the work they are doing doesn’t seemed valued in whatever definition of value they have – financial, or recognition (or both).
    • If you don’t feel like you can be successful somewhere, why would you stay? Which is why we need to understand what people think of as success, so that we can give them a path – or encourage them to find that path elsewhere.

    Capture d’écran 2018-05-08 à 20.33.47.png

    There’s a Japanese concept called ikigai – the intersection of what you love, what you care about, what the world needs, what you can get paid for. The question this inspires, for me at least, is how do you bring out in people what they love, and how they are most excited to contribute to what’s around them.

    One thing that we talk about in my current team, is the idea that a senior engineer makes the whole team better. Which whilst it has the problem of subjectivity that many things do, it’s clear when it’s happening, and clear when it’s not. The person who does a lot of great work hiring or onboarding, or the person who spends a lot of time on architecture or code review – their impact goes beyond lines of code of features shipped. But the person who doesn’t work with others, or who leaves things unfinished for teammates – it’s clear they are not contributing in that way.

    As we approach the end, what can we take from all this?

    The dysfunctions of your organization become the dysfunctions of your product. Dysfunctional teams of mean, insecure people, build shitty products.

    Capture d’écran 2018-05-08 à 20.35.07.png

    I have this idea I think of as the hierarchy of kindness. Essentially, we’re kind to ourselves. And on top of that we are kind to our teammates. Kindness to the user sits above both of those. If you can’t show empathy to the people you work with every day, how can you show empathy to someone you will never meet?

    Or: Resilient individuals -> strong teams -> towards a purpose (the user).

    But strong teams are necessary but not sufficient. All organisations have their quirks. It’s fun and entertaining to talk about extremes, but things don’t need to be extreme to cause problems.

    • When you don’t make decisions: product features don’t get clearly prioritized, leading to stagnation or bloat.
    • When teams can’t work together: your UX becomes disjointed. This is Conway’s law – Any organization that designs a system will produce a design whose structure is a copy of the organization’s communication structure.
    • When you incentivize complexity: you get a lot of unnecessary complexity.
    • When you are too into shipping fast: what you ship is mostly unfinished.
    • When you are too into long, complex architecture projects: what you ship is few and far between.
    • When you have to do a rewrite: you have failed. How do you not fail again?
    • When you get disconnected from how people really operate: you create a very rigid product.

    Here’s the thing about organizational dysfunction. Sometimes it’s created by political machinations. But often it’s created through good intentions and deliberate process.

    Arbitrary characteristics of early team members become enshrined in the hiring process and don’t evolve as needs change. The things that make small teams successful are still lore and aren’t revisited as teams grow. An elaborate promotion process gets defined in the name of fairness as a preventative measure against fiefdoms. We experience poor managers and then we become poor managers ourselves – or just devalue the whole concept. We pattern match, but we don’t really know what the patterns are.

    I love what this snippet of David Bowie captures. The idea that in art, a piece is not finished until it is experienced. This is so true for products. This is where we live – in the grey space in between.

    Thanks for coming on this journey with me. It’s left me with more questions than answers in many ways, but also with a strong conviction that this is the work – understanding those motivations, and creating that alignment. I leave you with three thoughts.

    A sense of accomplishment is personal. Ask someone what gives them that for a potentially fascinating conversation.

    Zoom out for clarity. The disconnects appear when we step back – from the individual to the team, from the team to the users the product is meant to serve, from the feature to what the person is trying to do.

    Say thank you. If you liked something that someone did or built or wrote, tell them. Impact matters to people, but people don’t know they have had an impact on us unless we let them know.

    Thanks to my colleague @folletto who helped me turn a collection of disjointed thoughts into a coherent structure and introduced me to Campbell’s law, and @mattmiklic who made my slides beautiful after I destroyed everything.

  • How Do Teams Define Success?

    How Do Teams Define Success?

    This is part 3 of a series of blog posts based on a talk I prepared called Successfully Derailed Product. It’s about the ways in which we define and talk about “success” influence what – and how – we build. See part 1, part 2.

    Taking a step back from individual success, I wanted to understand was an industry we talk about building teams. What is the team working towards? What motivates them? What bonds them? What makes them proud?

    I turned to a resource called Software Leads Weekly. It’s a newsletter that was one of the first things I was pointed towards when I became a manager, and it’s read by around ~18K people a week. I figured it would be a reasonable example of how we talk about technical leadership. I went through every issue this year, 13 issues with 130 articles and categorized every article in a spreadsheet. Blog posts made a bit over 50%, and tweets a bit under 40% (I shouldn’t tell my boss this, he’s pretty into blogging), with the rest a mix of media articles, video etc.

    To try and quantify the bias here, whilst I was at it checked the gender breakdown of things included. 15.4% of included articles where by women. Now, gender is not binary, and not the only measure of diversity. BUT – it’s easiest to quantify, and necessary but not sufficient. I.e. if something is genuinely diverse, it will have good representation of women. If something is representative of women, it can still be poor at representing other axes of diversity like race or ability. Now for those of you who think 15% is OK, because it’s about tech, note that not all the articles are from tech, and so there’s plenty of possibility to do better than the poor standards of this industry. But that is not taken.

    I read a good amount about management, and running teams, and sometimes I wonder if an alien was studying this, like the way the alien in Hitchhiker’s Guide called himself Ford (because he thought cars ruled the earth), what would they think development teams do?

    So finally, I have my answer. And it’s pretty much: they might reasonably think we run teams to run teams, as some kind of cultural ritual.

    The most popular categories are team operations – which was a broad category included things like process, job roles etc, and individual effectiveness which was narrower – personal productivity strategies – time management, decision making, etc. Less than 30% of articles had the word “user” or “customer” in them, but only 2 could really be defined as being about users and what the software we build is for.

    I rounded out this biased research with some more biased research on Twitter.

    I got some interesting responses. But I’d also love to know what you think. (Leave your answer in the comments or tweet at me).


    Note – much less popular, and far fewer responses. I wonder why that is? Do people have less clarity there? Are they less willing to share it?

    Capture d’écran 2018-04-03 à 11.49.35.png

    There are two themes worth highlighting here. One is clarity, the other is psychological safety. Clarity around what the team is doing, and needs to do. Psychological safety is about the team feeling good about getting there together.

    Capture d’écran 2018-04-03 à 11.49.41.png

    I like the idea that “a successful team cares”. One thing I would highlight here is how quickly “what does a successful team look like” becomes “things managers should and should not do”.

    Like… optimizing for playing video games. I have some feelings about this…

    Capture d’écran 2018-03-23 à 10.27.37.png

    I’m not sure what to take from this research. It’s hard to see the relationship between what individuals are seeking out and what teams are. At best, we’re talking about teams as an environment for individual work, rather than the way in which we work together on something bigger.

    Maybe that we’re more comfortable talking about video games and individual effectiveness than the bigger differentials of effective teams? Are these the things that we just don’t want to talk about in public? I run a slack for engineering managers and the topic discussed there are very different.

    I wonder if part of this is the challenge of generalising when teams are made different not just by the people in them, but in the circumstances they operate in, and the harder things get the more personal things become. When we distill to a blogpost, by necessity we leave much of the complexity out of it. So it’s a lot safer to write about how to bring in Kanban, than is it to talk about how to manage up. It’s much easier to talk about how to hire than how to fire – and hopefully we do more of the former, anyway. It’s more enticing to talk about the CI stack than the slow grind and many failures towards achieving product market fit.

    But ultimately I think any experienced manager will tell you the harder topics make the biggest difference to the a team that executes on meaningful work, than a disconnected non-team that does not execute at all.

    What’s next? How users think about success.

  • How do Developers Define Success?

    How do Developers Define Success?

    This is part 2 of a series of blog posts based on a talk I prepared called Successfully Derailed Product. It’s about the ways in which we define and talk about “success” influence what – and how – we build. See part 1.

     With the caveat that how we define success comes from various places, and any collective definition is most likely nonsense. I set off to understand the ways in which developers, and particularly individual contributors think about success.

    I started with the Stack Overflow survey. Caveat: I hate it and I think it’s riddled with bias. For example, women make up ~fifty percent of the population, around ~twenty percent of technical roles… and 7.2% of the respondents to this survey.

    So let’s start by looking at how developers feel about jobs and careers. Developers tend to be pretty satisfied with their career, a bit more so than their current job.

    This slideshow requires JavaScript.

    When looking for their next job, the top priorities are professional development, compensation, office environment and technologies.

    Capture d’écran 2018-03-23 à 09.14.15

    The most valued parts of compensation are vacation time, remote options, health benefits and expected work hours.

    Capture d’écran 2018-03-23 à 09.15.18

    Most developers check in code multiple times a day. And the more often they check in, the happier they tend to be.

    This slideshow requires JavaScript.

    Success metrics developers would choose are: customer satisfaction, time and budget, peers rating and product performance. It’s interesting that manager ratings and self ratings are considered about as useful. Not a ringing endorsement for managers there.

    Capture d’écran 2018-03-23 à 09.20.01


    So to rounding out the quantitative data riddled with bias, I got some biased qualitative data in the form of posting a question on twitter.

    I got some interesting responses. But I’d also love to know what you think. (Leave your answer in the comments or tweet at me).


    Many of the themes from the Stack Overflow survey showed up here – shipping code, learning and developing, autonomy.

    Capture d’écran 2018-04-01 à 16.40.39

    There was also a theme of recognition – including financial. Which makes sense, because as as society money is the usual mechanism by which we communicate value.

    Capture d’écran 2018-04-01 à 16.40.42

    People also talked about the way the sense of accomplishment changes (or has to change) as your job evolves and you take on more responsibility.

    Capture d’écran 2018-04-01 à 16.40.48

    Another theme, though, was the theme of impact. People using what was built, benefitting others in some way.

    Capture d’écran 2018-04-01 à 16.40.44

    The graphs show trends, but people’s personal definitions show that success is personal. We see the baggage people bring with them from previous (external) definitions, the way that definition changes over time, or that what we believe is important conflicts with what makes us happier in the moment.

    It was noticeable to me that women who responded seemed much more likely to talk about the supporting others in some way – whether their teammates, or people using what they worked on. There are a number of different observations we could make here – one is that the patriarchy trains women to consider others in a way that is not as true for men. But also it hints at what might be different about those survey results if they were more representative of the demographics of the industry – and what could be different if the industry were more reflective of society as a whole.

    What’s next? A look at the way we talk about team success.

  • Try This One Weird Tip To Increase Leadership in Your Organization

    Try This One Weird Tip To Increase Leadership in Your Organization

    For-Two-Together-Cup-Danbo-Figures-Coffee-Cup-1865513.jpg
    Credit: MaxPixel

    As leaders, most of us have been in a place where we’re maxed out. It can be tempting to just do it ourselves and hope things improve. Another thing that often happens is that it gets shoved on someone else, and they’re left to deal with it.

    As a rule, I try not to hand things off without offering some support to those I’m handing it off to. So for example, a conversation about if someone wants to try being a team lead will include:

    • The question of what they’re open to / interested in.
    • Some insight into why I think they might be good at it.
    • The kind of support they will get.
    • The question of: what kind of support would they want to feel comfortable with things.
    • Time to think about it.

    Some people thrive on being thrown into the water and left to sink or swim. But that’s not appealing to everyone – and it can be particularly unappealing for those for whom failure is much higher cost (like… people who aren’t white men). Making the prospect safer makes it seem more possible for a more diverse set of people. Bringing the conversation of support up front makes it less like it’s addressing a problem, and more like a normal part of taking more on.

    I’ve come to observe that sometimes those who feel they need the most do the best over the medium to long term. They are more likely to embrace the help available to them, work harder to overcome natural preferences, and pay that support forward to others on and off their team. It can be a leading indicator of those who will level up and those who will burn out.

    As a rule, I expect to spend a third to half the time that it would take me to do something badly on helping someone else work up to doing it well. E.g. if I had an eight person engineering team, and I wanted them to have a manager who wasn’t me. For me to do a poor job of it would probably look like about ~4 hours per person per month (32 total), broken down:

    • 16 hours of 1:1s a month.
    • Another 16 hours of misc. activity (4 hours of team meetings / misc follow ups).

    But, if instead of an eight person team, I have one manager, I would have:

    • 4 hours of 1:1s a month.
    • Another 8-12 hours a month of ad hoc support, reviewing etc (incl. 8 hours of skip 1:1s per quarter).

    So now I’m spending 12-16 hours a month, instead of 32. But instead of a minimum acceptable level of management, the team is getting a better manager – and that manager is getting a good level of support from me (and likely taking on some other things beyond people management as well). Perhaps I haven’t saved that much time, but I have scaled in a way that should help the team execute better, and mean there are fewer emergencies.

    Tried this? Benefitted from this (I know I have)? Leave your story in the comments!