Three things I learnt being a scrum master

Giuseppe Sorrentino | User Interface Engineer, Hotels.com in Rome

Originally published on The Hotels.com Technology Blog

Introduction

I am very happy to have had the opportunity to work in the Agile world for almost 4 years, that have been fantastic and challenging.

Being a Scrum master is an invaluable experience and makes you understand and reflect a lot about company processes and software development in general.

It is very hard to discover and address disfunctionalities in teams’ processes. In fact, disfunctionalities are often sneaky. Metrics and surveys can help you but you need to develop an insight to recognize them and this helps you improve a lot as person and professional.

I decided to share with you three thoughts I noted down in these years.

1. Training is not enough, make it real by being assertive (when necessary)

In these four years I did tons of training. Prepared tons of presentations on the various agile practices and artifacts: Kanban, Scrum, backlog and backlog refinement, pair programming are only examples.

One thing I learnt is that while training on agile is valuable, practice is more valuable. The capacity toward making practices real in day to day life is fundamental in the scrum master profession. In order to do that there are two different and antithetic approaches:

  • wait that a practice emerges in the team
  • be assertive and effectively contribute by pushing for the application toward some beneficial practices.

Being able to find the right balance between these two approaches is a fundamental key in a scrum master role. In a perfect world the Scrum master would always choose the first approach. But in the real world, this is not always feasible. For example, there could be situations where it is not possible to wait until the team becomes mature enough to adopt a practice. On these occasions, in my honest opinion, is when the Scrum master needs to be assertive.

2. If you want to go with Kanban, start with Scrum

I am assuming you are familiar with the Tuckman’s stages of group developmenthere.

The Tuckman’s stages of group development

It is harder to start directly with Kanban than starting with Scrum and transitioning to Kanban. In fact, Kanban requires much more discipline from the team than scrum. Pulling stories at the right time, limiting the amount of work-in-progress items, are very challenging tasks, even for a very small group of people. This makes Kanban more functional in the teams that are in the norming or performing phase or however not at their beginning. While scrum being more prescriptive, is perfect for a team in the forming and storming phase.

It is a good idea to start with Scrum and transition smoothly to Kanban when you feel the team is ready, or rather when the team is entering in the norming/performing phase. There are many indicators a team is transitioning toward the norming/performing phase:

  • stability in practices adopted
  • stability in team composition
  • continuous success of sprints
  • self-organization in main scrum ceremonies
  • stability in velocity and throughput.

3. Scrum application outside the software world often is not clear

While scrum is supposed to be an universal framework, in the sense it should be applicable outside of software world, this application is not always immediately clear.

In Hotels.com we give training on Agile to very different functions and we encountered difficulties in recognizing a way to apply scrum to certain realities outside of technology. For example there is not so much literature on how backlog items should be documented. Neither is clear how to manage realities where we have mostly personal work rather than team work.

Conclusion

I had four challenging years as Scrum master and this opportunity make me grow as person as well as IT professional. During these years I had the opportunity to reflect on some aspect of the Scrum master practices.

Particularly I discovered that the Scrum master need to be assertive and effectively contribute by pushing for the application toward some beneficial practices when necessary. The natural emergence of all the team practices is simply a Scrum myth.

I, furthermore, think that Starting directly with Kanban for a new team can be counterproductive. My suggestion here is to evaluate Scrum as bootstrap for Kanban.

The last point: the fact that Scrum universality (its application outside of IT projects) is not crystal clear. Under this point of view a great community effort to make Scrum more accessible is needed.

Thanks to Gayathri Thiyagarajan.

Employee Experiences: Krystyna Waterhouse

From recruitment coordinator to business analyst: how to make a career pivot within Expedia Group

Krystyna Waterhouse | Business Analyst, Lodging Partner Services in Geneva

What is my current role?

My role – as of the past year – is that of a business analyst, based in Geneva. When I moved into Analytics, my specialism was People Analytics. I created capacity planning models, assessed quality of hire, and provided reporting for recruitment. A few months ago, I moved into another team focused on new inventory; supporting analytics for third-party inventory and vacation rentals.

The core of my role is supporting my stakeholders through data to answer business questions. As an analyst, I report on the “what” by looking at metrics linked to performance. But where an analyst adds value is in moving from the “what” to the “why” and the “how”; helping stakeholders understand why we are seeing certain trends and helping them decide which actions to take next.

