Three weeks of vacation in Normandy made me want to never return to Hamburg. Three weeks in which I kept totally away from anything CS-related, though for the first time ever in a vacation, not from computers as such. For some years now, my wife and I (well, mainly I) have had that half-baked plan of buying our own vacation home somewhere in France. This summer, once I had ruined the first week after the exams with trying to teach myself enough functional programming to come up with an idea for a paper for the seminar in the winter term, I made a few appointments with real estate agents, and in the first vacation week we viewed some properties. This could not have been organized without internet access, and since this spoilt the vacation feeling anyway, I brought my notebook.
The accidental upside of having a computer and internet-capable cell phones around the house was that I used much of the time when we were not visiting sights (and with three small kids one doesn’t do that much visiting anyway) trying to teach myself French, for the sixth time in my life. Actually being in France was a major motivation boost for that. But what made this experiment such a success that after a few days I actually started talking French to French people, voluntarily (!), was that for the first time I used language apps (to wit, Babbel and Duolingo) rather than books or a traditional language course. Being able to learn at my own speed, rather than that of the slowest participants in some course, and having that enjoyable feeling that I was playing some entertaining quiz game for a high score rather than do something dull like rote learning vocables, made such a lot of difference that after a mere three weeks I know more French words actively, and feel more secure in my grammar and phrasing skills than after five previous attempts over 30 years. Computers have their uses. Just saying.
Another side-effect of having internet access was that in the first week in France I read in our chat group that the grades for the intelligent systems exam were in the computer system. We were somewhere out in the middle of nowhere right then and it was impossible to actually load the website, but some hours later, when I was checking the phone while my wife was buying baguette, I saw that the page had loaded, and incredibly, I had an A+ in that horror exam. Even though I hadn’t wanted to know, being on vacation, I felt somewhat elated that evening. The professor also sent the stats for that exam via email, and it seems she and her co-teacher had somehow resigned themselves to dramatically adjusting the grading scale. This has already happened several times in earlier exams, but I wouldn’t have expected it from her, so it came as a surprise.
A week later I sincerely wished we had left the phones at home after all, because the computer networks professor also sent an email containing the grade stats, and they were not so good. With 28 students taking the exam, there was just one A+, A-, B+, and B each, and the bulk of the grades was in the C/D range. This is the kind of information you just don’t need–you don’t learn your actual grade, only that it’s statistically kind of really unlikely that it’s good. I wish the professors would send such emails after we know our grade. Fortunately the tense waiting lasted only for a couple of days before the results were in the computer system too, and then, even though I found it really hard to credit, I was the one who had that lone A+. Which makes the fourth term, incredibly, the third in a row in which I received an A+ in all exams.
After that, fortunately, I was able to forget university again for the rest of the summer vacation. And it was a nice vacation, even though the weather was only so-so. I just love the rolling hills and long vistas of Normandy (and our kids love the sea). But as I said, in the end I didn’t want to come back. Because what awaited me at home, after a somewhat demanding day of travel on Saturday, and sorting out 2,400 digital photos on Sunday, was going to work. For the first time in two years. And for the first time ever in the computer industry. Or any industry for that matter. And I found that prospect seriously daunting.
And truth told, the first day was completely overwhelming. First of all I had to find my way to my new workplace, which turned out even longer than I had thought, all of 12 kilometers right through downtown Hamburg, and studded with construction sites where the cycle path simply disappeared. Then I had a short meeting with a recruiter who introduced me to the basics of working there, showed me the premises, and then dropped me and my new company laptop computer in an open office space and left me to figure out for myself what to do with my first weeks at work. For my new boss and his boss–the ones I had the interview with and who decided to hire me–are both on vacation for two or three more weeks. They left me notes for the project I should work on, but these notes are just some vague ideas, and mostly it’s up to me what to make of them. The team leader has directed a colleague to have an eye on me and be available for questions, but that’s of limited help because he’s not directly involved in the project. So I am more or less on my own.
And there were, and are, so many new things. The laptop is a Windows machine, and I haven’t worked with Windows in almost two years. In fact, I am slightly puzzled. In the interview they had inquired about my Linux skills, and that had given me the impression that Java development in the company would be done on Linux, which makes such obvious sense. Not so. For a couple of days that really drove me nuts. I was unable to do the simplest things on the machine. How the hell do you even get a command line on Windows? Meanwhile I have adapted, but it still doesn’t make sense. Yesterday I wanted to clone a Github project and found that Windows doesn’t even come with Git. Sure, you can download it, but come on, for programming what could be more basic than Git?
And all the other stuff at a new work place. Time tracking software, access codes, how do I get from the bicycle storage room in the basement to the right elevator (it’s a huge building), who can help me with this and answer that question, and so on. Are work places in the open office space informally reserved for certain co-workers, or can I sit where I want? Do I introduce myself to everybody I meet, or will people find me intrusive? In fact, what should I wear? In short, for a few days I was reasonably bewildered. And that’s a new one because at UAS everything is so familiar and in spite of my somewhat curious situation I feel very secure and accepted there, confident and always sure what to wear!
Now reckon in that I had no idea how a consulting firm actually works. I am slowly figuring that out. For instance, most people aren’t around most of the time, it seems. Yesterday was Friday, and some more people come in on Friday than on the other days of the week, but mostly consultants seem to spend their time permanently in their customer’s offices. They also seem to be working alone most of the time. I really had expected that to be different. For me, writing anything but the most trivial computer program has always been a group endeavour. You need someone to bounce ideas to and fro with, someone to discuss your problems and bugs with (yes, it might be a rubber duck, but occasionally a human is more helpful), someone so you don’t have to do everything yourself, someone to keep you from running into a blind alley without noticing. Besides, people in teams can functionally complement one another. We can not all of us excel at analyzing problems, designing systems, programming algorithms, creating user interfaces, finding and fixing bugs, organizing work, presenting results, and all the other necessary elements of software design at the same time. But we can team up with enough people so that all these bases are covered. A team of four does nicely in my experience from the software engineering practicum. And now I have just learned that even I, a total beginner, am expected to do the project I am currently working on all alone, from start to finish!
All in all, this first week was a quite stressful time. I slept badly night after night, was seriously tired during the day, and the new job entirely dominated my thinking and feeling. With that came doubts. Had I made the right decision? Would I not rather be in an actual software development company where people write code on Linux machines, in close cooperation with one another, after having their daily scrum meeting in front of a huge physical Kanban board? Where people wear T-shirts with programming aphorisms, hooded sweaters, and sneakers and crack a joke every once in a while? My new colleagues are well-dressed and well-spoken and generally appear very serious and a bit subdued. Those of my colleagues that are there, that is; which means the more junior ones that are just rounding out their programming skills (a whole group of them is learning Java right now to acquire some certificate–certificates are really important for consultants it seems) before they will be sent off to do actual consulting.
Yet even though I have my doubts as to whether I really belong in this consulting world, on the whole I have a good feeling with my new employer. Most of my colleagues are friendly, cooperative people who seem surprisingly tolerant of my obvious otherness, even though some expressed surprise at my being “the student” (it seems my presence had been announced in some internal media). The offices are new, clean, spacious, comfortable, and being on the 10th floor of an office building on top of a hill above the river Elbe they offer spectacular views of the inner city and the harbour area. And in spite of being seriously overwhelming for a single person, an undergraduate student to boot, my new project gives me plenty of incentive to learn new technologies. So far, I have researched speech-controlled personal assistants and yesterday I started studying tutorials on programming Android apps for mobile phones. Certainly most useful state-of-the-art skills for any developer, in a world where huge standalone Java applications are fast becoming dinosaurs.
Well, I’ll let you know how it turns out in the long run. Meanwhile, there is the problem of finding time to prepare for the next term at UAS, a problem that’s aggravated by my blithely having commited on working 32 hours a week during the term break (16 hours thereafter). Actually I had said four days in the interview, thinking this would give me a free day every week to do other stuff. However, the contract translated four days into 32 hours. But I can’t work 8 hours a day when the kids are at school 8 hours and I have to bring and take them. I found the utmost I can manage is 7.25 hours, seeing how work is 6.5 kilometers from school, right across the downtown traffic chaos. So there goes my free day, at least every other week. And it won’t get much easier in the term either, for again, even if I have two days off from university, that’s 14.5 hours, not 16. I do wonder how other people manage? With UAS lectures starting at 8:15 AM and ending at 3:45 PM, and the kids being in school from 8 to 4 it just about worked, since UAS is 12 minutes from the school by bike. But even so our days were planned out to the last quarter-hour and we barely had a few minutes per day for ourselves.
Given all that I do have my doubts that I will manage to graduate a year from now, as originally planned. For a while I thought I might at least try, but right now it feels kind of impossible to square that particular circle. But again, we shall wait and see. Or rather, work and see.