The contribution curve

Leave a comment

The curve

As a manager, your performance is going to be judged on your output. As we’ve explored in previous articles, you can measure the output of a manager as the output of their organisation plus the output of the organizations under their influence. How can you make sure that your staff are performing as well as they possibly can in an environment in which they can grow?

Your best individuals will contribute a significant amount to your department through impactful work and their positive network effect on others. Your least impactful individuals can be a drain on your department, and you need to make sure that you choose the right tactic for helping them improve as quickly as you can.

Below is a hypothetical example of an contribution curve for a talented graduate joining a company for the first time.

At the ends of the line you have net-negative and (currently maximal) net-positive contribution:

  • Net-negative: A particular individual, for the input of their work over time, produces a net-negative output for the business. As horrible as it sounds, the organization would be producing more output if they weren’t there.
  • Net-positive: A particular individual, for the input of their work over time, produces a net-positive output for the business. Some people produce more of a net-positive output than others, and you would hope that those people are rewarded fairly for doing so.

Three reasons

Clearly we want individuals to be as net-positive as they possibly can be. But why are people net-negative? Typically there are three reasons:

  • Inexperience: The best case (if there has to be one). An individual needs education and mentorship to push through to being net-positive. This is a training problem.
  • Poor placement: An individual is doing work that is either too challenging for them or they are unclear on how they should be effective in their role. This is a management problem.
  • Poor performance: An individual is not performing well in their role, despite having the support that they need. This is a performance problem.

Let’s take a look at them individually.


Everyone is a net-negative contributor at some point. From a graduate engineer starting out in industry for the first time, to a senior engineer beginning a new job, we all will repeatedly find ourselves in positions where to be net-positive requires time and support from other people. For talented people with the right attitude, as managers, we should be looking to allocate as much resource as possible to getting them ramped up and productive.

One of the simplest examples of this progression is from a graduate engineer to a tenured senior engineer.

  • A new graduate will be new to the industry and the company, so they will require support through training and mentorship in order to understand the technology being worked on, the business problems being solved, and the codebases and tools used to solve them. Their code will typically require a fair amount of checking whilst it is being written and also a higher level of scrutiny when it is being reviewed. They are net-negative because of the amount of time they require from others to get their work done.
  • A tenured senior requires less support when developing new code, and is often doing so in such a way that will enable others in the future. They know the business and the codebases well and create new features pretty quickly as a result. They review a lot of code from others and are often paired with more junior staff from drawing designs on the whiteboard to pair programming. They are net-positive and enable themselves and others to be successful.

For a talented and hard-working individual, both of these extremes in the contribution curve are completely normal places to be. The only fault that makes the graduate net-negative is that they are at the beginning of their career and they need time and support to become more expert. This is why this is a training problem. You need to be able to spot when people are in need of assistance and give them the resources that are required to move into being a net-positive contributor. You have a number of tools at your disposal to do this: assigning them a mentor, sending them on training courses, giving them books and online materials, and just making sure you’re on top of their career development and motivating them along the way.

It’s worth noting that it won’t always be those with less experience who find themselves in a net-negative situation. Even talented senior engineers will find themselves being net-negative when they start a new job, or when they change team to work on a different area of the application. The true measure of a good support structure is being able to accelerate engineers through to net-positive as quickly as possible.

Poor placement

Sometimes people can be hard working and talented but the particular project that they find themselves on just isn’t right for them. This can be for a multitude of reasons: they may not fully understand it, it may be in a programming language or framework that they find harder than others, or it may just be a project that is too challenging for their current level of experience.

This is a management problem, and you need to solve it. Depending on how your organization works, your teams may stay fairly static but your projects will change over time. One member of your staff may be extremely productive on a particular project only for the next one to leave them working on something that doesn’t best suit their skill set.

In an ideal world, your staff will tell you when they find themselves in this situation. However, in reality, they’re probably not going to say. It’s embarrassing to say that you’re struggling. Even worse, they might think that they will be punished for poor performance! Instead, as a manager, you need to build a close rapport with your staff so that you can sense when this is happening. Probe into how they feel about their current work, whether it motivates them, and how it plays to their strengths.

Also, try to encourage a culture where individuals can change teams easily without any awkward feelings about doing so. In the end it doesn’t really matter what team somebody is on, as long as they are productive. It shouldn’t be seen as a bad mark against a manager if one of their staff goes and works for another team. After all, everyone is contributing to the company regardless. Consider allowing staff to freely vote to move teams at the end of projects, or at the end of every quarter. If your headcount is quite restricted, why not introduce a matchmaking scheme where those that want to swap teams can as long as they find someone to swap with?

