Hotels.com at dotSwift 2019

Lewis Luther-Braun | Hotels.com, London

Photo provided by dotConferences

In the last week of January, two engineers from the Hotels.com iOS team went out to Paris, to partake in the 5th annual dotSwift conference. For those who don’t know what a dot conference is, let me bring you up to speed. dot-Conferences are the equivalent of TED talks but more focused on topics from the tech industry; there are 7 different flavours of dotConferences: dotSecurity, dotScale, dotAI, dotGo, dotCSS ,dotJS and our very own dotSwift conference.

It was a great day to meet with other engineers from across the industry, as well as meeting other engineers that work within the Expedia Group — namely, members of the iOS team from Traveldoo in Paris.

The day was broken into 3 sets of talks with breaks between them.
The talks ranged from the sublime, how ‘pure swift’ apps aren’t really a thing as they all rely on the Objective-C runtime and ways of embracing Objective-C (instead of trying to get rid of any mention of it as fast as possible), to the ridiculous, such as a proposal on why you should use unicode characters in your code for method and variable names.

I feel like I should give this one a bit of explanation: 
The talk was far from suggesting that you do something like this;

⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⛵️⎈ ⬅

to tell your boat object that it should steer left. That notation could probably get away as a contemporary art piece but it’s definitely not useful as a standard for a naming convention. Instead it focused on scientific modelling and using the same notation that equations have, such as using Σ(sigma) for sum and λ(lambda) for wavelength as function and variable names respectively. This makes sense if you’re working with physicists who don’t want to look at long function names (no matter how descriptive they are) and also gives them an opportunity to debug the algorithm as opposed to your code.

Photo provided by dotConferences

It was brilliant to hear ideas from some very talented individuals — we even got to hear talks from people working on open source projects at Apple, such as SwiftNIO (an asynchronous event-driven network framework)— which gave real insight into what problems they were encountering and how they went about solving it.

As well as the main talks there were a number of lightning talks given by members of the Swift community. These were super quick talks that were straight to the point, often providing points of thought or presenting useful approaches to problems or tips.

Photos of the talks are available at https://dotswift.io.
Videos are available to watch: https://www.dotconferences.com/conference/dotswift

I’d highly recommend giving them a watch — maybe you’ll find a solution to an issue that you are currently encountering or learn something new.

Common Tools & Services equals Developer Collaboration which in turn empowers Productivity!

Tammy Stockton | Sr Product Manager in Bellevue

As a Sr. Product Manager of Developer Collaboration and Productivity for Expedia’s IT organization, I’ve been participating in a Common Tools & Services initiative. But, lets back up about a year. In 2017, I had the opportunity to sit down with Technology Leaders across Expedia Group. In these discussions, I listened and they talked, mostly about developer pain points within their pipelines and processes.  I was noticing some real themes here:

  • Lack of transparency across development teams
  • No common development tools
  • Lack of a centralized pipeline
  • Development teams are siloed and want to collaborate
  • Developers want to focus on building great Expedia products

These common themes uncovered a common problem which led to a common solution… Developer Collaboration & Productivity via Common Tools & Services. As a developer, collaboration and productivity were the primary themes here. After doing some analysis, there was also some underlying redundancy. Decentralized development tools incur redundant costs. Costs like:

  • Infrastructure costs
  • Administrative costs
  • Maintenance costs
  • costs, costs, costs

Well, with a blessing and the support of Expedia Group leadership, this led me on a mission to provide the best in class development tools that facilitate collaboration and productivity via Common Tools & Services for thousands of Expedia developers. Let’s consolidate…One Team, Group First!

Welcome Artifactory, Same but Better

You have to start somewhere and Artifactory was the test for consolidation to improve developer collaboration and productivity. After all, Artifatory is the same but better! Right? Having many flavors of “Binary Repository Managers” at Expedia, I and a few Engineers rolled out and have been successfully paving the way to consolidating development teams, providing common tools, and reducing redundancy and overhead costs.

Hello Github Enterprise – Goodbye Bitbucket

They say, “Coders Gonna Code” and with Expedia Group developers operating out of a variety of source code instances, with different tree structures and limited access across these instances, they do code… but they lack collaboration, and in turn, this impedes productivity. By means of persistence and facilitating the collaboration of a group of influential Tech leaders across Expedia, we collaborated on a plan for consolidation onto a single Github Enterprise for Expedia Group. This was a task I was not super confident about at first. In fact, for quite some time the “Octocat” haunted me in my sleep. Well, I’m excited to say we are well on our way to closing the gap on siloed development practices.

A Continuous Delivery Pipeline

It was a “build your own” world with a variety of home-grown solutions that lacked speed, transparency, quality, and compliance controls. A group of us from Expedia’s eCommerce Platform group conducted some working sessions with key technology folks supporting their own flavor of a Delivery Pipeline, and after much debate and testing, we landed on a solution right under our noses. As Brand Expedia Group’s Cloud Acceleration team had been supporting a very mature pipeline “Kumo” (which means “Spider (nature’s preeminent Web builder) and Cloud”). It was a no-brainer that we should engage this team on adoption and testing application deployment.

The adoption of Kumo across Expedia Group is a win/win as Kumo does also facilitate common tools & services which leads to developer collaboration, and in the end, we have happy, productive developers.

Now, this is a theme I can get onboard with! I’ve got to go now as I have much more work to do to continuously improve Expedia Group’s Developer collaboration and productivity. Stay tuned for more on Common Tools & Services at Expedia Group.