What is the main difference between IT and software engineering?

This topic is a useful jump point for conversations around identifying Best Practices, and making their application reliable and consistent across the enterprise.  This is what The APM Practice is focused on – helping to ensure that your organization’s DNA lives on, as new tools and technologies are brought to bear in the evolution of your enterprise.

Originally posted on Quora

IT (Information Technology) is about managing the application of computing technology (hardware, software and networking) to business problems and environments. In the not so distant past, absolutely everybody had some capability, ranging from the college student that kept your PC’s up to date (software and hardware), to hundreds of individuals overseeing and contributing to the implementation and operation of the computing resources of a large enterprise. It required significant budgets, planning and project management to keep up with the changing technology, development and testing, and operation of the resulting physical plant.

Software Engineering is about reliably building systems of software that full-fill business/commercial and personal requirements. It is largely independent of any specific hardware or environment (platform independence) and a single individual can literally “change the world” with a novel application, and with little more than investment than their time to gain the expertise.

With the world literally moving to cloud-based computing resources and applications, the need for private computing centers is fading, and along with it the ‘profession’ of IT. The efficiencies and automation of cloud operations have a single individual responsible for the same work that literally hundreds of staff were required – and that was only a few years ago.

Even the concept of a computer workstation is shifting to mobile and assistants like Alexa. Still early days, for sure but the glory days of the CIO and an army of IT staff are over and done.

What remains is to preserve the useful practices of IT as a foundation for enhanced automation – the lessons learned and tools developed (that are not already commercialized or open-sourced). Everything that IT performed, as individual agents in a large and hierarchical organization, becomes subsumed into the practice and domain of the Software Engineer, and their specialist roles in Systems, Architecture and Security.