Software Engineer - History

Bob Johnson

History

1960s

The Software Crisis & NATO: The immense complexity of projects like the IBM 360 operating system led to the term "software crisis," prompting the first NATO software engineering conference in 1968 to tackle reliability and development processes.

Margaret Hamilton & Apollo 11: As leader of the MIT team for Apollo 11, Hamilton founded software engineering principles like fault tolerance, modularization, and asynchronous processing.

Language Evolution: The rise of high-level languages like COBOL (common business applications) and FORTRAN (scientific computing) moved programming away from assembly, while ALGOL and LISP emerged, with LISP becoming foundational for AI research.

Hardware and Human Interface: Douglas Engelbart demonstrated the first computer mouse and graphical interface (GUI) concepts in 1968, revolutionizing user interaction.

Women in Computing: Women played crucial roles in early software development, such as Margaret Hamilton who directed the software engineering division, Grace Hopper who helped with the adoption of various programming languages like COBOL, and Stephanie Shirley who founded “Freelance Programmers” a software house employing almost entirely women at first.

1970s

Key Languages: Pascal (1970) was introduced to teach structured programming. C was developed by Dennis Ritchie at Bell Labs to write Unix, becoming the foundation for modern systems programming.

Operating Systems & Tools: The development of Unix by Ken Thompson and Dennis Ritchie at Bell Labs (1975) kickstarted portable and modular operating systems.

Hardware Shift: While early in the decade engineers still used punched cards, the late 70s saw the rise of minicomputers (e.g., TI-990) and the first personal computers like the Xerox Alto (1973), which featured a graphical user interface.

Professionalization: The IEEE Computer Society grew, introducing specialized publications like IEEE Transactions on Software Engineering in 1975.

1980s

The Paradigm Shift: The decade emphasized structured programming to improve code readability and maintainability, paving the way for Object-Oriented Programming (OOP).

C++ (1985): Developed by Bjarne Stroustrup, it brought object-oriented features to the efficient C language.

Ada (1980): Commissioned by the U.S. Department of Defense, it was designed for complex, secure embedded systems.

Turbo Pascal (1985): Revolutionized development by offering an fast, affordable integrated development environment (IDE).

Personal Computing Revolution: Engineers pivoted from large, isolated mainframes to microcomputers like the Apple II and IBM PC, which brought software to a broader market.

Emergence of CASE: Computer-Aided Software Engineering (CASE) tools were introduced to automate portions of the software development life cycle to reduce costs.

Software Companies: Companies like Microsoft and startups in software design grew rapidly as applications like spreadsheets and word processors became critical for businesses.

Key Figures: Individuals such as Peter Norton gained prominence by producing tools for MS-DOS environments.

The Software Crisis Ends: Techniques improved to manage the rising complexity of software, which eased the "software crisis" of the 1970s.

1990s

The World Wide Web: Tim Berners-Lee introduces the World Wide Web, launching the web development era along with HTML and HTTP.

Languages: Python is released, Java is released, introducing the "Write Once, Run Anywhere" paradigm. JavaScript is created after, enabling interactive web pages. Lastly Visual basic was also released.

Development Environment: Despite advancements, memory (RAM) and storage limitations forced developers to be highly efficient and optimize code rigorously. Limited tools also meant more manual coding and debugging without modern aids like Stack Overflow or IDE intellisense.

Architecture: Monolithic architectures were standard, where applications were built as single, large, interdependent units.

2000s

Agile and Methodology: The 2001 publication of the Agile Manifesto shifted focus away from heavy, document-driven processes toward iterative development.

Web and SaaS: The rise of SaaS platforms like Salesforce (pioneered in 1999) changed software deployment, while languages like PHP, Python, and Ruby gained traction for web development.

Tools and Platforms: Microsoft Visual Studio Team System enhanced team development, while 2004 saw the introduction of the Software Engineering Body of Knowledge (SWEBOK).

Mobile Revolution: The launch of the iPhone in 2007 spurred the rise of mobile app development, creating a new focus on mobile languages and application design

Cultural Shifts: "Software Developer" roles evolved toward "Software Engineer" to address increased system complexity, security, and scalability needs.

2010s

Rise of the Cloud (SaaS): The 2010s marked the industry move from on-premise software to cloud computing. Cloud infrastructure permitted startups to scale rapidly without physical hardware investments.

Web & Mobile Explosion: The decade began with the decline of Flash/Silverlight and the rise of Single PageApplications (SPAs) using frameworks like Angular, followed by React and Vue. Mobile development dominated, with Kotlin gaining traction alongside Java for Android apps.

DevOps and DevOps-CI/CD: Development shifted toward agility, with teams deploying code multiple times per day using Continuous Integration and Continuous Deployment (CI/CD).

Containerization & DevOps: Docker (2013) redefined deployment by popularizing containerization, changing how developers packaged applications.

Workforce & Education: The explosion of 18 million+ developers spurred the 2011 launch of coding bootcamps to create a new, faster path for entry-level tech employment.

AI and Machine Learning: By 2015, machine learning and AI became integral, with tools like AutoML automating parts of the ML process.

The "Golden Age" Job Market: The 2010s are often remembered as a high-growth period for developers, with strong demand and high salaries, although the job market became increasingly competitive toward the end of the decade.