Had a crazy interview today.
So, today I get called in for a second interview at this one company. I have no idea what's going to happen but I assume it'll be another round of questions, this time with the CEO present (it's a small BioTech start-up and he wasn't at the first interview.) So, I get to the office and there are two other guys sitting in the waiting room. Come to find out, they're applicants too. Another guy shows up and then a woman enters to tell us what's going to go on today. We'll be split up in groups of three and given a problem and 60 minutes to create software to solve the problem with another 10 minutes afterwards for the presentation of our solution. We'd also be observed as to how we interacted with our fellow team-members.
We're also going to conduct all of our interaction in English, we're told, because not all of the applicants speak German. "Ok," I think, "this'll be interesting. I've got a natural advantage." Oh, and by the way, I was the only one wearing a suit and tie...
So, we move from the waiting room to a bigger conference room where everyone who works at the company is gathered (like I said, it's a small company) and given more instructions about what's about to happen. 60 minutes to prepare, 10 minutes to present, German or English for the presentation, it doesn't matter. We're then split off into two groups and I'm paired with two native German speakers (i.e. not the people who can't speak German) to analyze the problem as it's laid out in English. We decide to speak in German, which made it interesting. The next 60 minutes was a blazing frenzy of Software Engineering...in German.
We hashed out a 30,000 foot model of how our software would solve the problem, a Class diagram for an overview of what we'd need, indivdual Use Cases for each of the classes, pros & cons of particular technologies, Input/Output, Web-based? everything, all in German. In the end, we had designed a Client/Server environment which I presented an overview of in our 10 minute presentation (in German) and the other two covered the Client and the Server, respectively.