Saturday, August 30, 2008

Sarah Palin's bad taste in names

Her kids are named Track, Bristol, Willow, Piper, and Trig. Compare that to Joe Biden's sons Joseph ("Beau"), Robert ("Hunter"), Naomi (deceased), and Ashley. There's no contest.

Labels:

Thursday, August 28, 2008

Getting a Good Job in Software, Part I: Before you're actually looking

I've spent a lot of time looking for jobs, talking to prospective employers, interviewing, etc. I am much more effective at finding jobs than I was when I first got out of college. I'd like to think I've learned a few things that may be useful for others. There are some for whom what I've learned will not be useful, some for whom I don't want it to be useful.

If you're in software for the money, this is not for you. If you're just looking for any acceptable job, this is not for you. If doing a professional job is not important to you, this is not for you. If you're not interested in constantly learning new things, this is not for you. If you're in software because you like it, because you want to make cool things that do something interesting, then we can talk.

You should start looking well before you're actually looking. You have to prepare. Even if you're happy with your job now, you may not be forever. Your employers may be happy with you, but their opinion may change. They may go out of business. The company may get acquired. Things change. It would be foolish not to have a backup plan. You don't want to have the world change around you and have to start looking for a new job with nothing. Use the time you have now to get ready, even if you know you won't be looking for years.

Start off by compiling a list of candidate employers in your area. Do not be too picky. Do not research them thoroughly. Just accumulate names, keeping in mind that not all companies that do software are software companies. You do need to eliminate companies you know you won't work for. Check their jobs page to see if they use languages and technologies you know or want to use. Get a little bit of a feel for the company. Save their URLs. del.icio.us is good for this, as is a personal wiki. As an indicator, I had a list of about 90 Austin companies after doing this for about a year.

I assume you just kind of come across software companies in your daily readings and listenings. If you need more sources of info, the local newspaper can be helpful. So is Business Journal. Start-up Warrior claims to map startups around the world; they're worth a shot. Find venture capital firms, and look at their portfolios of companies. Also keep track of postings on Craig's List. Usually the ads don't include the company name, but some do. Add those to the list. Use the other ads to give you an idea of what skills are in demand. Set up a job alert on Indeed. Do searches from time to time to see who's hiring for what roles.

Look at more specialized job boards: Joel Spolsky, The Daily WTF, 37 Signals, Smashing Magazine, and Ars Technica all have them. No doubt there are more. Remember, you aren't trying to make a perfect decision about a company the first time you see them. What you are looking for is a long list of possibilities.

Talk to recruiters. This is one where you need to be careful. There are some really good and reliable recruiters out there. Then there are the ones who will just blast your resume to any company with a pulse, who will lie about what you can do, poisoning the well before you even start looking.

A good recruiter will talk to you first about each and every opening. They won't present you to a client until they've gotten the OK from you. I've been pleased in my interactions with HireStarter, but I don't think they operate outside of Austin.

A good recruiter is someone you have a relationship with. I first talked to HireStarter in 2005. I've talked to them several times a year since then. Sometimes it was about specific jobs, sometime it was helping them find someone else, and sometimes it was just catching up. A good recruiter will want to get to know you even if you're not looking right now, because one day you will be looking.

Use Linkedin. Knowing what your peers are doing will help you with your list of candidates, plus a decent network can help you later in the process.

You should be developing in your mind your ideal job. You may be happy with your current job, but it probably isn't perfect. Look back on the jobs you've had. Figure out what worked and what didn't. There are two kinds of requirements, the ones that apply to every job seeker, and the ones that matter to you personally.

To some extent, everyone wants the same thing. They want to be paid well. They don't want a boss who yells at them. They don't want to drive 2 hours each way. The company needs to have a useful product. They need to be making money, if not a profit. Some of these requirements can be flexible. How do you define getting paid well? Then there are early stage companies. They often don't have a product yet. In fact, they may not even know exactly what they are going to build, and they're certainly not making any money. In that case, you're going to have make a gut call.

Beyond those requirements are issues of personal taste. Those are the specific things that you need. You can tell it's personal if you can invert it and it still makes sense. Some people like small companies, while other people prefer large ones (or so I infer). On the other hand, everyone wants to work for a company that's solvent; nobody wants to work for one headed down the drain.