At the Analytics and Revenue Management offsite

This means that some days I spend hours querying on databases using SQL or doing analysis in Excel to understand a problem, but other times I am focused on visualisations in Tableau or Powerpoint. My work is all about enabling insights and solving business problems, and the tools I need to use to get there vary.

However, just a year ago, my day-to-day looked nothing like this. I was working as a recruitment coordinator in London, scheduling interviews for 50-75% of my office hours. So… how and why did I end up in Switzerland doing analytics?

The path from recruitment to analytics

During my year in recruitment, I was fortunate to have a manager who supported and engaged with me to understand my career aspirations and interests. My role prior to Expedia Group had involved some work with data so I had a vague feeling that I might be interested in working with data and solving business problems.

With 10% of my time allocated specifically to project work, I expressed an interest to my Senior Director about working more with data. He was incredibly supportive, and involved me in his recruitment reporting; the beginning of my tempestuous relationship with Excel. I found myself excited by the results of early analysis, but also itching to dig deeper and ask “so what” about the trends I saw.

I realised that I wanted to spend my entire day answering those “so what?” questions, and that I needed to upskill myself. Alongside my regular work, I started to take on as many projects as possible whilst attending Expedia’s Code Academy (learning basic Python and Java). I also participated in an online Harvard Computer Science course called CS50. Many of my lunchtimes and weekends became focused on getting exposure to new training; I still didn’t quite know where it would take me, but I knew that I had to follow my curiosity.

Next, I started to reach out to different hiring managers within Expedia Group. One of the great features of life in Expedia is the open talent market – this declares that all positions opened must be posted internally, and that an employee can apply for roles without having to let their manager know. However, cross-functional and cross-brand moves are really encouraged at Expedia Group, and so I kept an open dialogue at all times with my manager about how we could make my role more data-focused.

Cupcake decorating is another one of my weaknesses

When reaching out to hiring managers at this point, I wasn’t applying for roles, but looking to build my network and gain some experience. I ended up spending some time shadowing the User Experience Research team in London, and this was a valuable opportunity to assess the kind of work I would enjoy.

In the end, it was actually my manager who pointed out the role in Analytics to me. It would involve my Senior Director becoming my direct stakeholder. I worried I didn’t have all the skills on the job description, but I pushed my doubts aside and sent over my CV.

Within a week I was interviewing and realising just how exciting the position was. I would be answering the same questions that had eaten at me whilst I was creating reports for recruitment, but with the training, infrastructure and tools of the Analytics team in my arsenal. When I was told the role would be in Geneva, Switzerland, I did not hesitate to relocate.

So, how am I finding it now?

In the past year since my relocation, I have had a huge learning curve. I discovered that my Excel skills were quite underwhelming and that my powerpoint decks had room for growth. I had to learn to write complex queries in SQL to access data, design models in Excel using R, and create data visualisations in Tableau.

Yet despite the number of technical skills that I had to develop (still a work in progress!), I felt since day one in the team that this was right for me. I love solving new problems every day; and without doubt, the support of my analytics peers and managers has helped immensely. No matter how many slack messages I send, or how many times I pop up at somebody’s desk, I am never made to feel I am asking too many questions. My team in London were amazing, so I was relieved to find when I moved to Geneva that the team here were just as friendly and welcoming.

Hiking in Arnensee with coworkers at one of the most beautiful lakes in the world

Geneva itself has been great. Like every Expedian, I’m big on travel, and living so near an airport has me leaving the country on average once a month. The lake in Geneva is bright turquoise in summer, and I’ve learnt to paddleboard as well as continuing to attend the Crossfit classes I took in London. Last summer I went hiking frequently with coworkers, and we hit up several Christmas markets in December. The analytics team itself has a ton of social activities; from monthly fast food lunches to cupcake decorating, ice-skating and laser tag. I even learnt to ski with a co-worker, although my skills on that front need some work…

What’s next for me?

I’m enjoying the challenges of new business topics and problems in Analytics. I have got a long list of skills I’m looking to develop this year, and I’m determined to make a little progress in my French. As for the future? I’ve found my joy in analytics and learning, but in Expedia Group, as in life, change is the only real guarantee.

One of my many weekend day-trips to Chamonix

What would I advise to somebody else looking for a career change?

  • Reach out to hiring managers or peers in different teams to find out what they do; shadowing is a great way to understand what a day-in-the-life actually looks like
  • Engage with your manager on personal development goals; set clear objectives and define what steps you will need to succeed
  • Follow your curiosity: what do you enjoy doing, and what really piques your interest at work?
  • Upskill yourself using the resources at hand; there are plenty of free courses online on edx, udemy and coursera

Employee Experiences: David Barmaz

Why Expedia is a special place to work

David Barmaz | Supply Analysis Manager, Lodging Partner Services in Geneva

The comfort of a large corporation with the growth pace of a start up

When I joined Expedia Group Geneva Analytics team 2.5 years back, the team was made of 30 people.

Today, we are over 80. The overall company has been growing strongly in general (10-15% per year), but with the growing push for more data, the analytics function has seen growth outpacing the general company.

The direct consequence of this growth is that Expedia Group offers a huge number of opportunities to take on responsibilities and increase one’s scope.

Most company that see such growth are often of a much smaller scale… but being part of a large corporation has a lot of advantage: global reach, large impact, and also loads of nice smaller perks like desks you can raise, free fruits & coffees, big allowance for sport activities, showers on site etc.

The main Geneva office also happen to be on the street perpendicular to the water jet (Jet D’Eau), so you get to check it out every day when coming and leaving the office; there’s nothing quite like a bike ride along the Rhone and Lake Geneva to get to work!

Morning ride to work

Making Expedia Group the best workplace

One of the most noticeable changes I’ve witnessed over the past 2.5 years is the drive in the Analytics team to make Expedia Group a great place to work.

  • New joiner onboarding has been strongly developed and streamlined.
  • The number of learning opportunities has increased drastically; Analytics now has a dedicated training committee, along with data science classes & code academy.
  • The need for training is also recognized by leadership through a generous training budget to employees.

Our team has probably the most active social committee of the whole enterprise. We have about 5 events each quarter. Last year, some of the activities included an escape room, a baking class, a curling initiation and most recently an ice skating night.

For the first time this year, everyone in the team has a quarterly objective to make life in the office better. We see a lot of beautiful initiatives flourish from this: such as “Lunch and Learn” sessions and language exchange groups.

Volunteering is also dear to many Expedians. Shortly before Christmas 2018, 150 employees gathered to refurbish a block of flats for people in need in Geneva.

Ice skating team event

You thought London was international? Try Geneva!

Prior to joining Expedia Group in Geneva, I worked in London for 5 years. One of the things I loved the most was how international London was, and losing this diversity was one of my main concerns, moving back to my home country.

But Expedia Group’s Geneva office is a special place. The vast majority of employees here are born elsewhere; being Swiss-born, I’m definitely part of a minority!

When I moved back to my country, I expected people to have the same habits as me. I was in for a shock when I started my work days at 7am and had to wait about 2 hours before most of my colleagues arrived.

However, I do feel very lucky to spend my days mingling with people from all over, who have such a rich variety of experiences. The staggered times at which people arrive at the office reflect not only the cultural diversity of Expedia Group in Geneva, but also the Expedia approach to flexible working and work-life balance.

Christmas Party

Now if you’ve read all this, you might be wondering: “how can I be part of this?” We have A LOT of open positions pretty much all the time, so please check out our Career website and feel free to reach out should you have any questions about the Geneva office or the Analytics team.

Looking forward to hearing from you!

Finatra in a Haystack

Originally published on The Hotels.com Technology Blog

Ryan Burke | Software Development Engineer, Hotels.com in London

Haystack is an Expedia-backed open source project to facilitate detection and remediation of problems with enterprise-level web services and websites. Haystack uses tracing data to help locate the source of problems, providing the ability to drill down to the precise part of a service transaction where failures or latency are occurring — and find the proverbial “needle in a haystack”. Once you know specifically where the problem is happening, it’s much easier to identify and understand the appropriate diagnostic data, find the problem, and fix it.

Finatra is a web framework created by Twitter built on top of TwitterServerand Finagle, it is the web framework of choice for the majority of Scala core services at Hotels.com. Recently, we wanted to integrate our services with Haystack in order to have distributed tracing information across service boundaries.

