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.
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.