The Software Engineering Sand Clock

Once upon a time, during the late 1950s, large computers became available to research institutions and universities, now on the hands of the public domain, their use and programming became an activity of many and a new profession was born – Software Engineering, although, it wasn’t officially called that until a NATO conference took place during the software crisis in 1968 where the difficultities and pitfalls of designing complex systems were discussed.

Programming languages were created as formal notions to replace and facilitate the complex mathematical formula based instruction code and as computing capacity and the demands grew, better programming languages, tools and automation were sought, leading to the emergence of a new discipline – Computer Science/Informatics.

In 1963 the first time-sharing system appeared as a transition from batch processing and interactivity was back on the game, but this transition was a slow and complex process that brought big companies to the brink of collapse. This is when the baptizing conference of NATO took action and this difficultities were openly discussed with an unsusual frankness.

Between 1965 and 1966,  academics such as Dijkstra and Hoare wrote about data structuring and harmonious cooperating processes. Their ideas had a profound influence on new programming languages, known as structured.

Difficultities were still far from dispelling, so a conference was convened in 1968 to find a solution. They produced a report that defined the foundations of software enineering, based on the best practices of project management and production already used in traditional engineering disciplines.

Dijkstra’s structured programming, declaring programming as a discipline in contrast to a craft. They appear to have succumbed to the trendy yearning for continual innovation, and to have lost sight of the need for careful craftsmanship. enable us to create artefacts that we can show and be proud of.

Image source: