Last month I attended the annual meeting of my study program. This year, the meeting was held at Charles University in the beautiful capitol city of the Czech Republic, Prague. Since I have already graduated, this was probably the last LCT meeting that I will attend (although who knows!). As usual, it was an absolute blast.
As the graduating class, we participated in a small, but very formal, graduation ceremony. I already have the two diplomas from the two universities, so this ceremony was just something extra. We did receive a supplementary LCT document with a pretty nice description of the program and its requirements. I imagine this is something I could submit to anyone asking for more details about LCT, but I doubt that I will need to submit it anywhere ever, since it’s not an official diploma or transcript of records. Nevertheless, I enjoyed the ceremony, because the format was close to that of American graduation ceremonies– that is, it was very formal. There were speeches by professors and a student, there was organ music and singing, and it was held in a beautiful old hall in the Charles University in Prague.
It was liberating being one of the graduating class. For one, I didn’t have to worry too much about making it to any particular talk or event, so I was able to sleep in! But also, I found that I did get a new perspective on the LCT program by coming for the third year. Having graduated a while ago means that my life has moved away from all of the discussions on lectures, studying, advisers, etc. Hearing all of that talk again, reminded me how urgent it all felt at the time. Looking back made me realize how much and how quickly my life had changed– for better or worse. Either way, despite being a graduate, I still felt welcome. I met other graduates there, who were moving through similar experiences as I was now. So even though I am not in the university mindset anymore, I can still feel like I am part of this larger community.
The LCT students are incredible– not just the ones from my year or my universities–but from all the years and universities. Just about each person in the program is driven, open, and interesting in their own way. As ever, there are people who like to work, there are people who prefer to party, there are some who work hard/play hard, and there are some who chill. Nearly no one comes from the same country or the same background, which is probably the best part. As an alum at the meeting, I felt like I got to look back at the program and see it with many eyes and many points of view.
Now that I am in the workforce, I can see that having had the time to explore and meet new people was the biggest advantage I gained from LCT. I feel I learned how to be part of a community and how to go out there and find answers and guidance for myself when I needed it. Now, I have a stable career that I feel will propel me forward, but I don’t have as much time to explore new things. Still, I have to keep learning, which means I have to do the learning on my own time.
I have to keep learning… a LOT. Because what I learned in the LCT program wasn’t enough preparation for the professional world. I now have to introduce myself to a whole host of frameworks, design paradigms, algorithms, technologies, work methodologies, and attitudes that I have never had to face before. During my coursework, I spent little time on hands-on practice with modern tools. Not only that, but since I am further missing the computer science background and the web development experience that many programmers have these days, I have to learn all of those things afresh as well, in order to compete with/work alongside these people in the workforce.
To give some concrete examples, in just the last couple weeks I was struggling with CUDA drivers installation (for the billionth time), Docker, REST APIs, python’s Flask web framework, the OpenNMT-tf framework for machine translation (I already struggled with Marian, Sockeye, and OpenNMT-lua a while back), making a presentation on some recent research (i.e. reading papers and dissecting math) on a specific topic in machine translation, and a bunch of code refactoring. That’s just in the last couple weeks.
It sounds exciting, but actually, it’s very stressful to have to learn everything at once. I wish we had had some more practical courses in my master’s that would have taught us some of these theoretical ideas by using real tools (e.g. scipy, tensorflow, matplotlib), provided assignments in standardized formats (e.g. APIs to query or Docker containers to run) just so that we could get a little bit more used to those tools, if not completely comfortable with them.
I suppose one could ask how is it that professors could possibly keep up with all of the tools coming out all the time, to be able to teach us that? I would respond: how are we managing it then with much less experience? Because we, the students, do eventually manage it all on our own somehow– you just do what you gotta do– but it’s lack of guidance from our mentors in this area that easily leads to unnecessary stress and a steep learning curve. Another response might be “you have to learn how teach yourself.” Of course that is true, but learning how to teach yourself and having guidance in your studies are not mutually exclusive. At my unis, it wasn’t just like this with practical topics. It was like this with many things, much of the time. I won’t say “all the time” because there were a few gem classes/professors, but much of the time, the students got together and taught each other things they had learned 5 minutes ago. This is why the LCT program was so invaluable– it was full of students ready, willing, and able to do this, and to make a party out of it.
In the end, doing the LCT program was the right decision for me, because even though I feel the education was probably of lower quality than what you’d get at a top (in my field) US public university, I gained many soft skills and many many worthwhile experiences. If I could go back, I would definitely do it again, but only after studying a bit more on my own in the prerequisites/background topics first. In short, I would teach myself 75% of what I need to know on my own in terms of skills and theory, and then come to LCT for the last little bit on research. Things would be calmer then, and I think I could get even more out of the LCT program this way. I wonder, is it like this with all the Erasmus Mundus programs or all unis in Europe? Professors themselves seem to bounce around a lot, so is it just luck based on what professors are there the year you happen to go?
The LCT meeting was a great opportunity to look back and process everything that has happened in the last 2+ years. But now that I’ve spent some time looking back, it’s time to start looking forward. As usual, I don’t know what comes next. I have a lot of vague ideas and few concrete plans. Visiting Prague was really nice, because it reminded me that even though I don’t like big cities that much, there might be bigger cities out there that could still fit me– unlike Berlin, which is really a mismatch for my preferences, I think. In the long term, I know Berlin is not the right place for me. In some ways, it might make sense to move back home to the US. I think the salaries are still quite a bit higher there for programmers, and it would be nice to be closer to family. Eventually, I definitely want to do that… but I’m not quite ready to stop traipsing across the world just yet!