Poor performance

The worst one. Whereas a net-negative graduate engineer with a lot of potential will require time from others, the process and outcome is pleasurable: senior staff get to improve their mentorship skills and see another person grow.

A net-negative poor performer has a bigger blast radius for their net-negativity compared to the previous examples because they are a drain on collective morale as well as the time and attention of other staff. Their team mates will have to pick up their slack, which in turn makes them do a worse job because they are frustrated. They will be less willing to give up their time to the poor performer because of the drag that it causes. This is a performance problem that needs your attention.

When considering the overall output of a team, sometimes it can be improved by removing the poor performer altogether, which highlights the importance of your role as a manager. In the same way that the team would be frustrated if their manager had provided them with laptops from 2003 to do their work on, they will be frustrated that they have to work with a poor performer. As a manager you have allowed the poor performer to be part of their working environment, and they’ll be looking to you to sort that out.

Perhaps they can be moved on to another team with some clear goals for their performance improvement, whilst at the same time giving them a fresh start with new team mates. You cannot treat net-negative poor performers in the same way that you treat net-negative inexperienced engineers and hope that the team will somehow train them out of being poor. It won’t work that way: instead, you are showing that your bar is low for the quality of your staff, and others are being made to suffer because of it. Take ownership, have the hard conversation, and see where is their best chance to succeed in the organization.

In summary

You need to keep a close eye on how productive your staff are being: it can change over time with experience, the projects they are on, and their performance. Keep pushing everyone to be as net-positive in their contributions as possible, even if it means having some tricky conversations. Not everyone will be as skilled as you want, and not everyone will be on their ideal project. However, with careful balance of people on the right projects, you can gradually increase the net contribution of your teams, ensure that the next generation of engineers are learning their trade, and concurrently allow other staff to become excellent mentors.

Unfortunately, the poor performers are up to you to sort out. Sorry about that.

Mount Stupid

comments 4

But it’s easy, right?

Your team is getting it in the neck today. After months of technical exploration and prototypes, they have been unable to produce anything that looks like it will make the backend of the new product work in the way that it was imagined. The team are frustrated and are further convinced that without provisioning potentially millions of dollars in hardware and annotator time, they’re never going to be able to deliver anything of value. It’s just not plausible.

This isn’t sitting well with the VP Engineering and the Sales Director, who needs to shift units. In fact, they’re completely livid.

The Sales Director is first to interject. “You’re honestly telling us that after 3 months you have nothing that is going to get this thing built?” Your engineers aren’t particularly used to this kind of intense confrontation, especially from such senior people in the company. It makes them feel like they are pretty stupid.

“We tried. It’s just a really difficult problem.” Their nervousness makes them fail to say they’ve produced some very interesting prototypes and insights into tangential problems along the way.

“3 months and 6 people and we have nothing? That’s the problem with this team. I just don’t think you’re working hard enough, especially when compared to the sales team. They’re on it all of the time. When are you going to step up and take ownership?”

“I’m sorry; it just doesn’t seem possible,” replies your data scientist sheepishly, again failing to mention that they’ve produced a number of useful experiments that could make their way into the product.

Your VP Engineering is gripping her pen tighter, as one of her teams is making her look stupid in front of her peers. “You do realize that other companies are just solving this with machine learning now? It’s all off the shelf. Should take a couple of weeks tops. I’ve seen our competitors launch stuff really quickly this way. Why can’t you?”

“It’s not that straight forward; it’s really hard to get right.”
“I don’t believe you. Others are doing it. Did you not see their press release last week? I just don’t think you’re working hard enough. I reckon we should have just outsourced this problem. That would have got it done in half the time.”

Everyone is angry and at loggerheads. Senior management who are disappointed with performance and a team on the receiving end feeling utterly stupid yet unable to demonstrate they’ve done some worthwhile work. How did we get here?

I’ve been on both sides myself. It’s likely you will as well.

Two psychological concepts

The hypothetical situation described above frames two interesting concepts in psychology, which I often see played out in the workplace. To an extent, one could be seen as the inverse of the other.

  • Dunning-Kruger effect: A cognitive bias of illusory superiority in people of lower ability.
  • Impostor syndrome: A concept where high-achieving individuals are unable to internalize their achievements and fear being exposed as a fake or fraud.

