Skip to content

Thomas Ezan

Lyft

Thomas is a French Android Engineer. For the past 4 years, he has been in Lyft’s Growth team. He is currently based in Seattle, WA.

Inteview image for Thomas Ezan

What led you to become a developer?

I've always been fascinated by the creative process. If I didn't study Electrical Engineering and Computer Science, I would have become an Industrial Designer. What tipped the scale in favor of Computer Engineering is the ability to implement a program, create an application, craft experience, and make it instantly available to the world.

As a Mobile Engineer, it's thrilling to think that I helped build an application that millions of people carry around in their pockets. There is something magical about witnessing an idea come alive by writing code.

What’s your setup and development environment?

I am an Android Engineer, but I switched from Linux to Mac more than a decade ago. I currently use a 15 inch MacBook Pro.

I generally go back and forth between 2 or 3 screens, one of them projecting my laptop. My ideal set up is to have the IDE on the biggest screen facing me with a few panes open, the browser on the smaller screen, and then slack, terminal windows, and everything else on the side screen.

A few years ago, I bought a Filco mechanical keyboard from a coworker. Despite being a bit loud, it makes typing such a satisfactory experience!

In terms of mobile devices, I have been using Android pretty much since the beginning. My first Android device was the very first Samsung Galaxy. I am currently using a Pixel XL 2. It takes fantastic pictures and gets the OS updates as soon as they are available. I have a habit of keeping all my smartphones. One day, I might open a museum!

My dock is pretty minimalistic. At Lyft, we use IntelliJ for Android Development because it supports the Buck build system). Besides a web browser, that is really the only application I need to be productive. I also have Slack's desktop app installed.

I sometimes have Spotify and the desktop app version of PocketCast open in the background. I use Radium every now and then when I want to listen to the news. It's a Mac app with live feeds from radios all around the world. I’m from France and grew up appreciating listening to news and perspectives from around the globe.

And lastly, although I frequently have my headphones on when I am seating at my desk, it doesn't always mean that something is playing. I’ve found that it’s a great way to focus, signal productivity, and prevent interruptions.

What’s your favorite stack to work with?

At Lyft, we transitioned from Java to Kotlin last year. After years of coding in Java, it is really refreshing to use a more modern language. Java 8 introduced Lambdas and some of the Functional Programming concepts along with improvements to the collection API. Nevertheless, Kotlin is significantly less verbose.

Besides, we heavily rely on the Reactive Programming paradigm. It can seem intimidating at first, but it's extremely powerful when used properly.

Very early on, Lyft embraced the Single Activity Architecture and we implemented our own CoreUI framework, Scoop (https://github.com/lyft/scoop). We aren't using the Architecture Components or any of the new Navigation API.

What are your top 5 go-to repos?

github.com/google/iosched
Every year Google releases the code of it's Google I/O Schedule application. This app can be seen as the best in class using new code architecture and the new Android APIs. You can learn a lot by just browsing the code.

github.com/googlesamples
Similarly, Google publishes a lot of sample code illustrating new APIs or new OS features. When you start investigating a new feature from the Android OS, it's always worth looking at the google sample repo.

github.com/wasabeef/awesome-android-libraries
Years agopen-sourcee called AndroidViews was cataloging open-source Android libraries. This site went away but the repo awesome-Android-libraries is the best attempt at replacing it.

github.com/Kotlin/kotlin-koans
Kotlin-koans is the Kotlin version of Ruby Koans. It helps you learn the syntax and the specifics of the language. You can even try it online.

Besides those repos, the official developer.android.com site has a trove of valuable content. The newsletter androidweekly.net is also a great source of news, technical blog posts, and open source libraries.

What technologies are you most excited about now?

As surprising as it sounds, I am very excited about Flutter! Mobile Engineers are generally resolute detractors of ‘anything that isn’t native.’ I was never convinced by React Native. It solves some problems, but create new ones. With Flutter, however, Google is providing a very elegant cross-platform framework. It is still early and while Kotlin/Swift and native development are not going anywhere anytime soon, I wouldn't be surprised to witness Flutter grow significantly in the next 2-3 years.

What does your ideal workflow look like, from messing around to production?

At Lyft, Client Engineers members of Feature or Growth teams are fortunate to benefit from the work of Core and Infra teams. Most of the infrastructure required to create a new screen flow or update an existing one is already there. Moreover, Lyft's thoroughly documented Design System enables us to maintain UI consistency.

As a result, we can ship fast. In addition to the QA process, new features are beta-tested for a week and we start a controlled rollout while monitoring both business-wide and team-specific metrics.

What are you currently learning?

I am reading a lot about Growth Engineering. I had the chance to be part of Lyft's Growth Team at its inception and we have since had very seasoned Growth experts joined us. It is a discipline that forces you to be nimble and to iterate quickly while remaining dependable and precise. It also forces you to be creative and think out of the box. It’s been a rewarding experience to focus on and develop a deep knowledge of Growth.

What project are you most proud of?

Lyft Seattle Office 2:

A few years ago, a team of us shipped Round Up & Donate. It’s a feature that enables you to round up the fare of your ride and donate to a cause you choose. To date, passengers have donated more than $14M. It is fantastic to see how our rider community embraced this feature, and see worthy causes benefit from their generosity.

What are beginner developers not learning that is critical in this day and age?

A good CS background is important, but as a junior engineer, learning how to navigate a big organization can be challenging For example, how to identify new project opportunities, how to make your work visible, how to think about career development, influence without authority, etc.

Finding mentors who have institutional knowledge and experience is key. It doesn't have to be a formal mentorship relationship, either. Simply identify people inside and outside of your company who have been through similar experiences, reach out, and chat with them on a regular basis.

What tech challenges are you facing at your company?

The Mobile Team has grown tenfold since I joined in 2015. Engineering at Lyft is very decentralized and bottom-up, which has enabled us to remain very productive as the team expanded.
However, it has become increasingly important to maintain proper communication channels between teams and identify a process for efficient work coordination.

What music do you listen to whilst developing?

Anything you want to promote or plug?

I recently came across Julia Evans' zine: Help! I have a manager. It’s light, fun, and helps you see your work environment through the eyes of your Engineering Manager.

If you are into podcasts and want to know more about the Mobile Team here at Lyft, check out our Lyft Mobile Podcast.

Interview image for Valera Zakharov
Valera Zakharov

Slack

Valera leads the mobile developer experience team at Slack. Prior to Slack, he worked at Google on the first few versions of Espresso (among other things). Valera likes cake and hummus, but not necessarily in that order.

Interview image for Beau Lebens
Beau Lebens

Automattic

Beau is an Australian-born PHP and JavaScript developer who has worked in the WordPress space for 10 of the 20 years he’s been coding. He spent the last few years managing teams delivering the Jetpack plugin to millions of WordPress sites and is now working on WooCommerce.

Interview image for Martin Konicek
Martin Konicek

Synthace

Martin is a software engineer based in London. He currently works at a biotech startup called Synthace. Previously he was on the core React Native team at Facebook.

Be the first to read new interviews just like this one with Eduardo San Martin Morote. from top developers.