Global Perspectives

An Argentinian, an Indian, and two Romanians walk into an office…. This isn’t the beginning of some riddle, it's the start to a typical day at FindHotel.

The 30 people on our growing team represent 17 distinct nationalities. This diversity also reflects the global nature of the business. Travelers from around 70 countries use FindHotel each day to secure hotel accommodations. In other words, we help connect nearly 40% of the world’s nations with the right place to stay for holiday and business travel.

All of this is what initially attracted me to FindHotel. I’ve been fortunate to travel a lot for work, something like 20 countries in the last few years. My favorite moments from these experiences were usually the awkward conference dinners. I’d typically be the only American at the table and the conversations would quickly turn from business to topics ranging from politics to family to music. I’d always get back to my hotel room tired but energized by the dialogue shared over dinner and dessert. This atmosphere is often recreated at FindHotel during our daily team lunches, company fun days, and trips. And just like the conferences, you never know what topic or debate will come up.

I joined the company in September 2016. When I was applying for the data analyst post, I wanted to do something special since I was a foreign applicant without status to work in Europe. I also wanted to learn more about my potential colleagues. I saw an opportunity to do both as I wandered across the team profiles on the FindHotel website. Knowing that coding is a big part of what people do here, I decided to scrape and summarize what was on the site.

The rvest library in R made this easy and enabled me to to quickly grab key pieces of information on my future colleagues.

library(rvest) # read_html
library(dplyr) # data wrangling
library(tidyr) # spread

thesite = read_html("http://company.findhotel.net/team.php") # crawl the site and take the html

getsomething = function(url, targetname) { # function to retrieve specific web content
  url %>% html_nodes(targetname) %>% html_text()
}

name = getsomething(thesite, "h3") # get names
label = getsomething(thesite, ".personal_title") # get variable labels for personal information
info = getsomething(thesite, ".personal_info") # get personal information

myindex = as.numeric() # make index for each person to maintain columns below

k = 0
for (i in 1:length(label)) {
  if (label[i] == "Job title: ") k = k + 1
  myindex[i] = k
}

combo = data.frame(label, info, myindex) # bring everything together

df = combo %>% group_by(label) %>% spread(label, info) %>% select(-myindex) # rearrange df to include names

finaldf = data.frame(name, df, stringsAsFactors = FALSE)
names(finaldf) = c("Name", "Citizenship", "Countries", "Joined", "Title", "Power")

finaldf$Year = ifelse(finaldf$Title == "CEO", 2011,as.numeric(gsub("[^0-9]","",finaldf$Joined))) # clean up year joined

This code generates the following dataframe with a row for each employee.

top10

From this data I used R Markdown to make a summary report that I shared with the group prior to my first interview.

The updated results continue to paint a fascinating picture of the people driving growth at FindHotel.

  • FindHotel is a travel company built upon avid travelers. Employees have visited an average of 19 countries.
  • Our talent is truly global. We have people representing 17 different nationalities.
  • We have fresh perspectives joining all the time. Twenty of the 30 employees (67%) joined the company during 2016.
  • Interesting conversations abound. There is always something to talk about when you have a mix of technical all-stars, boy scouts, foodies, and adventurists.

A walk around the open office, which is located in a beautiful space near the Amstel river, is the perfect venue for our melting pot. And we’re always looking for more passionate people to join the team. If you want to do interesting work with interesting people, check out our current job openings and get in touch.