Finatra supports out of the box tracing using standard Zipkin X-B3-* HTTP headers. In order to report this data to Haystack we needed to publish the tracing data to a proxy service we have running which forwards it to both Zipkin and Haystack.


zipkin-finagle

Fortunately for us, zipkin-finagle provides functionality for reporting tracing information over a network. This library allows for tracing information to be sent via HTTP, Scribe, or published to a Kafka topic. Creating a new zipkin tracer is simple once you bring in zipkin-finagle as a project dependency:

val config = HttpZipkinTracer.Config.builder()
.host("zipkin-host:80")
.hostHeader("zipkin-host")
.initialSampleRate(0.0)
.compressionEnabled(true)
.build()
val tracer = HttpZipkinTracer.create(config, statsReceiver)

In the Finatra app’s HttpServer class you have the ability to set the tracer and label to be used in reporting by overriding the configureHttpServer function.

override def configureHttpServer(server: Http.Server): Http.Server =
server
.withLabel(“service-name”)
.withTracer(tracer)

After this, sending tracing headers to the service will result in the data being published to Haystack for visualisation. If you’re using Finagle clients to call other services as part of a request, these will automatically be propagated and all your dependencies will show up too.

Haystack tracing visualisation

Dealing with Futures

Finatra and Finagle are designed to operate in a non-blocking asynchronous way, allowing it to scale and keep the overhead of accepting a new request low. There is no global requests thread pool to configure, just don’t block when you’re handling the request. As such, when we are dealing with asynchronous code we don’t have the concept of a single request thread to do things like MDC, which is how you would normally keep track of per-request state such as tracing information.

When using Scala Future[T] we need some way to manually keep track of the tracing information between thread boundaries. We found there was no elegant way to do this without creating a wrapper around Future which copies a context between execution threads. Alternatively you can create a custom ExecutionContext in which the Future can run that provides the same functionality. Problems arise when you use a third party library or some bit of code that doesn’t allow you to define the ExecutionContext or the return type.

Twitter were an early adopter of Scala and provide a util library which duplicates and builds upon the Scala standard library features. This includes the Twitter Future, a cancellable Future with no ExecutionContext to manage and the built-in ability to keep track of a Context across thread boundaries. The Finatra server uses them at the edge and Finagle clients return Twitter Futures too. If you use them throughout your application instead of the standard Scala Future then you’ll get tracing propagation for free, at the expense of being a little more tied into the Twitter ecosystem.


Twitter Service Loader

One thing to watch out for is the zipkin-finagle library defining a service in the META-INF/services folder. Finatra uses Guice for dependency injection and if a library defines a file in the services folder then it will auto-magically be created for you and registered in the service registry. This can make it easier to integrate with Zipkin, you can ignore all the code changes above and instead set some environment variables to let the library create and register the service for you.

In my team we tend to prefer explicitly defining behaviour rather than relying on magic components of frameworks to do this for us. It’s why we moved away from Spring, manually wire everything, try to avoid internal shared libraries and write our own request filter logic.

Once we manually wired the tracer using withTracer we assumed that this would override the one being created from the service loader, but we were wrong. Both were being created and running at the same time, causing the unconfigured default tracer to throw errors (it defaults to sending data to localhost). In order to disable this we have to modify our Docker file to add an additional Java opt:

ENTRYPOINT [“/bin/sh”, “-c”, “exec java $JAVA_OPTS -Dcom.twitter.finagle.util.loadServiceDenied=zipkin2.finagle.http.HttpZipkinTracer -jar service.jar $0 $@”]

This is a bit nasty, we have a hard coded class name in our Docker file and if it ever changes name then it’ll start loading two HttpZipkinTracer instances again. That’s the cost of being able to define the tracer ourselves.


Shameless plug

We are are hiring! If you’re passionate about software engineering and what we do sounds interesting check out our roles!

Career Check-in: Alex Lieu

What differentiates an analyst from a BI Dev?

Alex Lieu | Director Business Intelligence, Lodging Partner Services in Geneva

Tell me a bit about yourself and how you first joined Expedia

My career with Expedia actually started 12 years ago in Seattle, but I’ve spent the past 8 years in the Geneva office. I initially joined as a financial analyst, moved into regional analytics and managed the team there, before transitioning into my current role leading the BI Dev (Business Intelligence Developers) team.