When I was recently looking, there were three main things that I was looking for. I wanted something where I had to apply all those algorithms and data structures I learned in school. That excluded many business applications, which was only a good thing. Additionally, it had to be something with flexible hours because of the small children. Finally, I wanted to work on a sharp team. It wasn't enough to have smart immediate co-workers; I also wanted to know that the management team knew what they were doing and had effective development practices. There were more considerations, but that's the gist.

You should also establish things that are not important to you. For me, offices are nice, but I can live with cubicles. The particular industry was also not all that important. I was averse to working for a bank, but I didn't have strong feelings about whether it was telecoms, search, or travel & leisure. I did want it to be something I could relate to, but I can relate to a lot.

Once you have an idea of what types of jobs you want, critically evaluate your skills and knowledge. Your work experience demonstrates only part of what you can do. There may be a gap between what you can prove you can do and what you will need to be able to do for the jobs you want. At the very least, you want to know what those gaps are.

The next step is to learn more about the things you don't know. If those skills aren't compatible with your current job, try to develop some side projects exploring those other skills. It's find if you lack knowledge. It's not ok to be satisfied with that, not if you really want the job. If you can't demonstrate the exact skills necessary, make sure you can demonstrate the ability to learn them.

Next time I'll write about how to narrow down your list of companies and make contact.

Labels: , ,

Wednesday, August 27, 2008

The Democratic Convention is not news

Does anything meaningful happen? Isn't the conclusion pre-determined? So why is anyone paying any attention? Michelle Obama said nothing that we hadn't heard before. Hillary Clinton's speech was completely predictable as well. News implies novelty. It implies that there is new information to be had. The Democratic Convention is nothing but the same old thing recycled. It's a waste of attention.

Labels: ,

Saturday, August 23, 2008

A good start to the weekend

A broken water line is not a good thing to wake up to. Being a Saturday makes it cost $200 extra. Sometimes I hate this house.

Labels:

Friday, August 22, 2008

Crooked Little Vein

I recently read the full-length fiction debut by Warren Ellis. Odd characters parade throughout "Crooked Little Vein," manifesting any number of disgustingly weird fetishes and predilections. The book has us following a washed-up, broken private investigator as he seeks out the secret Constitution of the United States.

The plot isn't the central thing, though. It's really just a path to follow through the twisted freak show in the author's mind. For me, there's the rub. I mean, it's entertaining enough, but as soon as I get the impression that someone is trying to shock me, it becomes nearly impossible for them to succeed. There are certainly funny bits that don't rely on shock value, trenchant offhand observations on America, and a premise offbeat enough to be interesting, but the main thrust is to overwhelm you with weird. It's bizarre and outrageous, but I was prepared for it to be over-the-top weird, so I couldn't be blown away by it. If you lack that failing, and if you enjoy that kind of thing, it's probably the thing for you.

0061252050
978-0061252051

Labels:

Wednesday, August 20, 2008

Blindsight

Peter Watts's novel "Blindsight" is quite possibly one of the best books I have read in the last few years. Watts combines a chilling first contact with scary speculation on the nature of consciousness and humanity. The narrator is an emotional cripple with half a brain, just one of a crew of freaks journeying to the edge of deep space. It is quite possibly one of the disturbing books I have read, but not in the conventional horror book sense. It blew my mind and made me wonder if I really am here, thinking what I'm thinking. Instead of scaring you with gore, it fills you with a sort of existential dread. Even the footnotes are scary (and there are a lot of them, because Watts really did his research). If this book doesn't unsettle you, I'd question whether you really understood it. It is the pinnacle of what science fiction should be. I highly, highly recommend it.

Oh yeah. It has vampires. In space.

Addendum: you can read it for free online.

0765319640
978-0765319647

Labels:

Mantis Shrimp

Mantis shrimp, a.k.a., stomatopods, are some freaky creatures. They're neither mantis nor shrimp, but a different kind of arthropod in the crustacean sub-phylum. What's so special about them? They're weird-looking, they can attack prey with the force of a bullet to literally smash their shells (or the walls of an aquarium), and their amazing eyes can perceive a form of light that I didn't even know existed. Who needs science fiction with these things around?

Labels: ,

Tuesday, August 19, 2008

Beijingle

Beijingle, n: a short, catchy song promoting the capital of China

Labels:

Camplane

Camplane, n: the aircraft that fly John McCain and Barack Obama around.

Yeah, I think it's dumb, too.

Labels:

Freebase Parallax

Perhaps Freebase is something that can beat Wikipedia. Check out this video about their tool "Parallax." Parallax enables a model of browsing that automates what I have found myself doing manually. I have not yet tried it, so I can't say how it works, but they've certainly grasped a novel form of information retrieval. I'm not aware of anyone else doing something similar.

Labels: ,

Monday, August 18, 2008

Fewer family names over time

I realized in the middle of the night that the total number of family names in the world is decreasing. I am not aware of anyone coming up with any new family names. New personal (first) names, yes, but not family names. It's also clear that some family names are dwindling. In most cultures that I am aware of, children take the family name of just one of their parents. In some cultures, children use their parents' family names to build their own compound family name, but there's a pruning process there as well, as otherwise their family names would get infinitely long. Since some names are disappearing, and no new names are appearing, the net result is fewer names over time.

None of the above seems wrong, but it sure is a weird thought to have.

Labels: ,

Saturday, August 16, 2008

Interviewer tips

I have been on the receiving end of a lot of technical interviews, and it surprises me how often companies let their employees do a bad job. I have come up with some suggestions for running such a session based on that experience. I have experienced every one of the problems that the following tips are meant to solve:

Preparation



Read the resume before the interview - you should not be studying it for the first time with the candidate sitting right in front of you. This is one of my biggest pet peeves. Waiting until the interview to learn about the candidate demonstrates a lack of seriousness and professionalism.

Be prepared. You should know in advance what questions you're going to ask, and think about various ways the conversation could go. The candidate is sacrificing a lot to be there, so don't waste the candidate's time while you struggle to think of something to talk about.

Coordinate with other interviewers so you don't make the candidate repeat himself unnecessarily.

Arranging the Interview



Let the candidate know what the schedule is in advance. The candidate should know:

  1. how long will he need to be on site

  2. how his time be divided

  3. who will be meeting the candidate, and what their jobs are (not just titles)

  4. what each part of the interview is meant to accomplish


Actually, before you tell the candidate all of that, you should make sure you yourself know all of that.

If two people will be sharing a time slot, they need to coordinate their questions so they both get the information they need without conflict.

Don't put a candidate with more than 2 interviewers at a time. For some, it may be intimidating, and it also poses a bit of a coordination challenge to get everyone's questions out of the way.

Minimize the number of on-site visits necessary. For local candidates, you can ask for two visits before making an offer. For candidates traveling more than 40 minutes, find a way to do everything in one visit. If you can't get all the necessary people squeezed in, reschedule, or redefine "necessary." Be mindful of rush hour and other timing concerns. If the candidate travels more than 100 miles, you need to compensate him for expenses. It is fine if you need the candidate to come on-site to sign offer paperwork, and the candidate can come back to if he wants to discuss an offer in person.

Consider weekend interviews. It's less convenient for your interviewers, but chances are the best candidates are very busy people. Being flexible is worth it. You can always offer your interviewing employees an extra day off to make up for it.

When setting up the interview, make sure the candidate has an immediate contact number in case they run into last-minute problems like a flat tire, getting lost, or the like.

Logistics



Someone needs to take charge of basic logistics: greeting the candidate, getting beverages and/or snacks, getting interviewers to the interview room at the right time, arranging breaks, and showing the candidate out at the end. This can be a recruiter, a hiring manager, or one of the potential co-workers, depending on who is available.

Consider recording interviews. That way, interviewers who aren't in the room for that particular session can still assess the candidate. Of course, you should get permission, and don't penalize candidates who are reluctant to be recorded.

Reserve a clean, quiet room with a whiteboard, a table, lots of paper and pens, enough chairs, and whatever supporting equipment is necessary, before the candidate shows up.

If you're going to keep the candidate in a single room for the duration, pick one with a window.

If you are going to have the candidate write code on a computer, find out in advance what their preferred editor is: emacs, eclipse, vim, netbeans, etc. If it's a common one, have it set up for them. If it's an uncommon one, ask them to bring a USB memory key with the appropriate environment already set up.