We’ll have a look at both of these and identify situations where they can occur in the world of technology.

Dunning-Kruger effect

A 1999 study by David Dunning and Justin Kruger presented the results of experiments that proved that, in many social and intellectual domains, people tend to hold overly favorable views of their abilities. Not only does this lead to poor decisions, it also means that people are unaware that they are making them! The paradox is that in those same areas, when the skills of the participants were improved, they were able to recognize the limitations of their abilities and therefore realize that particular decisions were bad.

What does this mean for us in engineering? Unfortunately, it means that there will be limitless situations where those that know the least about particular problems will feel the most bullish and comfortable with making a decision and will not realize that the decision is bad. This effect can be seen from both ends of the seniority scale.

  • Poor decisions by junior engineers: High-achieving and confident junior members of staff, notably those who have just graduated with excellent grades, may not have the experience to make considered decisions about doing engineering in production. Their overconfidence in being able to solve a problem may give a project a green light, only for it all to not work further down the line. Their limited experience of production systems combined with their confidence in their own abilities can result in them not seeing any warning signs in their initial beliefs.
  • Rash decisions by managerial staff: They will be too far from the technical details to intuitively know whether a project is achievable or completely intractable. If they are confident, as your senior managers usually are, then they may be unable to be convinced that there isn’t a simple solution that your team hasn’t yet found, despite being told otherwise. This can lead to bad decisions about starting or stopping projects, outsourcing work, or blaming poor performance for a particular outcome.

The most dangerous place in the Dunning-Kruger effect was plotted to humorous effect by the Saturday Morning Breakfast Cereal comic. The graph has been reproduced with permission.

It’s very easy to be on Mount Stupid, and the worst part about it is that you won’t know that you’re there. We can all experience it as it happens to all of us. Unfortunately, this can lead to a decision being made where nobody really knows anything at all as there is no counter-balance to an argument, or where the person with the most power, who happens to be on Mount Stupid, exercises their executive right, making everyone else feel dumb.

Impostor syndrome

It is possible that high achieving individuals who are very good may not give an outward appearance that is congruent with how good they actually are. This is called imposter syndrome and was published in a 1978 study. This internal contradiction about one’s ability can result in excellent individuals feeling like they are somehow a fraud; that they are faking it and will soon get found out. This leads to nervousness and lack of confidence.

Like the Dunning-Kruger effect, it can play out at differing seniority levels:

  • Overly shy junior engineers: High-achieving juniors may observe a lot of smart and senior folks around them and believe that they have absolutely no right to be there and that, in comparison, their ability is poor.
  • Overly cautious senior staff: They forget that many of the things that come totally naturally to them due to experience are through their hard work, not luck. This may turn them inward and make them cautious and risk-averse, as they know the devil is always in the details. It may prevent them from speaking out for risk of being “found out”.

Elements of impostor syndrome can be viewed as the inverse of the Dunning-Kruger effect. Whereas those on Mount Stupid may be overly confident and brash because of their lack of knowledge about their own inabilities, those who have impostor syndrome may be overly unconfident and shy because they believe their own success is due to something other than their intelligence and hard work. This gives the impression to others that they may not know what they are doing, creating a nasty clash with the outspoken and confident people on Mount Stupid.

Bridging the gap

So, as a manager, how can you help?

In short, you need to exercise your emotional intelligence to spot when people are displaying traits that fall in either camp, and then work with that behavior to help your staff overcome it.

Dealing with the Dunning-Kruger effect

For junior members of staff being potentially reckless due to not knowing the ramifications of what they are doing, you need to show sensitivity. We’ve all been there. You definitely don’t want to make anyone feel shot down by demonstrating your superior knowledge. Instead, you want to try and make junior staff come to the conclusion that they are being overconfident by themselves. Think of a coaching mentality here: how can you keep the thought bubble over their head while they tackle a problem? Can you pair program with them and subtly lead them to discover where the problem is much harder than they thought, or can you do the same on a whiteboard? Once they discover that a great number of technical problems are harder than they initially seem, they will have developed more mature techniques to analyze approaches and find the right balance of confidence and skepticism.

