The Evolution of Computer Science:
From Mysticism to Pragmatism
Computer science has fascinated me for over 30 years now. During this time, I’ve had the opportunity to witness and be part of an incredible evolution, and I still enjoy learning new things today. Back then, the variety of degree programs in computer science topics wasn’t as extensive as it is now, so I studied what could be considered “classical” computer science, covering all aspects of Theoretical Computer Science, Applied Computer Science, and Computer Systems.
Computer science is the study of computation, information, and automation. Computer science spans theoretical disciplines (such as algorithms, theory of computation, and information theory) to applied disciplines (including the design and implementation of hardware and software).
From the very beginning, my focus has been on application development. Early on, I concentrated on the web and distributed network services. Ultimately, I had the chance to experience the emergence of many technologies firsthand. It was probably much easier than being confronted with everything all at once today. However, two things have always been important to me: I want to have a broad knowledge base so that I can compare systems and use them correctly. And especially: I want to understand what I use—fundamentally.
The diversity today might seem overwhelming, but it has never been easier to learn. Yet, I see knowledge of the fundamentals dwindling.
In my opinion, you had to be a little crazy back then to get into computer science. No one really understood what you were doing. It was almost something mystical. 🪄🔮 But today, I often see people pursuing this field simply to make money as quickly and easily as possible. Naturally, shortcuts are taken, and the technical quality of the result doesn’t matter much as long as the product works halfway decently.
Building good software—along with the infrastructure that supports it—is both an art and a science to me. I always want to be able to explain why I did something a certain way. That’s why I strive for broad knowledge. I also prefer the simplest solutions whenever possible. Pragmatism is the most important thing to me. In the end, I always aim to implement something efficiently and effectively, while considering cost-effectiveness, performance, and, above all, the end-user experience.
In the future, we need to focus more on tailored solutions, addressing problems individually. We shouldn’t blindly rely on AI, which is becoming increasingly prevalent. And we must continuously expand our horizons. Otherwise, things will always play out as they usually do.
It’s a very exciting time for software development and the operation of solutions. However, the gap between users who rely on pre-built solutions and those who can build everything from scratch is only going to grow wider.