Having fun with my manager at the Analytics and Revenue Management offsite in Geneva

For somebody who is new to the world: How would you differentiate the role of a BI dev to the role of an analyst?

I’d like to start off by saying that what matters most is the commonality between the two;the problem solving capability.

But when it comes down to it, an analyst is a person who tries to identify business trends and to tell a story. A developer finds ways to explore data, build tools and create efficiencies to enable others.

For an analyst interview, the focus might be on answering questions and telling stories with the data. When interviewing a BI developer, I like to understand what tools they have built in the past. For both, I try to figure out if they truly understood the needs of their clients or just followed instructions.

However, it really is a spectrum; the roles in Expedia aren’t so definite any more, and the profile we want depends on the job that the team is going to carry out. Sometimes a more generalist person might be appropriate for a team, but in other times you need a really technical skill set. And it is key to note that you don’t need four people with the same skillset in a team; it’s more important to be able to leverage different skills across a team.

What defines an “Expedia Group” hire to you?

The best hires I can think back on are curious, focused on the problem being solved rather than the official task itself, and are interested in the human dynamic. This is important as often the root of the issue is not immediately clear from the way a stakeholder explains it. It requires both connection with people and grit to solve problems in such a large organisation.

Applying the core problem-solving competencies at the offsite by trying to build a car out of cardboard

I also think a lot of Expedians combine that grit with humour. Across the multiple teams and groups I’ve worked in, there’s been this sense of humour and a lack of ego that underpins the culture.

Do all the Expedia offices have a different atmosphere or is there a global Expedia vibe?

The offices definitely all have a distinct culture based on the make-up of employees. In the offices where we share space with the Account Management teams there is a particularly social and outgoing vibe; smaller ones, like Geneva, are a little more intimate. If you needed to talk to somebody in Geneva, you would always be able to show up at their desk with a question.

And what would your advice be to anybody thinking about moving to Geneva specifically?

Switzerland is a great location in the centre of Europe; it’s super easy to travel from. Furthermore, the Swiss are a very active and outdoorsy nation, so there are loads of activities to get stuck in with. And Geneva is one of the easiest cities in the world to commute around. It’s definitely a bit quieter than London or Prague, but there’s a strong social culture amongst the Expedians who have relocated.

Walking with lions in South Africa; enjoying the perks of my Expedia Group employee travel benefits

What advice would you give to somebody joining Expedia Group today to succeed?

Approaching everything with a problem-solving mentality has been really important for me. Lots of people are excited about getting the most exciting, glamorous, high-visibility opportunity. I’ve had the best outcomes from going for the “messy” problem nobody else wants to tackle and just making it work.

I’ve also had to learn that when somebody is asking you for something, they’re not asking for the “right way” or whose remit it sits within; they want the problem solved. In a big company like Expedia Group it could be tempting to “pass the parcel” but it’s important to have the drive to solve the tricky problems and to take responsibility for subjects.

I’d also say it’s important to understand your personal motivations and drivers, which might change over time. I like my current role as I really value making the life of the people I work with more effective, and that is validation I receive every day. Knowing I add value to my colleagues is really important for me.

Finally, I have found a lot of value from having a mentor; I would recommend every Expedian to sign up for the available mentorship programs. Leadership are generally very easy to talk to and interested to know that junior people are getting on well, and the visibility a mentor gives you across the organisation can be invaluable.

Career Check-in: Grégoire Laurent

From Account Management in Munich to Analytics in Singapore: My reflections on four years at Expedia.

Grégoire Laurent | Senior Business Analyst, Lodging Partner Services in Geneva

What a journey it has been since I joined Expedia at the start of 2015! Given the wide range of teams and offices around the world and culture of inclusion and exchange, it is no surprise that my career has also been varied.

Chapter 1: Munich | Skillset: German + Account Management

Interested in improving my German-skills, I applied for a role within an Account Management team looking after German speaking part of Switzerland. The interview process was longer than I was used to but each step was worth the time as I got to know my future colleagues and the role I was applying for. I liked the culture and energy of the people from the beginning.

Although I was the only non-German native speaker I was choosen on the potential and mindset I showed during the interview process. The team organized German-classes and took the extra time to help me with this new challenge. After a few months I was able to pass my C1 and work more proficiently in German.

