Why work on enterprise computing?

I’ve been eager to write about this for some time now.  As the co-founder and CTO of a Silicon Valley startup, I spend a lot of time recruiting fun, smart people who would be great to work with, to come join us on an adventure…  There’s lots to love: Plenty of hard problems and challenging software to design, an outstanding team, an excellent office covered on Forbes, and a bold & audacious vision to ‘Re-imagine Enterprise Computing‘… wait, what?  At this point, frequently there’s either the ‘consumerist yawn’ or genuine curiosity:  How can an ‘enterprise’ opportunity possibly be cooler than the opportunity to work on a consumer product?

My goal is to explain what is awesome about enterprise computing, from a personal perspective.  Totally recognize that it’s not for everyone.

First off, this is not intended to disparage most consumer companies, large or small.  Lots of friends are very happy at Facebook, Apple, Google, and many consumer startups.  Just as long as they’re differentiable from Catographer…  You know, the one that’s like Google Maps for Cat Lovers?  My point is, consumer products can be awesome, and lots of people understandably want to spend the rest of their career working on them for all sorts of good reasons.  It’s not an either-or.  I’m also factoring out the ‘startup’ part, as well — the opportunity and trade-offs of working at a startup are pretty well covered elsewhere.

So…  Why work on enterprise computing?

TL;DR summary:

  • Technology is the product
  • The technical problems are challenging
  • The customer is highly technical
  • You meet the customer
  • Winning deals is addictive
  • Understanding their business is valuable
  • Broad economic visibility and impact ensues

Technology is the product.  Customers are paying for a technical solution to a business problem.  Often times, your technical solution is a feature for which they pay top dollar.  Far beyond that, though: All types of engineers at an enterprise computing company contribute roughly equally to the success of the company, all other things being equal (skills, experience, working hours, etc.).  This might be controversial, but hear me out, at least metaphorically.  Infrastructure is the product, as much as user experience is the product, at an enterprise computing company.  They both multiply the value of your business.

The technical problems are challenging.  Enterprise service levels (SLAs) in particular are challenging, even as more applications and infrastructure are rewritten as distributed systems.  For example, an enterprise analytical database might be implemented using a new scale-out architecture, and yet have enterprise requirements.  Data security is at a premium for either regulatory or business reasons.  Data integrity is at a premium because a mistaken business decision or financial result can cost your customer real revenue or possibly even a loss in market value.

The customer is highly technical.  Your interesting algorithm is actually interesting to the customer.  They care about the difference between RAID levels (though hopefully one day they won’t have to!).  If you say your product uses erasure coding, they ask “which algorithm exactly?”  They care if your APIs are portable.  They love you if your web front-end talks to your product’s back-end purely via a public API.  They want to know exactly what makes your product unique at a technical level.

You meet the customer.  You literally sit down with them.  This is a golden opportunity to truly understand the customer’s attitude and use cases.  A customer-centric company will have engineers meeting with customers as frequently as they can.  If you haven’t gotten an opportunity to do so, speak up.  If in doubt, ask to tag along with another engineer who regularly visits customers.  ‘No’ is not a valid answer from your management team on this point.

Winning deals is addictive.  Your technology product has to be excellent to sell to a highly technical customer at an enterprise premium ($$$).  Still, understanding how it is sold and participating in sales calls is a bit like playing high stakes poker, especially as your average deal size increases from the hundreds of thousands to millions of dollars.  You need to have a keen understanding of what matters and why.  You also need to know how to fit what they’re asking for into a roadmap and be able to explain your company’s technology vision and direction, since not everything is possible to deliver all at once.

Understanding their business is valuable.  A great product can win deals.  A great company understands how their customers’ businesses work.  Beyond the specific benefits of your product, if you can understand your customers’ business and help them solve their business problems, you have just created a long-lasting partnership rather than a single deal.

Broad economic visibility and impact ensues.  Focusing on the largest companies in the world, the Global 2000, is a fascinating view into the world economy.  Maybe it’s just me, but I find a broad understanding of how all of the various corporate verticals (Oil & Gas, Retail, Finance, Travel…) do business to be fascinating.  It’s a view into how the world works as a system, at a real level, beyond the theoretical.

All of the above is very useful if you one day want to strike out on your own as an entrepreneur/founder.

Anyhow, that’s my personal list…  Anyone else care to add more?

And, of course, sorry for the blatant plug, but Bracket is hiring.  Email jobs at brkt dot com.  “Ah, curse your sudden but inevitable betrayal!”