Senior Android Developer
2019 - 2020Voi Technology AB- Migrated the legacy codebase into modern and coroutine-based reactive Kotlin code. The project took three months to develop but in the end it allowed us to iterate 2.4x times faster than before (about 3.1W vs 7.66W before per feature).
- Developed a new Mapbox-based map layer which rendered independently from server responses and improved our TTI (time to interact) by more than 350 milliseconds.
- Researched instruments and options and picked Flutter when creating a new employee application. That allowed me to iterate faster while being alone, comparing to two other developers who worked together on the same project.
- Improved Agile processes in the team, resulting in a reduction of unnecessary meetings, better product owner awareness on progress, and enabled new tools for project scope visibility.
- Helped iOS engineers to set up continuous integration and continuous delivery using CircleCI.
Technologies: CircleCI, Mapbox, Dependency Injection, Coroutines, Kotlin, AndroidAndroid Developer
2018 - 2019Rebtel Networks AB- Led a development team of three Android engineers when creating a brand-new fintech banking app from scratch in very strict deadlines.
- Introduced Kotlin to the codebase by writing about 400 tests following the language's best practices and showcased them to the team.
- Created a feature toggle mechanism from scratch, bundling it into a legacy app that allowed us to remove dead code and canceled experiments 7x faster! (3D vs 3W before).
- Led Material Design discussions with the lead designer which helped us to build a visually stunning custom application while keeping the native Android UX.
Technologies: Material Design, Firebase, Reactive Streams, Dagger 2, RoomDB, Code Architecture, Kotlin, RxJava 2, AndroidLead Android Developer
2017 - 2019Urbest- Migrated an old and slow legacy Java app into Kotlin, reducing the lines of code (LOC) from 58,000 to just 19,000.
- Introduced dynamic module loading into native Android by splitting DEX files and ordering them by the module requirements. That improved our TTI (time to interact) by more than 1,300 milliseconds.
- Initiated the research and A/B testing on a small number of users to drive UX and UI discussions by metrics without being subjective.
- Participated in the launch of a React Native app rewrite (ClojureScript and React Native) while maintaining, extending, and bug-fixing a Kotlin version in parallel.
Technologies: ClojureScript, Clojure, React Native, RxJava 2, GraphQL, Kotlin, Android