Objective
A software developer position.
Highlights
- A software developer with a wide range of expertise, from embedded systems to front and
backend Web and native GUI development.
- Current emphasis on Web technologies using JVM languages. Comfortable with the frontend Web
development. Full stack development experience. Geospatial front and backend experience.
- Keywords: Java, Python, C, C++, JavaScript, geospatial, Web backend, Web frontend, Spring,
Swing,
Android, Linux, GUI, embedded systems, jQuery, Backbone, Bootstrap, Docker, AWS, PostgreSQL,
Spark,
HDFS, Hadoop, Cassandra.
- An expert UNIX engineer.
- A proficient network engineer.
- A proficient performance engineer.
Work Experience
May 2016 - Present. Uber. Senior Software Engineer.
A software developer working on the Uber mapping platform.
A few projects that I have completed in this role:
- I am currently working on a custom geospatial database based on Apache Cassandra. I have
created a publish-subscribe framework for the update notifications. Developed a push
notifications framework and a UI for visualizing updates on a map.
- I have built out a continuous integration/continuous deployment pipeline for the team
products.
- I have developed from the ground up an application to support a reliable ingest of imagery
and
metadata collected by the car-mounted sensors in the field into a cluster based distributed
filesystem. The application uses a RESTful backend and Web frontend (Java, Jersey,
Backbone.js,
Bootstrap, HDFS, Spark). The functionality of the application can be summarized as an
"Ingest
Operator Workstation".
- I have developed a number of Spark cluster based jobs to mutate the ingested data.
- I have refactored, implemented and assumed ownership of a Maven based CI build for the
existing code
base.
- I have been working with junior team members in the advisory role on a number of other
projects.
February 2012 - May 2016. DigitalGlobe. Senior Staff
Software
Engineer.
A software developer working on a satellite imagery processing and Web delivery platform.
A few projects that I have completed in this role:
- Developed a highly scalable and reliable backend processing architecture
used throughout the organization.
- Designed and developed a satellite imagery order processing system. Provided
technical leadership to a team.
- Performed a major refactoring and development of an internal satellite imagery
processing workflow to enable massively larger workloads.
- Led development of a client SDK for a Geospatial Big Data product.
As a senior software developer I have also:
- Initiated the use of Liquibase in the organization which helped solve numerous database
development and deployment problems.
- Won two organization-wide hackathons.
- Championed a number of software development best practices.
October 2005 - February 2012. Seagate Technology. Staff
Software
Engineer.
Architected and played leading role in the development
of a hard disk drive testing platform. The platform supported a wide variety of ARM and Intel
based
hardware with Ethernet and USB connectivity. The platform used client-server architecture with
custom embedded Linux running on the target hardware, generic Linux distribution running on
servers, and Windows running on client desktops. The platform was deployed on hundreds of HDD
test
stations in Seagate factories and design centers.
Some of the highlights of this effort:
- Provided a vision and architected the application as a whole.
- Developed the host server layer (Java).
- Developed the GUI client (Java/Swing).
- Developed a number of Web applications for test data access and management
(Java/Servlets/MVC).
- Developed software modules interfacing with a variety of hardware
devices, such as environmental controllers, power system simulators, power margin cards,
error
injection boards, etc. (Java).
- Developed the embedded target software (Python).
- Created a custom Linux distribution for both embedded target hardware platforms (Intel and
ARM).
- Completed ARM Linux kernel port to a proprietary embedded board (XScale IOP321, ARM Linux
2.6, C).
- Developed Linux kernel drivers for embedded Linux on ARM platform (C).
- Created and supported continuous integration and delivery infrastructure.
March 1999 - October 2005. Electronic Data Systems. Software
Engineer.
Software developer and systems engineer. Some of my projects included:
- Developed a number of tools for synchronizing account information between multiple identity
management systems.
- Developed a Web-based frontend for LDAP-based identity management system.
- Developed a reporting suite for an enterprise backup application.
Scientific researcher and software developer for a team processing Very Long Base Interferometry
(VLBI,
radiotelescopes) observational data.
Education
St. Petersburg State
University, St. Petersburg, Russia.
Department of Mathematics and Mathematical Physics.
Masters Degree in Physics. Graduated with Honors.
Source Code
Contact Information
Phone: 720-938-5489
E-mail: anton@solovyev.com