software-investment
So we all know a software developer working at Google is not likely to be working at Fidelity / Bank of America, and visa versa. The environment, the challenges, the people, and even the technologies they use are likely to be very different. The reason is simple: the vastly different cultures between commercial and internal IT software, which have evolved over decades based on the specific needs of each profession.

What follows is a short exploration into the differences, inspired by reading a recent article on the HealthCare.gov.

Commercial Versus Internal IT Software

Since software companies derive their revenue from the products they create, their investments in research & development is proportional to revenue, and they are forced through competition to foster environments of continuous innovation. The measure for success in software companies is simple: revenue. To drive this revenue, you need to be able to envision, develop, market, and sell your product against sometimes fierce competition. As a result, the greatest asset of a software company is its people, and so the industry culture has evolved to select for professionals that are self-directed, innovative, flexible, and willing to take risks. Commercial software cultures tend to be informal and non-authoritarian.

enterprise-vs-commercial-software

There are very different forces at work though in software developed by IT professionals for internal use within an organization. The drivers in IT software are reducing OPEX and/or improving internal customer experience, and so budgets are proportional to the potential savings or efficiency gained. After committing to development, internal IT software projects have no competition, and are generally expected to front-load their investment / innovation before moving rapidly into sustaining. As a result, the industry has evolved to place greater value on the management and process for developing software, rather than innovation. Their more formal and management-driven cultures tend to attract people interested in making a long term commitment to a company and/or a management career ladder.

Culture Shock

Most of us in high tech can spend our entire careers working for software / SaaS companies without ever giving a thought to the culture of  internal software development. All that changed for me in 2007 when my startup was acquired by a large hardware company with no established software culture besides internal IT. So it was with great relief when I returned from to my startup roots in 2010, to a culture and environment I understood.

So for those of us in high tech, take a moment today to thank our forebears - Bell Labs in the 1960s, Xerox PARC in the 1970s, and Microsoft / Apple in the 1970s / 1980s - who pioneered the cultures in which we build our software today.