Attitude



Pay attention to the candidate, even if it's a pair interview and the other person is talking. No Blackberries allowed.

Remember that this is a personal interaction like any other, so don't be rude. It is not your opportunity to pontificate on your opinions. Don't be dismissive of what the candidate says.

Be sure to introduce yourself properly; don't just dive in.

Do not bad mouth your company, other companies, former employees, management, the recruiters who work for you, XYZ technology, or really, anything at all.

Questions



The candidate should write code. On a whiteboard is acceptable, but some things may be better done on a computer.

It is acceptable to assign "homework," some programming problem that the candidate should do on their own time. Aim for something that would take a good candidate between 45 and 90 minutes. Anything that takes more than 3 hours is too much to ask; anything that takes less than a half hour may be too easy to be useful. In my experience, these problems are usually posed with a blank slate for an answer. I suggest you consider instead giving the candidate existing code and ask them to extend it in some fashion. It is rare in the real world that you write fresh, new code, so your questions should reflect that.

Avoid brain teaser type questions. Too many of them rely on a trick, and it can often seem like you're giving a candidate a hard time just because.

Along with that, make sure it is apparent how a question relates to the qualifications and responsibilities of the job. If it's not apparent, explain the connection.

The following questions tend not to be all that useful, and are probably not worth the time:

  1. What was a project that you worked on that posed a particular challenge?

  2. Where do you see yourself in 5 years?

  3. Why do you want to work here?

  4. Rate yourself in X



Instead of the first one, ask about specific challenges posed by specific items on the resume (you read the resume, right?). Instead of the middle two, ask what the candidate wants to do. The last one is your job.

Don't ask questions that give you no useful information. For example, "what do you do when you have a technical disagreement with a co-worker?" There is only one right answer, and everyone knows what it is. The information content of any answer is zero.

The best questions are open-ended. That does not mean vague. If the candidate doesn't get your meaning, explain yourself using different words, and describe the sort of answer you are looking for.

Have more questions than your candidate has time to answer. Sometimes they've heard your questions before (perhaps even the day before), and you don't want to be caught flat-footed.

In some cases you want to spend the whole time going over just one problem. Choose a deep and subtle problem. That way you see if your candidate thinks deeply and subtly. You don't get as much information as you think from a variety of questions that you only explore shallowly. Nevertheless, as suggested above, make sure you have backup questions, as if your candidate for some reason can't get over the initial hump, you may be spending a very awkward 45 minutes (or however long).

Test your questions on co-workers to make sure they're neither too hard nor too easy. It will also help your delivery; often, candidates will be unable to answer a question not because they're dumb, but because the interviewer asked it badly. In interviews, like anything else, practice is beneficial.

You should always give the candidate the opportunity to ask you questions, but don't use that as an excuse to avoid your duty to inform as well as evaluate. Anticipate common questions and answer those preemptively. Some of these are about the company and only need to be mentioned once. Others are per person, and each interviewer should discuss them. Imagine every candidate asks the following questions:

  1. How big is the company?

  2. What is the breakdown of employees among divisions and roles?

  3. How does the company earn its money? e.g., advertising, subscriptions, licensing fees, etc.

  4. What has growth been like?

  5. What exactly is your role?

  6. How long have you been there?

  7. What do you like about working there?

  8. What don't you like?

  9. Where did you work before?



After the Interview



Hiring decisions should be unanimous. If someone's opinion isn't important enough to block the hire, that person doesn't need to be interviewing. I had hiring manager willing to override his team to hire me a few years back. That is flattering, but I don't think I'd want to work for him.

Always always always contact the candidate after. Never leave anyone hanging. You also want to find out how well your company presented itself. If a candidate is leaving with a bad impression, you want to know it so you can fix it.

Let the candidate know within a week what the next step is. You don't have to commit to an offer, but you do need to let him that you're making progress, and that responding is a priority. A week is the maximum; try to respond within 2 business days.

Labels: ,

Friday, August 15, 2008

Leisure is Work

I gave my 2 weeks notice today. It was time. I'd been looking casually for over a year. It got a little more serious this summer. Due to a few organizational changes, the low-key start-up I joined was getting more and more assimilated into the bank, with the dysfunction that came with it. It was by no means intolerable, but things were getting worse, with no sign of improvement ahead.

