Salespeople and software engineers are vital to the success of any modern company—but a quick look at their workplaces hints at fundamental differences.
A sales department that’s crushing it has the energy of a stock exchange floor. The excitement is palpable. Lively phone calls and chatter fills the air with the buzz of the latest prospects and deals.
On the other hand, software engineers doing their best work can often be found in a darkened cave of an office—heads down, headphones on, and do-not-disturb signs signaling focus.
There’s a reason for this.
What ‘doing work’ looks like flows from the head space that each job requires. And understanding these differences is key for any company hoping to win at sales AND software development.
Solving one problem vs. solving many problems
Sales tends to be process and workflow driven. Sales success relies on finding a workflow that delivers results.
To do that you have to understand what your best sales reps are doing that others aren’t. Are they making more calls? Spending less time in internal meetings? Successfully inviting more prospects onto demos?
Once you understand what activities are driving your top performers’ success you can teach your whole team to follow the same strategy. The focus for managers becomes teaching their reps the winning methodology and periodically reviewing their activities to ensure that they’re following it.
Sales also requires you to be a multi-tasker, solving multiple problems at once. You need to manage as many accounts as possible while simultaneously engaging as many stakeholders as possible on each account.
Software engineering can be quite the opposite. Many engineering days are filled with solving new problems. And while a partial or complete solution may exist on stack overflow, it’s still a fresh problem for the engineering team.
This departure leads to a radical difference between the two.
Sales optimizes through refining, and then duplicating, a winning workflow and involves solving multiple problems at once. Engineering optimizes by being able to rapidly implement solutions to new business requirements, typically one problem at a time.
In the book Drive, Daniel Pink discusses studies from MIT that demonstrate how very different these positions are—each with different implications for motivation and performance.
When it comes to compensation, higher pay and bonus incentives work beautifully for tasks with a defined process and a single answer. This is why variable incentive structures are so prevalent in sales teams: it’s the right approach.
In contrast, work that deals with new solutions to emergent problems—in our case, software teams introducing new features or fielding scaling issues—variable comp actually reduces performance.
This difference explains why “carrot and stick” motivations can be effective for salespeople, but will actually alienate and backfire with software developers.
Finding a Valuable Feedback loop
Effective teams of either type use KPIs as a feedback loop for individual contributors to understand their performance.
The importance of KPIs has long been understood on sales teams. The question isn’t whether metrics are important, it’s which specific metrics drive revenue at your company.
Classic sales metrics like calls made, opportunities created, and close rate are widely understood and ingrained in sales cultures. Others, like whether the average call length between a sales rep and a prospect has increased – which indicates that a prospect is getting more value from their interactions with the rep – are only now being recognized by sales managers for their importance.
Good sales managers understand that it’s not just a question of whether deals are lost or won, but how you got to that point. Once equipped with that knowledge you can understand what needs to be modified in your sales workflow.
In other words, sales managers know they need to rely on good sales analytics, but they often lack the data necessary to make good decisions.
Even when data is available, it isn’t always easily accessible. Just try running a Salesforce report on thousands of different types of activities in different tables. And if the data can be accessed, it can’t always be interpreted by non-technical sales managers. This is why some companies have even attempted to hire sales managers with a data science background. Talk about a rare breed!
KPIs for software engineering work a bit differently.
After all, writing more lines of code isn’t the point. And rewarding things ‘bugs squashed’ just encourages people to write bad code and then fix it.
The trick is to pay attention to meaningful metrics for software engineering.
For example, savvy managers consider impact instead of raw lines of code written. And teams that encourage small, frequent commits tend to move faster and introduce less risk to the codebase. Managers that pay attention to Code Churn are able to notice when an engineer is stuck before it’s too late.
The difference with engineering KPIs is in how they are applied.
Proper use requires situational awareness. For instance, a metric like Code Churn can be ‘good’ early in a development cycle, but might be a negative indicator later on. Some code churn might be expected in the early prototyping phase, but in the run up to a big release, taking lots of exploratory paths could mean big trouble.
Using data to build a winning team
Data is a powerful tool for cultivating visibility. A skilled manager uses data to spot trends and support conversations with facts instead of relying solely on feelings.
Regardless of industry, effective KPIs should provide three things:
- Plenty of contextual data so that metrics aren’t used in a vacuum.
- Increased visibility into workflows and the movement of work, not just statistics about arbitrary points in time.
- Big picture analysis with easy drill down into specifics.
These three things help ensure leaders get comprehensive sales metrics that illuminate their team’s process, and encourage healthy use of data. Despite the differences between sales and software engineering, properly used KPIs can be used by both to create a winning team.