3 Things I Wish My Computer Science Degree Taught Me About Programming

#1: IDEs

I left university without knowing what an IDE is or why you would use it. I wrote all the code for my Bachelor’s and Master’s thesis in a text editor.

A picklist in PyCharm
Changing part of a line in Android Studio (left) vs gitk (right). Android Studio makes the change much clearer.

#2: Web Development

I left university without knowing anything about how web sites and web APIs work. I didn’t know what an HTML form was and never even heard of an AJAX request.

  • 55% identify as back-end devs
  • 55% identify as full-stack devs
  • 37% identify as front-end devs
  • less than 24% identify in all other categories

#3: CI/CD And DevOps

CI/CD is a forgivable omission from my curriculum, as it is by far the newest technology of the bunch, and didn’t gain traction until the mid-2010s. (Docker for example was released in 2013.) CI (continuous integration) deals with automated testing and ensuring high code quality, while CD (continuous delivery/deployment) deals with bridging the gap between committing source code and “bringing it to production” (having it run on real servers available to real people).

Closing Words

Universities do very little to teach even the basic tools of programming to computer science students. I outlined the three most glaring omissions that I experienced — these are basic skills you will need in a majority of positions. Note that I didn’t include any hyped technologies like blockchain, virtual reality or artificial intelligence which are only needed in a few positions and aren’t part of a basic education.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Konopka Kodes Blog

Konopka Kodes Blog


25/M software engineer from Düsseldorf, Germany. Developer of Mundraub Navigator (Android app) and Jangine (chess engine).