Interviewing — Early Hires (Co-Founders / First Employees)

Wednesday, May 27th, 2009

Twitter Summary: You are going to spend a lot of time with your early hires. Make sure you enjoy their company.

A special case in interviewing is finding and assessing co-founders and early employees.  The first hires are critical as they will help dictate the direction and eventual outcome in success of the company.  The interview process for early employees is different in that the people you are typically interviewing are referrals or perhaps “friends of friends.” Generally these are people who have been successful in some other organization and your job is to determine if they can successfully help you bootstrap your small organization. Spending extra time with them during the interview phase is especially important as you will be spending many more hours with them getting the company off the ground.

The interview questions in this case are not very different. However, the skill set you are hiring for is broader and personality attributes are much more important.  Interviewing early employees should take more time as you need to assess if they have all the skills you require.  Following up with the referral candidates is also critical. Even if the candidate is not offered or decides not to accept a role they may turn into an invaluable resource for other future hires.

Key traits to look for in early hires are:

  • Can you spend a lot of time with them?
    • Rather than a 1-3 hour interview, spend a full day with each other talking about the business or social matters.
    • Consider taking a trip with a potential candidate to a client site to see if you would enjoy working with them.
  • Would you want to be in a foxhole with this early member?
    • Does the candidate have a wide range of skills or more importantly the enthusiasm to do things beyond their skillset in order to get what needs to be done completed.
    • Consider asking the candidate how they deal with stress, both their own and others? Startups are by definition stressful environments and having a candidate who is self-aware to provide a good answer with examples is really important.
  • How do they deal with ambiguity?
    • All early stage companies lack phone systems, HR resources or people to help with basic maintenance tasks. In the absence of information, a policy or even an ability to do something, what is their approach to make sure the task is completed.
    • If the garbage is overflowing do they (a) Take it upon themselves to do it, (b) complain about the garbage overflowing, or (c) create a schedule to rotate who takes out the garbage until an office manager or someone is hired to take care of it as a permanent responsibility.

This post was inspired by Mark Goldenson’s comment in an earler blog posting.

Search Engine Relevance: User Feedback Loop

Tuesday, May 19th, 2009

Twitter Summary: User relevant search results can only be achieved by incorporating a user-centered feedback loop.

The largest improvement in the relevancy of modern search engines has been the incorporation of the user feedback loop. Historically, search results were evaluated only on the basis of the contents of the documents:  Words in the title were thought to be more valuable then words mentioned in the body of the document, author names were more important than if the name appeared in the subject, and words mentioned earlier in the document were more important then words mentioned later in the document. The net effect was that the search results were limited to weight and score of each document. A user had no input to the scoring function that determined if the document was a good match to their search result.

The most successful search engines learned early on that by using feedback loops to leverage human feedback you could add additional information into an index and get a better search result. Google implemented a “user feedback loop” through the incorporation of PageRank. PageRank took the network of outbound links from websites and weighted pages that they referred to higher in search results. The search engine used the basic weighting of words in title, subject, and header as important, but also included an additional factor that leveraged the human behavior of linking pages to  to websites that they thought were valuable. The result was a search engine that has become the defacto  standard for finding information on the web.

Amazon.com was able to incorporate an even stronger feedback loop by tying together three human activities: the words the customers used to search for an item,  to the items they clicked on, and the items they eventually bought. Their algorithms are exceedingly strong because Amazon’s scoring function involves money. Nothing says something is valuable to a person more than their willingness to pay money for it.  If you present results to a customer that doesn’t produce a sale, that is a sign the algorithm could potentially be improved.

Yelp includes a different user feedback loop in the way it refines a search for distance, specifically, including an option for walking distances.  If picking out a “Thai” restaurant in Seattle, the search results are biased towards good places that are within walking distance to where Yelp currently understands the user to be.  The presumption is that a restaurant that is close by is an important factor in where a user decides to eat. The effectiveness of the algorithm is evident by the fact that the company continues to use it as a default in search results.

In all these cases, a machine could clearly make a decision as to what is a better search result based on just the name of a restaurant, or title of a book.  However, a useful search result for a machine doesn’t require user relevant feedback as it would be meaningless for a machine to walk to lunch or decide whether it wants to buy a book.

If you are building your own search engine, think about what user feedback loops you should incorporate to return a better result.  Great user feedback loops should consider both positive results (a sale being made, a link being clicked on) and also negative results (what does a customer do after an empty search result, or if they are presented a result where they don’t click on any of the links).  The end product will be more relevant search results for you customers, and faster navigation through the website to the customer’s desired pages.

You are what you index

Tuesday, May 12th, 2009

Twitter Summary:  Search engines only return results for items indexed. The more garbage they add, the more garbage their customers see.

Garbage In, garbage out

Search engines can only return results based on the content they index. The items indexed need to (a) match the user’s expectation, and (b) need to be relevant high quality results. This seems really obvious but the implications for building high quality search results are tremendous in that web sites are quickly limited to the type of information they can return. In addition the nature of the items indexed create requirements for information quality that most search engines can’t completely control.

Prime examples of this are:

