Merkurev Dmitrii
Employment history
August
2021 — Present — Senior Software Engineer (Android), Google, London,
UK
Key contributions:
- Device bring-up
- Cuttlefish
- Android FW (u-boot, UEFI)
- Linux Kernel (fuse-bpf, erofs)
OS contributions:
https://android-review.googlesource.com/q/owner:dimorinny%2540google.com
September
2019 — August 2021 — Lead Software Engineer (Android Framework), Yandex,
Moscow, Russia
Yandex.Auto is a one-of-a-kind infotainment platform for vehicles
that integrates Yandex services, such as navigation, music, radio, and a
browser, with a high degree of vehicle integration, delivering an
exceptional driver experience. It is integrated into the largest
car-sharing service in Europe, with over 16,000 vehicles just in Moscow.
In addition to car-sharing, Yandex.Auto has been integrated into various
car manufacturers in Russia, including Avtovaz, Mitsubishi, Geely, and
others.
Key contributions:
- Led the team of 4 Software Engineers responsible for providing
system experience (such as audio, Bluetooth, integration with the
vehicle, and other platform-related stuff) for Avtovaz (Renault)
integration. Our efforts have resulted in the successful development and
release of infotainment systems for three distinct Avtovaz vehicle
models, bringing financial stability to the team, which opened up
opportunities for further integrations.
- Participate in inter companies level meetings with vehicle and
hardware manufacturers to discuss future integrations, defining scope
and enstablish deadlines
- Came up with infrastructure initiatives. I led an internal
infrastructure and development experience team that successfully
achieved the goal of setting up automation processes of building
firmware and release chains for our crucial projects. As a result, we
provided automation tools that our QA team is still using for building
and releasing firmware instead of manual processes which saved a huge
amout of QA and development resources.
Technical stack: Android, AOSP, Java, Kotlin, C++,
Ansible, Docker, Bash, SELinux
May
2018 — September 2019 — Senior Software Engineer (Infrastructure),
Avito, Moscow, Russia
June
2017 — May 2018 — Software Engineer (Infrastructure), Avito, Moscow,
Russia
Our infrastructure team has been responsible for providing the best
experience for our product teams. Also, we were the main participants of
company level OCR of eliminating manual testing processes and speed up
release cycles by providing automatization tooling.
- Tight communication with different company units. Most commonly I
have a shared area with product, hardware, QA, network teams
- Make and support CI pipelines
- Were fully responsible for tests running infrastructure
- Providing tooling for QA team (development and maintenance of the
company’s shared library for UI Android testing by Google Espresso)
- Make and support performance measurement instruments for mobile
applications
- Developing Bitbucket plugins for company needs
As a result, we have grown from zero to thousands of integration
tests and improved time-to-market from several months to per-week
releases. Our team organized internal meetups with infrastructure teams
from other Russian companies where I was happy to share our approaches
and experience in this area. Finally, we open-sourced all products we
developed with the documentation for transparency and tech PR
purposes:
https://github.com/avito-tech/avito-android
Technical stack: Android, Kotlin, Java, Python,
Gradle, Docker, Kubernetes, Bash
July
2016 — June 2017 — Android Engineer, Avito, Moscow, Russia
Developing an Android application. Used Kotlin programming language
and reactive approach for building all application layers
implemented.
- Participate in developing application architecture
- Automation and developer experience tools
- Tight communication with design and backend teams
- Developing and maintaining shared application components
Technical stack: Android, Kotlin, RxJava, Docker,
Bash
January
— May 2015 — Android Engineer, Mail.Ru Group, Moscow
Developing an Android application that allows effective employees’
communication, planning of duties and tasks, approving or rejecting
company cost items. Also, it provides information about employees, their
devices, etc.
- Implementation of the system to store client certificates
- Customization of application for large amounts of data
- Providing safe storage of valuable data for the company
Technical stack: Android, Java, RxJava
Public activities
- Android CI: Impact Analysis (Russian) (link)
https://youtu.be/EBO2S9qcp0s?t=6946