Sunset ride with partner after a successful market visit in Zermatt

From day one in Munich, I was lucky to meet people I still consider mentors. These Expedians encouraged me to take time to think about my career plan and objectives so that I could truly follow my passion. By attending regular onsite and offsite training with the wider DACH and EMEA team I was able to develop skills which I knew would become extremely valuable for the future.

Chapter 2: Geneva | Skillset: Analytics

After 2 years in the Munich office I found myself spending more and more time travelling back to Switzerland for private and professional reasons. I had discussions with my manager about a move back.

The perks of working in Switzerland

Evolving within my role, I also began to realise that what I like the most and what I was the most interested in was the data (I have always been more of a numbers person) and therefore started learning on my own time some of the hard-skills needed to aspire for more analytical positions. After a few months I finally decided to discuss with my manager about my interest to get more exposure to analytical roles.

A key for me to be able to make this career change was the opportunity I was offered to spend a few hours every week on a cross-departmental project. This allowed the manager in the Analytics team to test my skills and interest, whilst I could discover if the work was really of interest to me. Two months later after a very successful 1st project I was offered a role in the Regional Analytical team.

This new role started with a very intense period of exponential learning, surrounded by very qualified and talented colleagues. It’s vital to be able to adapt quickly to new situations and learn new skills on the job. However, the reward for me was far greater than the challenge. Expedia Group invested in me and gave me time to develop myself. Surrounded by talented colleagues, I always had resources to learn from.

Enjoying the local food in Singapore

Regional Analytics, what do you do?

Our role in in the regional analytics team has two sides:

  • Support the Sales and Marketing Leadership teams within our SuperRegion (EMEA, APAC, LATAM or AMER)
  • Support Global projects and initiatives at the core of Expedia Group strategy

The Regional Analytics team is just team within the wider Expedia Group Analytics & Revenue Management department. Expedia Group has data in its DNA and therefore I have had many opportunities to learn from now datasets, applications and analytical technics.

Chapter 3: Singapore | Skillset: Culture + more Analytics

The view from the Singapore office

I have always been passionate about opportunities for career development, training and learning. When the Analytics department launched committees in early 2018 to make sure that Expedia is a great place to work I jumped at the chance to get stuck in.

The committee I worked on implemented a Mobility Program with colleagues from the US and Asia; after a few months and presentations were able to get a green light from the Analytics Leadership to launch a program worldwide that would allow analysts to get experience across the globe.

I was lucky to be one of the first employees to be part of the new program; spending a few months in Singapore to cover for two colleagues taking their paternity leave – 3 months each (Generous paternity leave is yet another great feature of Expedia Group! 😉).

Career Check-in: Fabio Carta

Fabio Carta | Market Manager, Lodging Partner Services in London

Has it ever happened to you when you’ve attended one of those university career fairs and you try to make sense of the endless opportunities, industries and jobs that are right in front of your eyes? Rather than helping, it confuses you even more! Well, it’s at one of those job fairs where I met the Expedia Group (at Bocconi&Jobs Careers Fair in Milan) and it was Expedia that helped me take the first step to get some clarity out of this confusion and build my career path.

I wanted to be part of it! After a round of interviews, I was offered an internship and, after 4 years and 3 different cities, I’m still an Expedian and now Market Manager in London.

I still remember that day as if it was yesterday. The local team in Milan introduced me to the Expedia family and I was soon captured by the company’s vison: “We are the world travel platform. Our purpose is to bring the world within reach.”

But what does a market manager do? As a Market Manager, my primary responsibility is to initiate, develop and maintain a high-quality portfolio of accommodation providers (hotels, B&Bs, guesthouses, vacation rentals, etc.) for Expedia’s global customer base.

How do I do it? I spend the majority of my time in calls and meetings with these potential partners explaining our value proposition, understanding their needs and aligning Expedia Group’s strategy with their strategy. To achieve high quality, I work closely with internal stakeholders such as the legal, marketing and operations teams: together we set up our partners for success.

Expedia Group is not a company for everybody.

It’s the place for winners: We dream big and we go through constant changes, so this creates a need to continuously readapt, re-prioritize our tasks and set new goals. In market management, we spend a good 10% of our time planning our strategy for the day, week, and month.

