I've been in this business a very long time (over 40 years). When I started our objective was to help our company or client improve their business processes, leveraging the power of "modern" computer technology.
My first corporate job was as a Sr Systems Analyst and AVP (Assistant Vice President). I worked with and for the senior executives of the company. My role was look at key business processes which were often bogged down in tedious manual processes.
I would analyze the process and propose the introduction of automation via computer processing. Initially we used punch cards and paper forms and reports.
I was there when IBM introduced CICS and "on-line" processing. I saw the evolution from clerical people using terminals to the spread of terminals to very desktop. I remember specialized computers like DEC's PDP-11 permeate manufacturing and engineering departments beginning to build islands of computing (i.e. business and engineering or manufacturing would "never" talk to each other).
I was there and had the opportunity to work with Dr. C.F. Codd and had dinner with James Martin after relational database and enterprise engineering took off.
I saw the introduction of the personal computer. Here we saw accountants flock to these machines as well as various other individuals in the business units. We began to see programs emerge and more islands of computing that corporate IT often did not even know existed!
I recall getting a call one day from the VP of Finance who had just bought an AS/400 computer from a vendor that sold it with the McComack & Dodge General Ledger package. He asked if he could get some data downloaded from the company's mainframe.
I was there when in in 1997 the Internet was opened up for general commercial use. I was there later in 1997 when James Gosling and Scott McNally introduced Java to the world. I led the adoption of Java by my company and was the first commercial insurance company to implement an interactive customer service based web site.
Java and technology have evolved. IBM still has a foot hold in the Mainframe and Midrage platform business with zOS, AIX, and IBM i, but their clients would like to modernize and move away from COBOL, RPG, and other dated technologies.
Over the past 15 years we have experienced a period of technological growth that has negatively impacted most businesses. Today technical folks (the geeks) have introduced layer after layer of framework and middleware that almost hides the business functionality of the system they have built.
Today a developer must weave through a complex web of technology and learn how that all interacts before they can get to the basics of business programming such as changing a simple sales calculation.
We have seen so called technical experts advocate design patterns and other mystical gibberish that has made the world too complex.
Today you can look at many major enterprises and see isolated islands of developers working on isolated systems that may interact with other systems via complex interfaces using SOA or more often the REST API framework today.
While there are some technical advantages of REST over other technologies a key issue becomes "how do you represent a business problem" to REST...
Add to this a jumble of hardware platforms and operating systems ranging from IBM Mainframes with zOS to No-name Intel clones running Linux with a whole flock of Windows servers competing for attention and revenue.
IMHO it is time to get back to basics! Lets refocus IT on business solutions! Lets put control over IT back in the hands of the CEO and get rid of the CIO as we know them today!