I’m often asked if I have any advice for other software engineers, and the absolute number one piece of guidance I give is “make sure your work is visible”. Is it the most important thing? No, the most important things are doing an excellent job and being a positive part of your team, but right after those I would say is “making sure people are aware of the work you are doing”. I get quite a bit of push back on this idea, with comments such as:

  • I prefer to fly under the radar.
  • I don’t want to brag.
  • I’ve already done the work, why do I also have to tell people about it?

I think many people who resist trying to increase the visibility of their work misunderstand the reasons why we are doing this, and why it is important.

Does it help you as an individual? Sure! If your manager and your company understand all the work you are doing, it could positively affect your career. That is one of the benefits of making your work visible, but if that isn’t appealing to you or if self-promotion feels wrong, then let’s start with the other reasons.

It helps the manager or company understand how their money is being spent #

I know that for salaried employees the link between their time and money is a bit vague, but it is definitely true that your company has paid you a sum of money for your work. Shouldn’t they understand what they received for that money? Even if this was Star Trek and you weren’t being paid, there are a certain number of people who only have so much time in their day, so that finite resource is being ‘spent’ on your work. You aren’t bragging, you are increasing awareness of the work that was done and ideally what impact it produced. This will inform future decisions, determine what kind of work should be done next, what teams and individuals should be encouraged to continue, or perhaps even given more funding. If there is a 5 person team, with only 10% of their work visible, and another team that has 50% of their work visible, it will seem like that second team is delivering a lot more value. Decisions will be made based on that information.

In some cases, the result of making everything visible is to discover that specific work is not useful. This is a good result too, although it may not feel like it when it is your project being discussed, because then you and the rest of the team end up focused on the work that matters.

It ensures you get to spend time on the work that matters #

I often hear complaints, sometimes from the same people who push back on the idea of promoting their work, that the company focuses on the wrong things, that flashy features often get more attention than critical infrastructure work, or that “they only see a small bit of the work I do”. All of this is often true, but what are you doing to fix it? If you want time to be dedicated to focusing on performance work or infrastructure, or whatever you think is important, then make sure people know the impact of previous work in those areas. Without visibility into the work being done, it may seem like everything is just doing fine with no work needed. Future plans will continue to ignore these areas, assuming they take no effort and no attention.

It encourages others to focus on impactful work #

Some work, like a new UX feature, is ‘self-documenting’ as everyone can see the results, but even then, it is important to explain the impact of the work. If you want the company (or team) to focus on the right things, then make sure they are aware of what that is. By building a habit and a culture around the impact of work, we can avoid a situation where critical work is avoided because it is less visible and less rewarding.

It is easy for a manager to understand a new UX feature on a web site, it is harder to understand a deep restructuring of the request pipeline to improve performance. It is up to you to explain the value of this work, ideally with metrics showing the impact. If you are lucky, maybe your manager will do this work for you, selling the higher ups on your excellent work, but by documenting what you’ve done, why it is important, and how it turned out you are making their job so much easier.

Putting this into practice #

Making work visible isn’t just posting a bunch of slack messages congratulating yourself on shipping something, or sending emails that just announce that the work has completed. The medium used is probably specific to your company, but you should craft a story that includes:

  • The problem you were trying to solve.
  • What you did.
  • The impact produced.
  • What’s next?

You should explain all of this for a broad audience and make the overall message into a nice self-contained package.

Years ago, my boss at the time Jeff Sandquist, responded to an email of mine with some great advice. I had sent him a quick note, on top of a long thread where the dev team was discussing a set of performance improvements. My message was essentially “we did some good stuff”. He asked me to send him a ‘forwardable email’, which I didn’t understand at all.

After a discussion, it all clicked for me. He wanted a message that explained the work in a way that he could send to other people in the company, and they would understand the value of what we had done. This is harder than what I was used to doing, but way more useful. By wrapping our work in the context necessary to understand it, including #s (and maybe even visuals like screenshots or graphs), it could reach a much broader audience. By increasing people’s understanding of your impact, you get to influence the conversation about what work is important.

This takes work, but it is essential. Back to the idea of “understanding what is being paid for”, we should always be able to explain the value of work. If we deploy a new feature, we have to be able to explain why it is useful and what impact it has had. I would encourage thinking through the message you’ll send, before and during the actual project. If your draft message includes some cool stats, you will know that you need to be tracking that data, and this often means being able to get a baseline before your work goes live. The worst feeling is when you’ve delivered something that you know is super impactful, but you don’t have any data to show it. A major benefit of thinking through this message from the start is that you might realize that you can’t explain why this work is important, which could allow you to change your plans before putting in all the effort.

By the way, I’m talking about all of this in terms of software engineering, but that’s just because it is my background. This applies to nearly every form of work I can imagine. In most jobs, you are spending time on various projects, and the short form of this whole post is “make people aware of what you are doing and why it is important”. I’m also focused on this from the point of view of the individual doing the work, but all of the same concepts apply for a manager, making the work of their team visible.

Finally, it really is helpful for you as an individual #

You aren’t a stealth bomber, and management isn’t the enemy, so stop flying under the radar. In a perfect world, people would just do the work and be recognized for it, but in reality you have to work to ensure that work is seen and understood. Don’t fake it, and don’t take credit for other people’s work (in fact, working hard to ensure other people’s work is visible is a great idea), we aren’t trying to game the system. We just want everyone to be aware of what is being done. If you see someone who’s work is always getting recognized more than yours, consider what they might be doing to make that happen and learn from it.