Senior staff who find themselves on Mount Stupid can often be difficult to deal with, because a senior person may be highly confident in a group; others present may by worried about arguing with them. Here you need to subject them to a similar process as that of junior staff, where they can arrive at the conclusion that something is harder than originally seemed by themselves. You need to pick your battles here: some personalities may be totally open for a reasoned debate or working it through together on a whiteboard, but others, depending on the situation, may benefit from discussion being taken offline, where some proper research can be done and results presented in a less confrontational format, such as an email or short document. Mount Stupid combined with ego can cause degenerate in-person conversation. Instead, present only the facts; resist the urge to tell someone that they are being dumb. Sometimes you have to submit and leave a meeting in a haze of anger in order to revisit the facts later.

Dealing with Impostor Syndrome

Brilliant junior staff who experience impostor syndrome need to experience repeated success to overcome how they feel. One way of doing this is by pairing them with a senior member of staff who is a good mentor, and having them work through problems both abstractly, on paper and whiteboards, and concretely, implementing them together through pair programming. We often forget that in education we are receiving specific grades and scores for the quality of our work, and over time, self-confidence can be fostered by seeing repeated positive results. The workplace doesn’t offer frequent quantitative feedback like this, therefore regular interactions with more senior staff who can show the junior that they’re doing a great job. This is critical to build their confidence.

Senior staff experiencing impostor syndrome can forget just how much they know and can contribute. To reinforce their knowledge, pair them with junior staff. This actually benefits both parties, as shown in the previous paragraph. They will realize just how much they have to teach. For those that are reserved verbally, then as a manager, try to weave them into debates by asking their opinion directly. “How’s this problem playing out in your head right now? What are you thinking?” Make a concerted effort to bring their opinion into the room as often as possible. They will soon see that their knowledge is valued, hard-earned and useful.

In summary

The Dunning-Kruger effect and Impostor Syndrome play out in the workplace much more often than you think. Many people haven’t heard of either. It’s up to you to use your emotional intelligence to spot when your staff may be experiencing them, acknowledge that it is totally normal, and then try to employ some techniques to help them overcome them, without making anybody feel stupid or embarrassed.

Educating others about these concepts can also enable them to call you out when you’re being brash about a decision you know little about, or are being overly reserved when you actually have a lot to contribute.

Your career is your responsibility

Leave a comment

A tale of two employees

Firstly, let’s set the scene by considering one employee called Alice. She joined a company a couple of years ago and she’s really enjoying her job. She works with a team that gives her enough autonomy to work in the way that she wants, using the tooling that she prefers. She feels that she can pick and choose the work she is most comfortable with in her team’s sprints, and she’s given some technical talks to the department recently; she is working on her public speaking. She attends a conference of her choice each year, and she has started mentoring a graduate developer who has recently joined the company. In the recent company survey about employee happiness, she was extremely positive in all of her responses.

Next, let’s consider Bob. He joined his company a couple of years ago, and he’s stuck in a rut. He never feels like it’s clear as to what he should be working on during each sprint, and he feels stuck with the tools and language that were provided for him. He’s never been asked to speak about any of his work to a wider forum, and has never been asked whether he would like to attend any technical conferences. He’s quite unsure about whether he wants to stay at the company as he’s never been shown what his career progression should be. In his recent company survey, he gave some very negative answers.

Sounds like two very different situations, doesn’t it? Well, Alice and Bob are actually in the same team, and they’re both Java developers. What’s going on?

It’s your call

The difference between Alice and Bob is that Alice is proactively seeking ways to make her job more fulfilling, and Bob is expecting to be told what to do. Even though it is a manager’s responsibility to ensure that their direct reports are motivated and are having a positive impact on the company whilst being fulfilled in their career, there can sometimes be a misunderstanding about who is actually responsible for planning that career. In my experience, there is only one answer: the employee themselves. The manager facilitates it happening.

Given a choice between being passive and active in the way your career is going, you should always be active. Now, it’s impossible to write an article that will help you define exactly where your career will want to go. We’ve written before about the two tracks of growth and also whether you like stability or change, and if you’ve not read those before, then they might serve as some inspiration. However, regardless of what you feel like you want to do, or how you want to grow, I would heavily encourage being entrepreneurial with your career. Find out what you want, and then think about ways that you can get it.

There are broadly two ways in which you can affect growth in your career:

  • Growing outwards: where you focus on improving your existing skills to become more of an expert at your current role. This aligns with an individual contributor career track.
  • Growing upwards: where you focus on beginning to experience what it’s like to operate at the next level up in the org chart; aligning with the management career track.

Let’s have a look at some ways in which you could actively grow, motivated by yourself and on your own terms. If you feel uncomfortable just doing these things in case you feel like you may be overstepping your mark, then perhaps bring them up in your next 1 to 1 with your manager first.