Search Engine Items Indexed Relevancy
Amazon.com Things People can buy Sales Rank
Google Web Pages Page Rank
Twitter search Tweets Chronological Order

These search engines will break the customer’s expectations if they begin returning results that the customer did not intend to see. If Amazon.com were to start returning web pages or Twitter “tweets” as part of its search results, it would entirely miss the expectations of its customers as to what the search results should provide for them. If Google began returning a page full of “tweet” results, and product information, it would certainly capture more information to index, but it would unlikely return results that would be satisfying to the customer.

The relevancy of the results also becomes a limiting factor for these search engines as they need to spend effort controlling for quality when their basic algorithms return inadequate results. In Amazon’s case, quality of results is impacted by manufacturers creating product names that have typos, or music band names that were intentionally misspelled. It would be easier to just let the misspellings float through the system, but by returning a poor result or not showing the customer a potential match they can reduce a potential sale. In Google’s case, they have to deal with malicious websites that create inflated page ranks for pages through the use of “link farms”,  or websites that are mirror images of other websites that only vary by the URL at the top of the page. Rather then display the same information repeatedly on the same result page, Google spends effort removing duplicate web pages and eliminating rank inappropriately created by a link farm. In Twitter’s case, returning results in chronological order is simple, but a search for “milk chocolate” and “chocolate milk” are actually two distinct searches, and search.twitter.com can’t improve the results without breaking their default time ordering. Twitter also suffers from their user’s typos (or simple pluralization mistakes) that could be remedied, but because of how they return and display search results makes it difficult to fix.

At various companies I have worked, there have been multiple attempts to return search results that returned a variety of types of data. The user interface challenge was enormous and difficult, since that type of results requires the user to know what type of result they should expect to see prior to clicking on the link. In the end, it was simpler to design, create and explain to the customers that depending on which search box they used, they would have the type of result they were expecting. By managing customer expectations prior to the search, it resulted in making the page easier to design and for the customer to use.

Improving data quality is challenging regardless of domain and frequently requires human judgment as the data is typically made by humans for humans to consume. If the search engines were made for just machines to use, we wouldn’t need relevancy as a machine could process all the results.  People using a search engine require assistance in helping figure out which search result matches their query.

In the end, the old rule of “Garbage In, Garbage Out” or in this case, “You are what you index” is tremendously meaningful in figuring out what it takes to return a great search result.

Better Meetings — Openspace Technology

Tuesday, May 5th, 2009

Twitter Summary:  Improve the quality and the outcomes of all your meetings through the use of Openspace Technology and its principles.

I was introduced to Openspace Technology (OST) at Amazon.com and have used it at subsequent organizations with great success.  OST is not “technology” as in gadgets that surround us. It is a process to create meetings that takes minimal work from organizers, and pushes the responsibility for success to the participants who are encouraged to take ownership and solve the issues. The best summaries of OST are the wikipedia entry and the user’s guide hosted at OpenspaceWorld.org.

Rather than highlight how OST works, which is already detailed in the above links, I want to highlight the impact on the participants.  It can best be described in there phases:

  1. Introducing OST –  When first introducing Openspace Technology to a group of people, I typically see  incredulity that this could be a successful way to run a meeting.  The expectation from other presenters that it can’t be successful without having a detailed  agenda and preparing powerpoint slides to lead the group. The expectation from attendees is that it is too fluid to capture what was really important.  Fortunately, those impression change once everyone realizes that this is an opportunity to contribute their critical issues. By stating aloud what they think is important, they can hear other people come up with  issues and help determine the relative priorities.
  2. Meeting Sessions — The self-organizing nature of the meeting becomes apparent as everyone offers session ideas.  As  ideas are contributed, they spawn more ideas that are added to the pool of potential discussions. As more important issues are made known, some ideas are tabled for future discussions.  The impact on the group is they realize that with the limited number of people in the room, they either need to take ownership of an idea, or contribute to an initiative they believe will make the group successful.  The participants become energized as the process makes it clear that some issues won’t be resolved unless someone (a) states there is an issue, (b) takes ownership of fixing that issue, and (c) finds others who think the issue is important and can help resolve it.
  3. After-effects — The after-effects of running an OST meeting can be great and frustrating. The impacts of running a meeting is that it energizes the participates, distributes ownership, and creates buzz around the important issues. Really important issues get lots of support and can enlist help from a broad base. Frustrations that emerge stem from either (a) having a long list of remaining tasks that may not get addressed, and (b) the team feeling the company is not pursuing the priorities as generated from the meeting.  Frustration can be managed by capturing and prioritizing the future work and ideas generated at the meeting.

The principles of OST work in smaller non Openspace meetings. I often would run my weekly engineering meetings much the same way.  I would send out a minimal or blank agenda prior to the meeting,  soliciting the team for topics that they wanted to share in the group setting.  If a team member knew of a topic that should be discussed, there was a regular forum where they had the responsibility to surface issues.  If we had an empty or light agenda the meeting would be skipped or shortened. If the agenda was full we would need to decide what was important for that week and re-schedule other issues for another time.

Having a shortage of time or resources is a fact of life in most organizations. Using OST prinicples to manage the list of things to do helps focus on getting the most important things done in the time alotted.