That's not to say I was looking for an exit. I like my co-workers. We have a useful product. The benefits are pretty decent, with good insurance, 401(k) matching, flexible hours, and 4 weeks of vacation per year. The situation was more than tolerable, but unpleasant and often asinine bank actions were intruding. I noticed a real degradation in the environment from before my paternity leave until after. I didn't have to think very hard, and the problems that I had to solve had far more to do with banking procedures and bizarre external mainframe systems than any kind of computing. Plus, I was really starting to dislike our application. It may be wonderful for accountants at Fortune 500 companies, but I've gotten pretty sick of it.

You can probably skip to the end if you don't want to read a lot of boring stuff. I need to give a little bit of background to explain what happened next. I've never had much luck with finding jobs. I had 2 offers coming out of college. You can guess what my success rate was in 2001 and 2002 after getting laid off from Motive. For my job search in 2004, I contacted something like 8 companies. That resulted in 2 in-person interviews and 1 offer. My search in 2005 was much the same, which yielded the job I have for the next 2 weeks.

Last summer, I talked to about 4 companies. 2 progressed to the in-person interview stage, and I received no offers. One of them, a well-known Internet company, jerked me around for 3 months before I heard a no. I felt almost aggressively rejected in those cases. It seemed like companies liked me until they actually met me. It was not a happy experience. That was also the case with a company that I talked to towards the end of 2007.

That was what set my expectations of what kind of response to expect this time around, and how quickly. I had been accumulating a list of Austin software companies for the last year using del.icio.us. My list was up to about 90. I made a first pass and came up with about 10 companies. I narrowed that down to 3 companies that seemed really interesting.

One, let's call it Iota (names changed to protect the guilty, plus for a little suspense), was involved in a search vertical. Samba produced a tool assisting in what I consider an important but neglected software development practice. Finally, Rhubarb was a large but still rapidly-growing Internet company that had a small subsidiary that looked like it was working on interesting cloud computing things.

To those three I added three more. Kilroy I added because I happened to see their ad on Craig's List that day. Blazer I took a stab at because I happened to see on Linkedin that someone I knew had just gotten a job there. Finally, I'd been talking with an independent recruiting firm off and on for the last 3 years, and they wanted me to talk to Harmonica.

So I had a list of 6 companies to whom I sent out feelers. I figured I'd hear back from 2 of them and maybe get an offer from one. That was my experience. That's what I expected.

As the heavy-handed foreshadowing has already made clear, that is not what happened. I heard back from all 6. I passed all 6 phone screens. Kilroy I met in person first over lunch, and then never heard from again. I met Rhubarb next. They were disappointing. Their interview was disorganized, and one of the interviewers (and potential co-workers) was rude and antagonistic. I didn't need that. When the recruiter called me back, I said thanks, but no thanks. I can get abuse for free.

Things went a little better with Samba. They told me up front that the opening I had seen had already been filled, but they'd still like to talk to me in person just in case I was awesome. Yeah right. I didn't embarrass myself, though.

I had an interview with Blazer the next week. I thought it went pretty well. I certainly was impressed by the people I met. I heard back in a couple of days that they wanted me to meet a few of their executives. I had set up an interview with Iota for the next Thursday, so I set up the Blazer meeting Friday afternoon. That same week, I talked to the hiring manager from Harmonica. I figured it wouldn't hurt, since my other opportunities would collapse once they actually, you know, met me. They sounded pretty interesting, so I planned on talking to them further.

The Iota interview felt like it went well. They also seemed smart, and they had a lot of interesting things to work on. A friend of mine vouched for the head of development. I hadn't been perfect, though, so I made sure to do the homework with alacrity. The next day, I met the head of products and marketing at Blazer as well as the CFO. It wasn't much of an interview, more of a conversation to get to know each other. I was feeling pretty good about hearing from them.

When I got home, I got word from Iota: they were prepared to make an offer. I felt pretty good about that. I felt slightly less good when I saw the money. It was an improvement, but I wasn't sure it was enough improvement to justify the risks and costs of switching. They had an aggressive bonus program, but I don't think of bonuses as being real money. I told them I needed a little time, figuring I'd see what Blazer came up with.

