tl;dr: I hate software-engineering as it is teached in Heidelberg. Really
I often recited the story of how I got to choose computer science over physics as a minor in my mathematics bachelor:
After sitting through almost one semester of the introductory course to theoretical physics in my 3rd semester — which is incredibly unsatisfactory and boring, once you are past your first year of mathematics — I suddenly realized that my reward for suffering through yet another problem sheet of calculating yet another set of differential operators is, that I have to suffer through four or five more of these type of courses. This really seemed like a poor incentive, when I was just discovering hacking and that I was really good at computer science. So I decided to pass on the opportunity, did not work all night on that last sheet (and later found out that I would have gotten credit for that course without even taking the written exam if I just handed in this additional problem sheet) and instead decided to minor in computer science.
Three years after that I decided to get a second bachelor degree in computer science (I finished my bachelor of mathematics earlier that year and was pursuing my master degree at that point), because it seemed a really easy thing to do at that point: I only needed two semesters more of studies and a bachelor thesis. That is not a lot of work for a degree. We are now one year and some change after that point, and there really is not a lot I need anymore. Basically I only need to finish the introduction to software engineering and then write my thesis. Yay for me.
The reason I write this (and the reason I started with the anecdote of physics) is that once again I am questioning the incentives versus the cost. Since I am pretty sure that it would actually be fun to write my thesis, it all boils down to the question, whether I want to finish this course (which again, I'm more than halfway done with, it is not a lot work to go) to get a bachelor degree in computer science. And don't get me wrong — I'm sure that software engineering is a topic, that can be interesting and captivating, or at the minimum bearable. But the way it is done here in Heidelberg is just hell. It is incredibly boringly presented and consists of a flood of uninteresting repetitive tasks and the project-work, to show how important teamwork and quality-assurance and drawing a lot of diagrams is, is a catastrophically bad, unusable and ugly piece of crapware, that can't even decently perform the very simple task it was designed to (managing a private movie collection. I mean, come on, it is not exactly rocket science to do this in at least a barely usable way).
And even though it is a hell that I would only have to endure for about two or three problem sheets and one written exam, I watch myself putting off the work on it (for example by writing this stupid blogpost) and I seriously question whether this second bachelor is really incentive enough to suffer through it.
If it was my first degree, that would of course be a clear ”yes“. But a second one? Not sure. Ironically the main way I'm putting of work on this problem sheet — I got up today at 10am, to immediately and energetically start to work on it — is watching I lot of TED talks on youtube. That's right, I practically spent 14 hours more or less non-stop watching TED talks. This one applies to some extend — extrinsic incentives can only go this far in making us do some work; at some point, without at least some intrinsic motivation, I at least will not perform very well (or at all):