Monthly Archives: November 2005

Google Era Interviewing

At the end of the 1990s companies like monster.com reshaped the hiring process–at least the first half of it. They changed the way people found job opportunities. They also changed the way companies found the people they were looking for.

2005 marks 10 years since Amazon.com, Google, Yahoo!, and eBay appeared on the Internet. During these 10 years they expanded tremendously; so did their databases. The data they collected captures a great deal of the Internet’s history. It also captures a great deal of information about the people who may seek employment opportunities with them. Without your realising it, the people interviewing you may know details about yourself that you’d have a hard time remembering. These details could reveal a lot more about yourself than your cover letter and your carefully crafted resume.

While browsing a large web retailer’s web site I had an opportunity to review my order history. I was curious to see how it looked like and went ahead to explore it. I was reminded that:

  • In 1997 I bought Concurrent Programming in Java: Design Principles and Patterns
  • In 1998 I bought A Polite and Commercial People: England 1727-1783
  • In 1999 I bought Tis: A Memoir
  • In 2000 I bought Database Nation: The Death of Privacy in the 21st Century
  • In 2001 I bought The Deadline: A Novel About Project Management
  • In 2002 I bought the Nikon WC-E63 Wide-Angle Converter Lens
  • In 2003 I bought Documenting Software Architectures: Views and Beyond
  • In 2004 I bought Loosely Coupled: The Missing Pieces of Web Services, and
  • In 2005 I bought A Mathematician’s Apology

I remember very well about some of these things: I see Concurrent Programming in Java and Loosely Coupled on my bookshelves; I know that A Mathematician’s Apology lies in my nightstand’s drawer; and the Wide-Angle Converter Lens is packed with my digital camera. However I did forget about others. My retailer has not; fascinating!

Would a potential employer be interested in this information? Should I apply for a job with this retailer, will they fish it out of their database and put it next to my resume? What does the list tell them about me?

The above questions apply for all of the above web sites, as well as many others: Google has the history of most things I googled for; Yahoo! has the history of many news articles I read; eBay has the records for many of the items I bought from (or sold to) an auction. This information could provide valuable business intelligence when it comes to interviewing a person. The interviewers could infer quite a bit about myself, my professional and personal interests. They could even gage whether I would fit with their culture. In other words, interviewing no longer has to revolve around someone providing credentials and the interesting parties probing around them. Instead, they could supplement the old fashioned techniques with a bit of data mining and inference, leveraging the gigabytes of data they’re sitting on. Welcome to the Google era of interviewing!

Ultimate Pair Programming

Pair programming represents one of the practices of agile software development. Traditionally the two developers work on the same physical workstation. This requires that they’re at the same location.

During the last few months I paired with my colleague Grzegorz Wdowiak while we were about 1000 miles away. How was this possible? Technology to the rescue…

We shared the computer through RealVNC. Greg had the server running on his laptop. The viewer allowed me to view his screen, type through my keyboard, and use the mouse. However, in spite of the large nunber of bits pushed across (particularly when rendering bitmaps like XML Spy’s splash image) this is the “low bandwidth” part of the deal.

The side of pair programming that brings the most value is human communication–more precisely, verbal communication. Instant messaging won’t do. You have to be quick: “no, here, this is the method we should refactor.” Traditionally people far apart used the telephone to talk to each other. However, since pair programming sessions last a few hours the telephone doesn’t provide a cost effective solution–not unless someone else is paying for it. Therefore we used Skype: the quality is amazing (VoIP tends to sound better than many mobile phones), and you can’t beat the price 🙂 In addition, most of today’s (decent)laptops have built-in speakers and a microphone, which means that you don’t need anything else.

Oh and by the way, both of us were untethered thanks to WiFi. Telecommuting got a bit closer, and it doesn’t look like the telecoms will make fortunes off it. It would be interesting if IDEs like Eclipse and Visual Studio .NET would support remote pair-programming out of the box.