Originally written by Kevin Casey at the New Relic blog.
Businesspeople dig numbers. They don’t necessarily want to hear that you got something done; they want to hear how much you got done—especially relative to past results or some other relevant benchmark—and they want to know the value of what you did.
Some professionals have it easy when it comes to quantifying their job performance. Salespeople can measure their achievements in dollars and cents, for example, and many other fields also have clear-cut numbers with which to calculate their contributions.
For software developers and some other technology-based roles, however, quantifying your work can be a struggle without a straightforward solution. Yet doing so is crucial not just in job searches, but in many aspects of a software engineer’s career: performance reviews, effectively communicating up the chain of command, working efficiently with non-technical business units, and ensuring you’re properly valued within your organization.
So how do you measure the value of the applications you build, scale, monitor, test, and otherwise support? Here are some of the approaches used at New Relic, as well as industry best practices:
“I like to see work accomplishments described in terms of situation, action and results,” says Merilee Krebs, a technical recruiter at New Relic. “What was the business or technical problem to be solved? What unique actions did you take to resolve them and what was the resulting improvement.”
What does that look like in the real world? Try asking yourself some pointed questions: Did your monitoring and testing lead to a code update that cut down on help desk tickets by X percent? That’s quantitative gold right there. Did you deliver a new app six weeks ahead of schedule? Yeah, you’ll want to brag about that (in a professional manner, of course). Can you connect your code to strategic company objectives? Please, do so. Are you doing something that’s outperforming the traditional standards in your industry? You should be able to quantify the achievement is some way.
If this exercise feels unnatural to you, you’re not alone—many programmers often aren’t born sales and marketing pros. If they were, they’d probably work in sales or marketing. So let’s consider six ways to better measure and communicate the value of your code and related work.
1. Think in percentages
Programmers might not always be able to point directly to numbers like revenue or profits, but that doesn’t mean you can’t put a number on your performance. Instead of dollar signs, think in terms of percentage signs.
“I like to see percentages of change, such as the percentage of performance improvement before and after the project,” Krebs said. “What difference or impact did your actions and abilities make? Was there a measurable improvement before and after? If so, share that in percentages or another numerical quantification.”
2. Get involved with open source projects
Tom Hart, COO and CMO of the tech recruiting firm Eliassen Group, recommends open source projects as a natural way for developers and related roles to not only build marketable skills, but to build a quantifiable track record with those skills—and build the habit of measuring your work as you go.
“Participation in open source projects allows you to interact with your peers, get feedback on your work, and be incessantly evaluated for your ideas and skills,” Hart said. “For employers seeking candidates, these groups are an excellent way to evaluate someone’s coding skills, because the work that is being submitted or posted is always being dissected by other programmers.”
Hart recommends the open-source organizations Free Software Foundation, the Open Knowledge Foundation, and the Open Source Initiative as places to look for opportunities to get involved. Check out our blog posts on what makes a great open source contribution and the essential traits of a great open source contributor, too.
Sharing technical knowledge widely also helps. Having an active Github profile, spreading industry knowledge on social media, speaking at conferences or tech meetups demonstrates passion and commitment.
3. Measure progress, not just products
It’s not always about the finished product—progress counts, too, especially in the growing world of DevOps and Agile development methodologies where change is constant and applications are almost never “done” in the traditional sense. That should influence how you measure and report on your work.
At A List Apart, Eileen Webb recounts the potential misconceptions that arise when clients and other stakeholders can’t necessarily “see” the progress being made on a particular project—even as the most grueling code calisthenics occur behind the scenes.
To cope, Webb adjusted milestone communications to prioritize “visual issues”—the kinds of code changes that resulted in front-end interface changes that everyone on the team could see. “By strategically addressing the visually obvious issues, we created an external sense of progress for our stakeholders that was a more accurate reflection of the amount of work going into the code,” Webb writes.
4. Keep a work journal
Don’t worry, it’s not “Dear Diary” time. But if you want to capture the value you and your applications provide, you’re going to need some way to track your efforts. In his website series Leveling Up, veteran software developer Peter Lyons says it can be as simple as a single .txt file—he posts an example to his site—but you need some record of what you do so that you can give status updates to mangers, ensure you’re covering all bases in a performance review, and combat natural memory.
5. Communicate in two languages
Lyons also suggests a two-part format when sending email updates to management, team members, and other stakeholders, especially when the audience includes non-technical management: First, explain the accomplishment or news in plain terms while avoiding technical explanations or jargon. Second, supply technical details for those that want them and can understand them. Everyone else can stop reading, and you haven’t wasted their time.
6. Collect recommendations
Another way developers can quantify their accomplishments is to encourage others to do it for them. If you get recognized for specific skills and accomplishments, make sure that you share those recommendations. Krebs notes that LinkedIn can be a good tool for collecting and communicating this kind of feedback. “If there’s something that multiple people have mentioned that you do great, write something in your role description like “consistently recognized by colleagues for X,” she says, or even share specific numbers and comments.
Finally, remember that even the best numbers rarely capture the entire picture of a programmer’s professional value. When applying for a job, spend some time crafting a personalized cover letter. “Our hiring managers read and consider cover letters as a key part of applications,” concludes Krebs. “At New Relic, many of our job postings even ask for specific questions to be addressed in the cover letter.”