Saturday, November 6, 2010

The Job Search Update

Without being really specific, because nothing is signed, I've got three offers that I need to evaluate this weekend.

Company A is a large multinational conglomerate that has a technical arm here in Seattle. They need to rapidly build a standardized BI platform on top of an HDFS file store that is going to need to handle up to a Petabyte of data. The role at Company A is more senior than I've held before, and would be a good thing to have on my resume. Plus, my immediate supervisor and the people on the team are friendly and down to earth while still being quite intelligent. This is in contrast to the intellectual arrogance that I've seen at some of the places I've worked in the past. In Company A, I'd be in a position to learn a lot, both technically and about pushing ideas through a large company.

Company B is a games distribution platform that has very solid  and relatively long standing relations with multiple well established Brands, and they're extending a very promising ad platform, which of course means they need BI. Again, all on HDFS with various HDFS stack technologies. Company B is further away than Company A, but the people are really, really great, i.e. even more friendly while being just as intelligent as the people at Company A, and I'd get my hands dirty very quickly doing things that I've had to do at home up to this point.

Company C has a site that is revolutionizing its industry. They have a CEO who is on the ball, a great Director of Engineering, and the need to do a version 2.0 of the software stack that got them this far. They need technical leaders, and have made it clear to me that I would be working in that role for them.  The Dir. Engineering in particular would be a great guy to work for. He and I are on the same page wrt software development -- so strife and struggle with leadership would be minimized.

Note that there is no clear winner or loser between A,B,and C. There are advantages and disadvantages to each, but I consider myself to be extremely lucky to have to choose between these three companies. Right now, when the unofficial unemployment rate is hovering around 20%, and lots of really great people simply cannot work, I feel privileged to be in this position. Yes, I worked my ass off  to get to this point, but I'm sure lots of them did as well in their respective industries.

One thing that I've realized in this job search is that there are things that I'm better at than first thought, and things that I definitely need improvement on. In the 'better than expected' camp is my ability to coherently summarize my abilities or a problem. Sometimes I feel like an observer sitting on the sidelines while fairly profound and intelligent things are coming out of my mouth. Usually, as Lopa will confirm, I sound like a well intentioned stoner. But it's job hunting time, and I've been able to sell myself quite well by sounding intelligent.

On the 'needs improvement' side of things is my ability to solve hard, non obvious problems. I've been fairly hit and miss, mostly miss on the phone. The phone screen is my single point of failure. When it has gone badly, it is usually because I get stuck in a rut of thinking about a solution, and only later do I go back through and realize where I went off the rails.

I have a long, long way towards getting very good at solving problems. Fortunately there is a lot of literature and approaches out there that I think I can leverage. Being more formal about solving problems would probably help me actually solve them instead of blindly rushing into them. Going back and working on my algebra, in order to calculate operational complexity as well as solve hard problems would give me the additional edge/ problem solving approach that I've lost since graduating 20 years ago. Continuing to code solutions to hard problems in the data structures/algorithms space, i.e. via Facebook puzzles, TopCoder, etc, on a weekly basis, will go a long ways towards helping me at work and the next time I'm in the position to be looking for a job (hopefully that will be a voluntary position, unlike this time).

My biggest regret about this time through is that I learned a lot of tough lessons by failing interviews with sexy companies. Not that I would have gone to those companies, but it's always better to be the rejector instead of the rejectee. And there is a certain amount of street cred that you get by being able to get through the dreaded Company X phone screen.

So, in addition to tracking my physical training, I'm going to start to track my mental training as well. I think that I'm fairly intelligent, and that I can go quite far on the modest amount of intelligence that I have by coming up with a systematic approach to solving hard problems.

No comments: