Software at Companies that Don't Sell Software

By Chris, 06/29/2016, in Engineering management

If you're a software professional, there are two types of companies you might work for; those whose products are fundamentally software (they make money directly from technology), and those that make their money some other way, but rely on software. Let's call the first Type A, and the second Type B1.

Type A Companies

These folks sell software, or otherwise directly monetize their technology.

Type B Companies

These guys are enabled by technology, but don't make money from it directly.

Biased

Early in my career, one of the things I looked for on resumes was experience at a Type A company. I believed that the best engineers would gravitate away from Type B companies. I thought Type A employees were more likely to be at the top of the talent heap, and more likely to be current with the tools and practices of the trade.

But in the intervening years, two things have become apparent:

  1. Where there is a big, successful business, there are great people2, and great systems3.
  2. Engineers with Type B experience are more likely to play well with others.

I can't stand engineering groups with superior attitudes, that aren't supportive of the rest of the organization. A little competition between departments is healthy, but if we're all building bicycles for the mind, then fundamentally our job is to augment others. It's a service job -- we build tools. A humble, cooperative attitude is invaluable.

There are a few reasons I think Type B companies do a better job fostering this attitude.

Software Engineer at a Type A company

Your job is to build awesome technology that customers will pay for.

You are close to the money

It's straightforward to be a technologist at a Type A company. The software you create is very closely tied to revenue, which is ultimately what drives business. The closer you are to the money, the closer you are to the beating heart of a company.

On the income statement, engineering & R&D are a cost centers4, but they are also the golden goose that made the business possible in the first place.

In the words of one engineer I worked with "If it doesn't come out of these fingers, it doesn't happen."

Software Engineer at a Type B company

Your job is to support the business goals of the organization.

You are further from the money

In a Type B company, you're a true cost center, and perhaps viewed with a bit of skepticism. Is all this software really necessary?

Money is the central pillar of business, and the further from it you are, the less influence you have.

Closer to the Customer

But working for a Type B company can also be a heck of a lot of fun. Your customers are often the folks sitting down the hall from you. Product feedback is instant. You might get a literal pat on the back for a job well done. Your users have less variance in terms of training and environment, and everyone shares a lot of tribal knowledge.

Good engineering is 20% building product right, and 80% building right product. With the tight feedback loop you get developing internally, you're much more likely to get it right. And with a forgiving customer base, often running on the same infrastructure, you can iterate quickly.

A Healthier Mind-set

If I never overhear the following at my company, we're doing good work:

Whether engineering is at the top or the bottom of the cultural hierarchy, technology exists to improve the lives of its users. Engineering is a functional group like marketing, or sales, or operations. These teams need to work alongside each other as peers. The cultures in Type B companies are more likely to foster that mind set.

Notes

1: This doesn't strictly apply to only software companies. Boeing, for instance, clearly makes money directly from their technology products...which are not strictly software products. I would describe them more as giant flying tubes of metal.

2: I do still believe that bad engineers are more likely to be hiding out at Type B companies, but that has no bearing if you are trying to recruit top performers. You'll spot them right away. The difference between MIT and Virginia Polytech is not at the top of the class; both have some of the world's best. But at the bottom of the class, there's more room to hide in a larger, less focused organization.

3: Popular, influential open-source projects came out of Type B companies all the time. The New York Times alone produces incredible open source projects, from D3 to their Objective-C Style Guide, to Gizmo. And don't forget that Django was created by the Lawrence Journal-World newspaper.

4: Excluding Amazon Web Services, of course. I'm talking about Amazon the retailer.

Like what you read? Join the newsletter and get updated when there's something new.