I also noticed that an email from Samba had gotten stuck in my spam folder. They said they liked me, but since the position was filled, they wanted to know if I'd be willing to wait till the end of the year. Things were looking up, and Blazer didn't disappoint. Come Monday, they made their own offer. It was nearly identical to Iota's. That's what comes of disclosing your salary. They must use the same formulas. I had some thinking to do. They were both good companies with smart people. They each provided a service that was useful and profitable, which is a surprisingly rare combination. Plus, they were both just 3 miles away from my house.

I told both companies about the choice I was facing. I also had set up an in-person interview with Harmonica before I received either offer. The day before that interview, I talked with Iota and tried to get a little more money. I did it very badly, and consequently achieved nothing. However, the morning of my Harmonica interview, the VP of Engineering at Blazer came out of nowhere and bumped their offer by 8% to near the middle of the bonus range offered by Iota. That got my attention. Later that same morning, I had a talk with Iota. I mentioned the bump in the other offer, but mainly I just wanted to discuss how their development team worked. It was a fruitful conversation, further convincing me that they were an excellent organization.

Faced with two pretty decent offers, I was considering canceling the Harmonica interview. It just didn't seem fair to them since I was highly likely to take either Iota or Blazer. I called the independent recruiter who'd set me up with them to work through the right thing to do. She wasn't there. I figured I might as well go.

Harmonica came with two strikes against them. They were down south, a 15 mile drive compared to the 3 miles for the other guys. Plus they were already up to several hundred people. Still, they had sounded intriguing on the phone, and I foolishly thought that wasting their time was better than bailing out. So I went. And wow... Those guys were smart. They had it together. It was astonishing, considering that what they did seemed pretty unsophisticated on the surface. I felt pretty good. On my way out, I told the hiring manager my situation. I hated the idea of putting anyone under pressure, but I had a deadline.

The next day, I heard from the Harmonica recruiter. Things sounded good. At her invitation, I met the Harmonica team again at a coffee shop where they were having an off-site work day. It sounded like they were moving towards an offer, but it was Friday, and my deadline for both Blazer and Iota was Monday. My coffee shop appointment reaffirmed my reaction from the day before. They were good eggs.

Something in my conversation with Iota the previous day must have jogged something loose, because I got a call. This time, it was the CEO and co-founder. I'd met the other co-founder already, but the CEO was based in another part of the country. To my amazement, he asked me what it would take for me to commit. What? I was so surprised that all I could do was say what Blazer's raised offer was, which he immediately said he'd match, and resist his attempts to persuade me to commit right them.

That made for an anxious weekend. I had two very good offers. Iota had a clear edge over Blazer. Blazer's product was good, while Iota's was great, a real market changer. Plus, Iota had matched Blazer's base salary, plus they had an aggressive bonus program. On the other hand, Blazer had 4 weeks of vacation plus additional sick time, while Iota just had 15 days personal time off encompassing both. Then there was the big unknown with Harmonica. I didn't know what was going to happen.

I put together an elaborate spreadsheet. It had all the obvious things on it, like salary, insurance costs, etc. I also added other things, like vacation time and commute distance, trying to quantify as much as I could. I didn't know if Harmonica was going to offer, but they knew what I already had been offered, so I figured they'd match that if they offered anything. Iota had a clear edge over Blazer, but Harmonica was the big unknown. I put together an extensive list of attributes. Harmonica won almost half of the categories, while Iota won the rest. Clearly, this approach wasn't working.

Jessica realized it before I did. I was trying to find a way to make Harmonica the objective right choice. I really liked them. The people were smart and likable, the technology was interesting, and the company was exciting. But I had no idea if they were going to offer, or what. And my excessive analysis indicated that Iota would probably be better for my career in the long run. Harmonica's technology was solid, but Iota's was more on the cutting edge, and they were certainly likable enough. It was a tough decision.

