To be honest, this first 3 (nearly 4) months has been just crazy. I am living in a new country, I have a new house (that kinda makes sense given the new country thing, I guess...) and I have had my first few weeks doing the thing that I have been training to be for two years at University already (not mentioning the thing I have been dreaming and working towards a long time before that!)
Firstly, the new country! I am living in a lovely town called Höchberg, just outside Würzburg in Germany. Coming here as quite the newb when it came to my German language skills... I was excited, but very nervous. Those nerves, however, were abolished probably within the first 12 hours of arriving! I cannot put into words just how welcomed myself and my girlfriend felt, pretty much from Day 1. Everyone we have met has been kind, helpful... and very patient while speaking the slowest German possible (and helping me out with some English... but only from time to time, of course ;D).
So, after spending a week getting orientated (along with a couple of festivals, and a few beers), I got to meet the awesome people I was going to be working with, and get started with the real reason I am here: learning all I can about professional Software Development.
Meeting the people I would be working with was actually the first awesome thing I did, where I could really begin to learn. Not only did I make some great friends in them, but also talking to professionals in the field I love, has been a truly great experience so far. Whether it has been grabbing a coffee and discussing the best way to implement a solution to a tricky problem, talking about how they got started in Software, or even just chatting about the sports we like to watch - it's been a fantastic experience with an amazing insight into working in a dedicated Software Development office. While we are on the note of sports... I can confirm that F1 is indeed as popular as it should be in a country giving such names as Schumacher and Vettel to the sport! Being able to watch both German and English guys at the top of the field has meant we've been able to have some great fun :) Anyway... back to the serious stuff!
While working my first few weeks, I have most defintilely been able to clear up a few Software Engineering myths.
1. The coffee thing...
That's right, I've discovered that pretty much every programmerin the team loves coffee. In fact, it's pretty much the sole thing that powers the office. Upon walking in my first day, I was told that the most important machine here was not the development systems, or the myriad of servers. No, the most important machine in the office was most definitely the coffee machine. This was further confirmed to me after two weeks when that beloved machine had a breakdown... luckily (and after weeks of much moping and using a miniature machine to get by...) she is back on her pedastal and the coffee consuption can continue! So yes, myth 1 confirmed: coffee most definitely powers development!
2. There is no "I".
The second thing I was quick to learn was just how much teamwork is involved when working in an office such as this. There is no feeling of "they might think me inferior", if I ask about how to use that tool, or if I ask if anyone else has run into problems when trying to harness part of a certain API. I was told right from the off that it is "all about the client", and "all about the client" it most certainly is. We are a team, people are constantly able to ask questions and discuss best solutions, whenever it is felt necessary. This has been especially nice for me... feeling the freedom to ask questions, even if not directly related to what I am working on really has allowed me to learn so much in so little time! :)
3. Environmental issues.
The next one was quite a shocker for me, being a complete Linux/UNIX-based development junkie up until this point. The development system we use is completely based around Windows. And it feels really nice.
This taught me something really important. It isn't just what systems you are using, it really is how you use them. All of the tools we use work really well together on Windows. Sure, when developing some software, this might not be the case - but for this software, built to run on Windows servers, it really does make life... nice. A situationally-good environment is really important. I took the time to customise it just to the way I like it (as well as discovering some things I like and don't like so much along the way) and the whole system feels very pleasant to work on.
So I guess the myth I "busted" really was one I already new really: It is important to take the time to setup your system just right for you and the purpose of your work. If you're going to be spending 8-10 hours a day working with it, it's well worth it!
So, what now?
Well, I could literally ramble all day about my new experiences in the world of building software and the things I am learning (trust me, my girlfriend knows that only too well...), but that is not the purpose of this post! This was, sort of, a quick catch up and situational report of where I am at (just incase anyone is at all interested) and I thought I would enlighten you to some of the more light-hearted things I have learned.
Following this, it is my plan to release small (but hopefully regular) blogs containing some technical things that I am learning. Sure, some of them... well probably most of them, will be old hat for developers who have been working professionally for years. For some, however, they might serve as a little use! At the very least, they will serve me as a way to track my progress, and see what I have accomplished come August next year when it is time to get back to student life once more.
So, until next time. Bis gleich.