Yesterday i had my first technical interview. Working in this industry, something i have always dreaded is the Microsoft interview (probably better known nowadays as the Google interview or the Facebook interview). That is, being posed extremely technical coding questions that you are expected to solve on the spot using just a whiteboard. These questions are famous for being strictly focused on mathematics and bare-metal algorithms - you can't just use an existing solution like you would in real life. I am absolutely horrible at this sort of thing. I failed university-level math. I also have zero interest in rote-learning the solutions to computer science problems that were already solved 30-40 years ago. Allegedly the idea is to see if the job applicant has a good understanding of computer science fundamentals, but i just see it as the height of nerdish elitism. When you have to study for a job interview (and there are plenty of books and websites out there dedicated to just that) the whole thing becomes as meaningless as a standardized test. It's especially meaningless in a commercial environment because the reality of the industry is that it's far more important to build robust and maintainable code than it is to (re)implement a clever algorithm that no one else understands.
But enough of that whining. Fortunately i have never had to undergo that kind of test in an interview. Yesterday's questions were very technical, but they were all related to real-life design and usage patterns. There was one question that got a little bit deep into sorting and searching algorithms, but i only had to explain the basic concept - not write out some contrived implementation on the whiteboard. I breathed a huge sigh of relief afterwards. Although there were some questions i didn't know the answers to, i did know most of them, and i pointed out a few things that were deeper than their original questions were designed to ask. Unfortunately that's about all the interview was - a very formal questioning session. Even though i tried to engage in a broader conversation, i didn't get a very good idea of the company culture or the technologies and philosophies they employ. I get the impression that there will be a third interview next week, though i'll have to wait to hear on that.
Tomorrow i have two more second interviews. The first one is with a company whose product is quite interesting, and where i have also been told to expect a technical test. The second one is with another consulting company, and is in a discussion format. So we'll see how i go. If i manage to continue to avoid that feared Microsoft interview i will be very happy.
The other thing i have been worrying about is what kind of job would be best for my career going forward. There are a lot of jobs out there that use very popular but very conservative technologies. These are the jobs with banks, insurance companies, government, etc. Unfortunately the consulting companies also use these technologies, as their clients come from the same industries. Getting a job working with these technologies would effectively future-proof my career, because there will always be lots of work out there. The downside is i fucking hate doing that kind of "enterprise" development. The tools are complicated and boring and there is little scope for innovation. On the other hand there are start-ups, but they are mostly using technologies that are "lighter" than what i'm experienced with, so i don't really qualify for the positions. Somewhere in-between there are companies that do custom solutions and use technologies to match. I believe the first interview i have tomorrow is with a company like that. Although i suspect that would be more interesting technology to work with, i'm very scared of backing myself into a corner. If i don't have all the "enterprise" buzzwords on my resume then i don't really have a clear career path - there aren't very many companies that fall into the middle category. Is it better to keep using the popular technologies even if they're boring, or to take a job that might be more interesting but doesn't give you anything useful to put on your resume? Aside from the last job i had before i left Australia, i've always worked at the "interesting but not very useful" companies. Maybe that's my niche and i should stick to it. But should i be trying to move my career to more senior levels in nice, stable firms? I don't know.
Over the weekend i applied for two more jobs as backup options, and i have a phone interview with one of them next week. All this applying for work is extremely draining. I don't know how people do it while holding down a full-time job at the same time. I'm having trouble maintaining the part-time work i'm supposed to be doing. Perhaps they only apply for one job at a time. Also normal people are probably less neurotic about the whole thing than i am. Yay me.
Oh, and LiveJournal working so intermittently the past few days is seriously messing with my sanity.