It’s the place for humble people: Nobody has all the answers so we are active listeners!  We ask for regular feedback and build development plans. In market management, we have weekly team meetings where we look into performance and best practices; we have weekly trainings where we learn new skills and enhance our knowledge; we have catch-ups and one-to-ones, where we ask for feedback and help each other solve problems.

It’s the place for team players: We work in teams and every decision we take affects not only our close colleagues, but also our customers, our partners and many other stakeholders. When we add a new property to the marketplace, this property (with all its amenities, its rates, its reviews) is available to more than 670 million monthly visitors and needs to be traded by more than 200+ travel booking sites. We can’t play solo!

If you tick all these boxes, you might become the next Expedian!

How CarRentals.com Encourages Professional Growth with Side Projects

Originally published on the Expedia Engineering blog, February 14, 2019

Continuous Learning

Part of my role as CTO at CarRentals.com, an Expedia Group company, is to train and develop my engineering team. I’m a believer that the best way to learn is through hands-on experience. And the best motivator for hands-on experience is doing work that you’re passionate about. I’ve found side projects keep me engaged and knowledgeable about upcoming technical trends. I’ve been fortunate to have had managers at Expedia Group who support my continuous learning. They realize that this makes me a stronger contributor in providing practical guidance within my team.

My passion is around voice technology, and most of my side project work has been with Alexa and Google Assistant. These platforms provide generous credits for their corresponding cloud platforms. This has encouraged me to do even more prototyping and exploration of different, emerging technologies.

Cloud Cost Reimbursement Program

At Expedia Group, we make extensive use of cloud technologies and infrastructure. We’ve developed a world-class set of tools for deploying and managing our solutions at scale. To give my team a solid understanding of cloud technologies, I wanted to encourage them to work on projects in their personal accounts. To do this, last year I launched a “Cloud Cost Reimbursement” program for CarRentals.com. Like the programs I leverage for voice app development, this program reimburses $50 monthly towards any cloud provider. I only ask that people share with me and the team what they were working on and takeaways from their projects.

So what have the results been? Since launching this program I’ve seen:

  • Program Managers with minimal coding experience self-teach from online courses
  • An engineer create a website for his upcoming wedding. He did this to learn Koa, which he then convinced the team to try for a new project
  • An engineer and analyst on the team explore machine learning with Amazon SageMaker
  • An engineer learn about serverless programming by setting up some jobs to run and manage on their own

It’s been a successful program and demonstration of the continuous learning principles that we espouse at Expedia Group. I’m looking forward to seeing what the team produces in 2019!

Career Check-In with Sarah Sandiford

Come join us as we adventure around the Hotels.com global offices and meet our team to discover more about their day-to-day roles, exciting projects, great teams and, of course, their passion for travel.

Sarah Sandiford | Associate Social Community Manager | Hotels.com | London

  • What area of Hotels.com do you work in?

I work in the global social media team, which sits within the brand org – my team neighbours are PR and Brand. In my day to day role, I manage our EMEA social channels including Facebook, Instagram, Twitter and YouTube. From creating content to partnering with influencers, my role is fast paced and very creative.

  • What do you enjoy most about working at Hotels.com?

Ooh that’s tough to just pick one! My top three would be:

  1. The amazing teams I work with: my colleagues may be based all over the globe, but we are actually a tight knit bunch! From working on a big collaborative projects to motivating one another with ‘out there’ ideas and of course, we always make sure to catch up on the latest Peaky Blinders episode.
  2. Wealth of knowledge: Working in the fast moving world of social media, it’s constantly evolving. Since joining Hotels.com, I’ve learnt more about this industry in the last six months, than the last two years of my career.
  3. And being honest? The travel inspo! My destination bucket list has been ever growing since I joined.
  • Tell us about a project you are most proud of and why?

As Social Media Manger of EMEA, I look after our global Instagram account. All the snaps we share on our grid are from our internal staff – that’s right, our amazing grid of travel inspo images are all shot by our employees around the world. We really do live to travel.

Showcasing their passion for the next adventure and uncovering hidden travel gems, being able to share that with our followers is incredible. Our finance team seem to live the best adventures and their photography is pretty impressive!

  • Tell us about a manager who has supported your development? And how?

