Bridging the Gap Between Theory and Practice in Computer Science
Computer Science, Information Technology, Software Engineering, Programming. To the outsider, everything is the same. Hoodie, dark basement room, computer. This is how many people will imagine computer science. But even those who are or want to work in these areas often do not know the boundaries.
When I started studying computer science in 1998, there weren’t many options. In addition to classic computer science, there were also applied areas such as business informatics. For us, these were the so-called “hyphenated computer scientists”. 😉 All areas have now become so large that there are many different specialties. Such as degrees in information technology or software engineering. Additional apprenticeships or various boot camps.
I consider myself a computer scientist. Not an IT person, not a programmer. The theoretical part is very important to me, but I’m far from getting into the details. For me, I see it as an important basis for defining and implementing sensible, practical and pragmatic solutions. Studying here was an important basic training that gave me a certain approach. And also provided insights into a larger spectrum.
But what do you often find today? On the one hand, getting started is greatly simplified, especially in the area of software development. On the other hand, sometimes absolutely theoretical basics are expected in interviews that have little relevance to their everyday work.
Unfortunately, there is still a large gap between theoretical concepts and practical implementations. This is why companies often ask for pure theories because the pragmatic aspects cannot be interpreted correctly. I find it absurd when people ask about various algorithms, time complexity or the use of all common cloud providers and databases. Ask for solutions to your specific problems. Look at how someone copes outside of these posed theoretical questions.
Our job is to constantly and quickly adapt to new circumstances. At the same time, not to follow every hype, but to be able to question it.
Be aware of the different areas of computer science. Check what you like. Maybe even be the important link between the areas in order to create outstanding solutions. Then you don’t have to worry about AI and other automation. Because small areas will probably be able to be taken over by it. However, AI cannot think. At least not yet.