Video available: http://www.youtube.com/watch?v=zCy077_dyJo&feature=youtu.be
Since 2005, Indeed has created and cultivated a strong engineering culture with a focus on ownership, real-world impact, and constant incremental delivery. Our experience has demonstrated that rapid iteration is essential to discovering the most valuable functionality for our users. In the next @IndeedEng talk, Dan Heller will share some of the architectural solutions, tools, and processes Indeed has created to support constant incremental delivery of new features and enhancements.
Speaker:
Dan Heller has been working in software development for 13 years including time at Google, IBM, and long-forgotten startups. He has been at Indeed for the last 4 years, helping people get jobs by building products for Indeed’s employers and advertisers.
35. High Performance SOA Framework
Boxcar
Image used with permission of O Scale Trains Magazine (oscalemag.com), photo credit Don McFall of Old Line Graphics
http://go.indeed.com/boxcar
37. Represent complex data types
Extremely compact and performant
Forwards and backwards compatible
Boxcar: API Compatibility
38. Boxcar: API Compatibility
Request and response data encoded as
Protocol Buffers
Compatible evolution of service interfaces
Reduces release order dependencies
53. Option: Shared Code Libraries
Reduced flexibility of technology decisions
Requires a release of all projects
Occasional inconsistent user experience
68. ● One code base for mobile web, iOS, Android
● Simultaneous release of features across
platforms
Shared Code Across Platforms
69. ● No waiting for App Store approval
● No waiting for job seekers to upgrade
Release On Our Own Schedule
70. Easy To Run Experiments
● A/B testing in native apps extremely
challenging
● Reuse existing infrastructure for performing
and evaluating experiments
73. one search. all jobs.
una búsqueda. todos los empleos.
Jedno vyhledávání. Všechna pracovní místa.
Ein Klick. Alle Jobs.
一站搜尋,工作齊全
tek arama. bütün işler.
uma busca. todos os empregos.
één klik. alle vacatures.
あらゆる仕事 まとめて検索
una ricerca. tutti i lavori.
84. Human Translation Service
Tuesday afternoon:
Commit Code
Fetch Machine Translations
Request Human Translations
Wednesday morning:
Retrieve Human Translations
94. Real-time monitoring with Datadog
● Agent reports summarized data
● System and customized business metrics
● Customizable dashboards
95. Healthcheck Framework
● Applications and services report internal
state & health
● Divert traffic away from unhealthy instances
● Disable features for failing dependencies