Since the get-go, my manager has given me the confidence to in putting ideas forward – however small, big or silly. It means that I’ve been able to crack on with projects and in my short time here, really carve out new strategies and campaigns. This also applies to senior management, I feel completely at ease asking for help or sharing feedback on certain projects.

  • How do you balance work and life?

Knowing when to switch off. Social media is always ‘on’ and it’s hard to completely log off – but making time to unwind and disconnect is important. Spending time outdoors or getting lost in a good book on my commute are my social free moments. Well, I try.

  • What is your most memorable travel experience?

Spending two weeks exploring Cuba. Understanding their way of life and soaking up the culture, to those incredible white sandy beaches where the coldest drink on tap is a Havana rum mojito. Bliss.  

From git to Teaching Git

Amanda Olsen | Software Development Engineer | Expedia | Chicago

According to the 2018 Stack Overflow survey of 100,000 developers across the globe, 87% use Git. But do we know what git is? I thought I did, until my non-technical British friend informed me how hilarious it was that I use Git. “Git” it turns out, is British slang meaning a contemptible, stupid, annoying, juvenile, silly person, usually a male. Thanks Linus for bringing such positivity into the daily workflow of practically everyone! And yes, it’s in the source code of Git: Linus chose the word fully intentionally.

Fortunately however, I have graduated from being a git to teaching Git to thousands. I share this story to encourage developers to branch out (pun intended!).

I initially wanted to teach Git because I was bad at it. I was a git at Git. I wasn’t clear on what exactly was happening when I rebased or merged. For the same reason, I wasn’t clear on the advantages and disadvantages of each. The concept of “what story do I want X branch to tell” was one I had never considered, i.e. the concept of building a usable history. Repo theory and the major workflows I was unfamiliar with. Several best practices I had yet to encounter (e.g. rebase locally, otherwise known as a squash, before pulling using rebase so that this rebase process is simpler and more efficient). The limits and best uses of git reflog were also unclear to me, despite the fact that I used it somewhat regularly. And how Git actually manages content was opaque to me. There are many, many more things I could list.

The best way to master something is to teach it, because you have to learn so much more than what you actually teach. (And because students will ask you questions you don’t know the answer to!) When I started prepping to teach Git, one developer told me he couldn’t imagine needing more than one hour to teach Git. Another developer told me he couldn’t imagine needing a class at all! For him, using Git is like walking. You don’t need to teach anyone to walk! Keep that in mind as the story continues.

Last fall, I taught a Git 101 class here in the Chicago office for Expedia Group employees. Then Freddy Guime encouraged me to lecture on the topic at DevNexus that March. They wanted Intermediate Git, so I had to change scope, research more, and update my content. At DevNexus, I got recruited by Pearson/O’Reilly. While DevNexus only needed a one-hour lecture, Pearson needed a three-hour course, so again I expanded scope and researched and learned more. (And yes, as I mentioned in a previous article, part of this was grueling.)

In my first iteration of Intermediate Git for Pearson/O’Reilly, I had between 350 and 500 students. And in my second iteration, I had 560. In both cases the class size maxed out and, for the second, there was so much interest that they made a special exception to allow more than 500 registrants. These were three-hour courses focused on only a subsection of Git concepts.

My trajectory of “from git to teaching Git” was: I wanted to learn, Freddy intervened and took it to the next level, I put in a ridiculous amount of hours, and I have found myself an O’Reilly instructor. View my October 29 class. The high-level topics of this class were:

  • Learn the differences, advantages, and disadvantages of merge and rebase
  • Intelligently converse on why you should choose merge or rebase
  • Create and use aliases, if desired
  • Differentiate between a few primary workflows and their benefits
  • Interactively rebase, i.e. squash commits
  • Set up an external editor
  • Rebase a local branch onto another local branch
  • Update a local branch from a remote branch using rebase
  • Move forward, backward, or sideways in time to get out of a jam or just to use Git to its full creative potential

Because this has been such a rewarding and broadening experience, I want to encourage developers, for whom teaching is comfortable, to take it to the next level, at least once. Just give it a try. Like Freddy got me out of my comfort zone which in turn got me to a really good place, consider other expressions of being a developer. Teaching may be the most potent way of learning.

So, uh, don’t be a git, but learn and exploit Git to the fullest!