Growing outwards

There are many ways that you can, of your own volition, hone your existing skills whilst doing your existing job. These will require self-motivation and an entrepreneurial attitude towards your own development, but they are rewarding. If you have been previously feeling stuck, you may actually find that you have more autonomy in your role than you first thought.

  • Mentoring others: One of the best ways to become more knowledgable and to more deeply understand what you currently do is to teach others. It gives you the opportunity to train a more junior member of staff, hence improving the overall output of the department, but, at the same time, it allows you to reflect on the way that you solve problems yourself. Mentoring can be done in a number of different ways. You could seek out a more junior engineer and introduce yourself, or you could regularly encourage pair programming sessions with those on your team. Another strategy is to advertise “office hours” in your schedule where anyone can drop in with a problem that you can help solve together.
  • Giving talks: Whether you are a fan of it or not, getting better at public speaking is a life skill rather than just a career skill. What better opportunity to practice than to speak on subjects that you know a great deal about in front of friendly people from a similar skill set? You can start small by encouraging an informal talk slot at regular intervals within your team, or you could give a department-wide talk if you’re feeling brave. Even better still, submitting abstracts to conferences and then getting accepted is a great way of forcing yourself to dedicate time to doing a great talk. Once written and done once, you can take that talk and do it again and again at different meet ups and gatherings. Similar to running a marathon, you don’t become an expert by default. Public speaking requires practice, practice, practice.
  • Actively seeking training: Don’t wait to ask whether you would like to go to a conference, just ask! If you find out there is no budget, see if there are some cheaper alternatives. Perhaps you could volunteer at the event in exchange for a free ticket. Additionally, ask whether the company could arrange other types of training that you might find useful, such as public speaking classes or finding you an external coach. You’ll never know if you don’t ask.
  • Seeking out the latest technologies: Spend time during the week reading the latest developments on open source projects, via news aggregator websites such as Hacker News or project sites themselves such as the Apache Incubator. Perhaps have a browse while you eat your lunch. If you find something cool, share it with your team. Could one of these open source projects be considered for your next piece of work? Could you do a prototype with it?
  • Building your network: Think about how you can make influential connections both inside and outside the business. For the former, a previous article addressed how you can begin to make additional connections. For the latter, see whether your work will let you leave a bit early once a month to go to that interesting meet-up where you can connect with other likeminded people who work for different companies. You’ll probably learn a bunch of new things and have a lot to offer others as well.

Growing upwards

The previous section looked at some different ways of honing your current craft through teaching, speaking, learning and socializing. However, for engineers that want to get into management but feel stuck as to how to do so, how could you be entrepreneurial with your time so that you get experience of what lies above you in the org chart?

  • Speak out! This almost goes without saying, but if you’re interested in growing further in the management track, then you need to make that known. This allows your conversations with your manager to start aligning around the skills and experience that you’re going to need to work towards. Bring it up as soon as possible; don’t wait for end of year reviews.
  • Shadowing: Your manager will be doing all sorts of activities that you currently aren’t privy to. These can include meetings with their peers in the department, steering meetings about roadmap, budget and priorities, or reporting up into the executive. Why not ask to see whether you could attend some of these sessions to hear the discussion and get involved. You will naturally gain access to other notable people in the company by doing so, and this can help grow your network.
  • Ask to be delegated to: As well as attending particular meetings, there are activities that your manager does regularly that you could ask to gain exposure to. You could work on some of these things together so that you can gain some experience, or perhaps they could be delegated to you completely. Examples include getting involved in budgeting decisions, having input in the overall technology or product roadmap, doing interviews, or simply acting as a sounding board to help with their own decisions. You’ll gain some interesting insight into how their world works.
  • Network with others in your company: Make sure that you don’t cut yourself off; take time to network with your peers, and depending how accessible they are, those that are more senior than you. Why not invite people out for a coffee at lunchtime to get to know more about them and what they do? Conversations can help you learn more about different paths you want to choose in your career. The more that you get to know everyone, the more that people will be willing to offer you that next opportunity.

In summary

It’s important to take control of your career and be proactive and entrepreneurial in how you spend your time and energy. Over time, the difference between someone who is proactively seeking knowledge, experience and opportunity and someone who isn’t continually widens: those who do not seek may find themselves in the same role feeling unhappy, and those who seek may find themselves with many opportunities and a deep satisfaction for their work and those they work with.

Own it and challenge yourself. You’ll never know where you’ll end up.