Projekt‐ & Berufserfahrung
12/2017 – offenTätigkeitsbeschreibung
● Member of the guidance scrum team, implementing turn by turn navigation features in a large scale codebase with C++.
● Implemented a configurable triggering system for audio instructions in C++ and integrated it with the Android text-to-speech service. Used TDD to develop a well tested/designed component.
● Contributed in a greenfield project to develop a state of art guidance engine in C++, that uses complex map data, heuristics and geometry to generate turn by turn instruction. Documented incremental decisions using ADRs.
● Improved the driving experience on highways by reducing the number of redundant guidance instructions by 40%.
● Designed and developed a regression testing framework with Python to compare guidance instructions and visualized the results in Google Earth. Provided analytic information about quality of guidance instructions.
● Implemented visual guidance features in a MVVM Android application using Kotlin and thoroughly tested it with unit and integration tests with JUnit, Espresso and Mockk frameworks.
● Onboarded and coached new joiners.
● Served as a Scrum master by facilitating scrum ceremonies, experimented with TDD and mob/pair programming
● Improved the performance of the app by 30% by lazy computation of instructions using C++ and profiled the app using Android studio and callgrind.
● Led the migration of 500 UI tests to a new API by facilitating and distributing work in 3 teams. Used Python to extract information from JUnit and Jenkins.
● Maintained a large scale legacy codebase which includes analyzing/triaging/fixing bugs and implementing features in the domain of turn by turn navigation.
● Technologies: Git, JUnit, Gtest, Espresso, Cucumber, Conan, CMake, Gradle
● OS: Linux, macOS, Android
● Other: Scrum, TDD, mob programming, pair-programming