Interaction with students made me understand that computer science graduates need some guidance. Every teenager knows that an architect designs structures, a doctor heals people, and a professor teaches students. These jobs are easy to understand. Still, it’s not so obvious what a computer science graduate does. Sadly, many students remain pretty much confused about their mission, even after graduation.
In fact their mission is really simple – a computer science engineer must build stuff that makes people’s lives better. With the help of computers, architects can design buildings that are more and more impressive, doctors can heal a larger number of people and so on. The computer engineer is before anything else a builder.
During their school years, students learn programming languages. Lots of classes teach them how computers work internally, how they communicate etc. Truth be told, the basics of computers can be learned very fast and do not change often. But there is also a lot of knowledge that takes much more than a few classes to master.
Because the domain seems so vast, students tend to focus more on acquiring knowledge they are taught in class, rather than on their mission asÂ builders. This is also why many scientific articles are more appropriate for the audience of a television show like MythBusters, rather than for the readers of a journal.
I’ve noticed that almost half of the students rank the importance of their work based on the programming language they use. They do not realize that no one needs a degree in order to be a good programmer. I’ve met historians, doctors or teenagers with exceptional programming skills…
The programming language is a tool, nothing more. You may be a better user of the tool, but no matter how well you might be using the tool, it will not compensate for the lack of ideas on where to make the most of that specific tool. Just like a plumber in the middle of the dessert.
So, dear computer science student/graduate, focus on your mission to build and use the right tool for it!