See, I couldn't just go with the people I liked best. There were too many questions. I'm the sole income for a family of four, which meant the money mattered a lot more than it would have otherwise. I needed to be around as a father, which meant that an extra 45 minutes of commuting each day was actually significant. And, while I was leaning towards Harmonica, Iota was still a terrific company. Blazer was pretty good, too, but they were out of the running by now. In any other circumstances, I would have been happy to take any one of them. The problem was I could only take one. I wasn't anxious about making a mistake, because none of my choices was a bad one. What was keeping me up at night was the possibility of walking away from a fantastic opportunity.

Monday came (4 days ago) and with it, an offer from Harmonica. They made it hard for me; their offer was nearly identical to Iota's, when normalized for various factors. I went over it and over it all day. Finally, I decided to go with my gut. Iota was good. I liked them. But I liked Harmonica better. I called them up and accepted.

That wasn't the end of it. Apparently, Blazer and Iota wanted to be absolutely sure that I was absolutely sure. I heard from the VP at Blazer and the co-founder of Iota one more time. It was unreal. I was happy to explain my decision to them, but, even though it had been close, I was not going to change it. I just liked those guys too much, and I had made my commitment.

I don't tell all of this to brag (OK, maybe a little). I was massively surprised. I expected maybe one offer from the six. This was unreal. Also, I had previously thought that this was a good position to be in. That's what the few people clued in to my situation said, and no doubt you are thinking it too. No way. It was agonizing. I had trouble sleeping the whole weekend. No matter what, I was going to have to disappoint some people I'd gotten to know and like. That was not a happy prospect. If I could have cloned myself and taken all three, I would have. If I could have only talked to one of them, I would have, but my previous experience told me that would have yielded nothing.

I'm not going to reveal here who is behind the code names except for one. I don't think a gentleman tells, at least not to the whole world. I will reveal Harmonica. Go ahead, read that. Process it. I know what you're thinking. Here's the thing: the market may seem unsophisticated. It's not search. It's not heavy computing. It's not developer tools. It's even targeted at non-techies. Didn't I say that my current job wasn't a challenge? Listen: that's just your superficial impression. It's ok. It was mine as well.

Here's the thing: the technical team behind HomeAway is one of the sharpest I've ever met. Heck, we talked about tries in the interview, based on something that one of the developers had written just a short time before. These guys do software the way it should be done. Unit tests, code reviews, short iterations... It's a long list of things they do right. They do things I've read about, but I've never done before. If you're curious, look at my new job description. They operate globally, which means some serious scale. And they're seriously ambitious.

The market also is exciting for its own sake. It's a potentially huge market in the exotic field of travel. The business is strong in spite of an economic slowdown, simply because the market is so huge, and they have such potential for making it bigger. My work will be other people's leisure. It's a great opportunity, and I'm really looking forward to it.

Update: I realized I might have made it sound like I did not like the people at Iota, Blazer, and Samba. That's not at all accurate. Both Blazer and Samba had good people and appealing cultures. It was a little harder for me to get a bead on Iota's culture, but there were particular individuals there that I very much liked. In an ideal world, I would have gotten to know Iota a little bit better, but I had a limited time to make my decision, and my positive reaction to HomeAway was an immediate one.

Labels: ,

Thursday, August 14, 2008

I learned it by watching you!

Wednesday, August 13, 2008

A completely unoriginal thought re: Michael Phelps

Holy crap. How does he do that? These are the best swimmers from all over the world*, and he blows past them like they're standing still. And that 4x200m relay? That wasn't just Phelps; every swimmer on the US team was fantastic. It boggles the mind.

* Well, not really; swimming is dominated by the Western countries, Russia, and Japan, with an increasingly strong showing by China. There's no real representation from Latin America, Africa, and most of Asia. Pools are expensive.

Labels:

Saturday, August 9, 2008

Olympicism

Once again the Olympics rolls around with its vulgar displays of nationalism, chauvinism, tribalism, and a whole host of other -isms. People can't seem to appreciate the pursuit of excellence for its own sake; what matters is that your guy from your country wins, excellent or not. The Olympic phenomenon claims high ideals and principles, but it comes down to the same "we're better than you" attitude that characterizes so much of relations between societies.

That said, U-S-A! U-S-A! U-S-A! U-S-A!

Labels:

Monday, August 4, 2008

Goldwash

Goldwash, v: to use the dazzling spectacle of the modern Olympics to obscure and distract from a record of oppression and environmental destruction.

Labels: ,