It’s taken me awhile to make this personal observation, but there often seems to be some inherent clash between technical staff and sales people. As a software engineer, you kind of have to be entrenched at a company (private sector/for profit company…more on this later) to begin sensing this conflict.
When the clash between technical staff and sales staff gets bad enough, lots of bad things can result.
Let’s get some context.
Software is a great business product. Why
Digital products mean there’s no physical inventory. No physical inventory means you don’t have to buy brick and mortar storefront or physical warehouses to store your product.
It also means you don’t have to spend time or money to physically SHIP your product. Digital means you’re harnessing the power of the internet and/or digital app stores to distribute your software product. That means you potentially have the whole world as your customer base.
Easy to reproduce
Digital products mean it’s stupid simple to make copies of your product. It’s not like a physical product, like a vehicle, which requires MASSIVE amounts of infrastructure, labor and physical materials to reproduce. Even if everything is automated in an efficient assembly line manner, you can’t get away from the SIGNIFICANT TIME it takes to finish reproducing your product.
The first two benefits of software give rise to the biggest reason software is such a great business product.
Because the product is digital, and because you don’t have to spend money on STORING, REPRODUCING or SHIPPING it, the profit margins can be simply MASSIVE.
You work hard to create your initial 1.0 version of your product. And don’t get me wrong, it’s HARD WORK. You have to put the sweat equity to properly design and produce your software product.
But if it can find the right audience, you can potentially hit a digital goldmine.
It’s the reason why software giants like Microsoft and Google make BILLIONS of dollars in revenue and continually stay at the top of the Fortune 500 lists.
And it’s the reason why the SALES DIVISION of companies that produce software for profit are so highly valued. Because of the insanely high profits margins that can be had, it’s important for companies to hire sales staff to grow revenue.
Here’s where potential conflicts between the technical and sales staff can begin.
Software needs to continually evolve to address new customer needs. Existing customers can often request new software features and they’re willing to pay for it.
A sales person can be VERY motivated to make a sale. After all, the commissions on high margin software products can be enormous. It can also mean RECURRING COMMISSIONS for the salesperson, if the software is subscription based in nature (Software as a Service, or Platform as a Service).
I can imagine a sales pitch between the customer and the sales person going something like this …
(Customer) “Bob, we’re interested in your software for our company, but we noticed there’s some key features we noticed aren’t currently in your product. We really need those features to convince me to purchase your product.”
(Salesperson) “Jim, that’s no problem at all. I’ve got a crack team of software developers who are total rockstar ninja programmers. They’ll have no problem adding the features you want!”
(Customer) “Bob, I have to warn you, these aren’t small features. I’m sure your technical guys are sharp, but the features we want are pretty major. We’re of course, willing to give you a LOT of business, but we need to ask a lot from you.”
(Salesperson) “Jim, like I said, my techies are sharp as tacks. I’m sure they can add the features you want. Let’s draw up a sales contract and start writing down the things you need.”
(Customer) “One more thing, we need these features in three months. I know it’s a tight deadline, but there’s no leeway here. We HAVE to have it by then.”
(Salesperson) “No worries, Jim. We’ll get it done in time. Hell, we’ll probably get it done early and we can celebrate early!”
Has anyone noticed anything perhaps missing from this conversation between the sales guy and the customer?
We know the sales guy is highly motivated to make a sale. The customer has demanded some major new features to be added to the original software product. He’s dangled a valuable carrot … some major new business for the sales guy, IF those major new features can be implemented.
Not only implemented, but implemented by a certain NON-NEGOTIABLE DEADLINE.
Of course, the sales guy’s natural motivation is to make the sale. It’s in his best interests to do so. He’ll do everything he can to land the sale.
We obviously know the new features the sales guy has promised, won’t be implemented by the sales guy. It’s the software engineers that will end up doing the actual work to add those features.
Did you notice any technical engineers that were part of that sales pitch conversation with the customer?
Not so much, eh?
Believe me when I say this isn’t an unrealistic sales conversation. I’ve unfortunately worked at companies where the sales staff are essentially given free reign to make the sale. And the engineers are merely the “codemonkeys” that help make the sale happen by doing whatever it takes to implement whatever the sales guy promised.
This happens when companies place higher value and priority on sales staff versus the engineering staff. Which seems odd when you consider the sales person would have nothing to sell if the technical engineers weren’t around.
As I mentioned earlier, lots of bad things can happen when you end up in a situation like this.
Let’s start with the new customer feature requests. Features were promised and made part of the sales agreement, without any consultation with the software engineers. However impossible or unrealistic the feature requests may be. Some features may simply be IMPOSSIBLE to implement.
But the sale has been made, so what typically happens is the software developers are ordered to go into “crunch mode” … basically expecting developers to do whatever it takes to get it done. Working past regular work hours, working weekends, whatever it takes. (Watch the movie “Office Space” and see how the “pros” ask developers to do this!)
So developers get burnt out, get frustrated, and if the opportunity arises, quit. The unlucky ones who have no choice but to stay, unfortunately have to take up the slack and the problem gets even worse for them. More work, more overtime, more stress.
Even worse, the deadline is missed and the company loses the sale and more importantly, their credibility as a competent business, which could affect their reputation with other potential customers down the road.
It’s an ugly problem, yet many companies don’t seem to care.
The WISER course of action, is obviously to engage the technical engineer. In fact, technical staff that come along to potential new sales pitches with new or existing customers are often referred to as “technical engagement”.
The technical engagement engineer provides their guidance, experience and analytical skills, assisting the sales rep, recommending REALISTIC and FEASIBLE implementation plans and solutions.
The relationship between sales and tech need not be adversarial. In fact, the relationship SHOULD be complementary. By working together and ensuring the sales offering is in harmony with the technical and time requirements, you’re upping the probability of a SUCCESSFUL offering the customer can feel confident about purchasing.
If the sales and technical staff feel the customer deadlines and/or features are simply impossible to fulfill, well, they’ve just avoided the embarrassment of promising something and not delivering.
Yin and Yang. Ebony and Ivory. Captain Kirk and Mr. Spock. Seemingly polar on the outside. But with a little elbow grease, and complementing each other’s strengths and weaknesses, you can potentially end up with a powerhouse partnership.