A Glimpse at Software Engineering History

Software Engineering. I’ve talked about it, you’ve heard about it, but who was first? How was it originated? Here I’ll try to summarize the story behind it, and some milestones that shaped the world we now know.

You might instantly try to to be thinking about which programming language people used back then, but no. Programmers back in the 50’s-60’s delivered programs by HAND, so that only hours later all the mechanical-electrical processes could be finished. This was very difficult to rely on, and led to high costs in the industry. This so called “software crisis” made it pretty clear some better solutions had to be found. Traditional engineering practices were sought to be applied to software, and over the next few decades some key ideas emerged that allowed engineers to break down projects into tinier (modular) pieces, communicating via interfaces.

One of these key ideas happened in early 1980’s, when thinking of data as objects that held independent states and could interact with each other began to emerge, the so called “object-oriented programming”. This lead to easier creation of GUI’s with menus and windows and improvements in security. At the same time, computing power increased at an incredible pace. As good as this was, it also made it possible for code not to as efficient as before, with much more memory and resources available.

Then, let me take you straight to 1989 when the magnificent Web emerges with the help of Tim Berners-Lee in Switzerland with one of his papers. However, it wasn’t until 1990 that a little of what you might imagine as “web” came into place, with users being able to have a graphical access to pages.

Then (oh, yes!), we also have the open-source movement in the 90’s which removed corporate code barriers, allowing explosive expansion in software. This means not only the executable binary code was released, but the actual code whose compilation led to the binary executable. Consider this, together with how the cloud began to allow applications to be accessed in real time and the rise of the mobile industry (tablets and smartphones), and you have a little glimpse of how software engineering has come to be what it is today. If you ask me, today is just easier than ever before to develop your own next revolutionary idea, with so many tools at our disposal, and the ever-increasing pace at which software is being released to us.