Andrey Vokhmin
Cyprus, Limassol
andrew.vokhmin@gmail.com
Objective
Experienced Software Engineer with a demonstrated history of working in the financial services industry. Skilled in Software Development Life Cycle, Databases, and Cloud Technologies. Seeking new challenges where I can apply my technical expertise and leadership abilities to drive impactful projects.
Skills
Software Development:
- Archetecture: Microservices and Distributed systems, REST Services, API
- Workflow: Maven/Gradle, Git, Agile;
- Relational DB: PostgreSQL, MySql; NoSql: Redis, Mongo;
- Message Services: RabbitMQ, Kafka;
- Cloud Techs: AWS;
- Blockchain: Bitcoin/Ethereum/ERC20, Solidity;
- Lamguages: GoLang, Python, JavaScript.
Java and JVM:
- Core Java, Multithreading, Concurrency;
- Spring Framework, Netty, JDBC/Hibernate;
- Kotlin.
DevOps:
- Containers Techs: Docker, Kubernetes;
- Ansible.
Education
Ivanovo State Power University
Master of Science (MS), Automation Engineer Technology/Technician
Experience
Software Development Engineer
Spotware Systems
Jun 2021 - Present
Responsibilities:
- Continued to perform the duties I performed during my previous employment (2016-2020), including backend development and support, communication with third-party providers and frontend teams, testing, and collaboration with SysOps and DevOps teams.
- Adopted the role of an architect, supervising the creation of a new service for managing trading bots (proprietary solution cBot/AlgoTrading) in a Kubernetes cloud environment.
- Implemented a Docker/Compose based environment for local development that encompasses all backend services, significantly enhancing the ability to write comprehensive end-to-end tests for the company’s server products.
- Contributed to the migration of this Docker/Compose solution to a Kubernetes-based platform.
- Dedicated considerable time to infrastructure tasks, refining existing code and tests for enhanced simplicity and efficiency.
Software Development Engineer
hoolah
Feb 2020 – Jun 2021 (1 year 5 months)
Responsibilities:
- Development and design of the server side of the hoolah.co service, which is based on the technology stack: Kotlin/Java, Hibernate, Dropwizard, MySQL, Redis, AWS.
- Head of a small team whose responsibilities include the set of components that implement user registration and authentication; their architecture and development.
- As a developer, communicating with frontend teams (Web/Mobile App), REST interaction.
- Service support on prod, troubleshooting and fixing bugs, for which Splunk, Sentry are used.
Software Development Engineer
Spotware Systems
Jan 2016 - Jan 2020 (4 years 1 month)
Responsibilities:
- As a part of a server-side team, development and supporting backend services of the high-loaded multi-instrumental trading platform and later the crypto-currency exchange (trading functionality: orders matching and processing, user management, various stateless and stateful services, interactions with Postrgesql, Redis and RabbitMQ);
- Implementing adapters to communicate with third party market liquidity providers (FIX or proprietary protocol) and with different blockchains through the json-rpc API (Bitcoin, Ethereum, ERC20 tokens) and integration java based services with Solidity contracts;
- Participating in making architecture and technical decisions, research, and prototyping;
- Communicating with frontend teams to specify and clarify the interaction protocols (REST and Protobuf based);
- Writing unit/functional/acceptance tests and maintaining a consistent state of the builds;
- Working with SysOps and DevOps team for deployment, configuring and supporting Production/UAT/ DEV environments (Docker, Bitcoin and gEth core, Shell scripts).
Freelance Software Engineer
Self-Employed
Mar 2015 - Dec 2015 (10 months)
Software Development Engineer
Deutsche Bank
Jul 2014 - Feb 2015 (8 months)
Responsibilities:
- Development and support backend services for electronic trading on OTC-markets (off-exchange trading), these services, as part of the internal bank application stack, implement all stages of trading (negotiation, booking and quoting) for such electronic markets as:
— Bloomberg (proprietary binary protocol);
— TradeWeb (FIX based protocol);
— BondVision (proprietary binary protocol).
- Collaboration with internal customers, analytics and developers
of neighbouring teams in order to improve the whole
system. Partnership with an external technical staff of e-markets.
- Tasks of testing, deployment and support services on development and UAT environments.
- Supporting of a system operation team for deploying and configuring tasks on production hosts of trading sites.
During my work I examined a recommended base workflow of e-trading (quoting, negotiation, booking), FpML/FIX protocols and specific protocols of concerned markets for some asset classes, mainly, interest rates and credit default swaps. I wrote a lot of regression tests (proprietary junit based framework) for validating different trading workflows and interactions with internal services of the bank application stack, as well as with external services of markets, the part of tests was for checking failover of service (communication failures, switching to hot standby, etc.). My team and I created the quoting/ negotiation/booking-services for BondVision-market from scratch, as a result they were taken for UAT- testing; the functional of Bloomberg and Tradeweb services were extended to support trading of CDS (one-legged / multi-legged), there was completed UAT-testing and started operation. As other members of the team I was involved in a process of design and development of project (Scrum), was working with an existing source code (adding new features, fixing bugs, changing versions of internal/external protocols, refactoring), was participating in automating the build and the deployment.
Software Engineer
SMI2.NET
May 2012 - Jun 2014 (2 years 2 months)
Responsibilities:
- Responsible for the support and development of the backend of the Banner/Advertising Network (smi2.net) and work closely with system administrators for the establishing and maintaining a smooth operation of individual distributed services as well as in the entire system.
- Managed the project code base, release cycles, CI and test environments; full development cycle: code-review, refactoring, assembling and testing.
- Responsible for gathering business requirements and defining the technical and architecture decisions for developing and refactoring the project.
- Solved performance problems and made redesign to improve scalability.
Achievements:
The project was migrated from JBoss AS to Apache-Tomcat. Established a system of automatic assembly and integration with CI server. The refactoring and modifications has made it possible to increase the volume of processing data and to improve throughput, reliability and stability the system. Was added a new functionality and features, such as a partner’s API (JSON), the API to provide video news/advertising, the batch-layer for guaranteed delivery of data, a data sharding and so on.
Java Developer
iMobilco
Oct 2011 - Mar 2012 (6 months)
Responsibilities:
- Responsible for the support and update the existing service.
- Defined ways of developing and refactoring the project.
Achievements:
Has been studied an architecture of the existing service and the ways of its refactoring, the main thing - the division of a large monolithic service into standalone service-modules. As the implementation of this road was designed and developed new standalone RESTfull-service using persistence layer from inherited project. This service is provided:
- simplified API for client-side interaction (JavaScript) and specialized tools.
- API for interacting with partners (intermediaries) for the sale of electronic books, music and video through the partner sites.
Java Developer, Team Lead
Mail.ru Group
Jul 2007 - Sep 2011 (4 years 3 months)
Responsibilities:
- Responsible for the design, development and failover of the service that provides processing of Internet payments (TerraBank) & SMS payments (SMS-Gateway) for the game projects of Astrum Online Entertainment Holding (Nival Online, IT Territory, Astrum GmbH are departments of Mail.RU Group now) and partners.
- Participated in the defining of new system requirements. Took the decisions about technical architecture, about ways of implementation a new features and refactoring.
- Responsible for integration the service with the payment system of company - Dengi@Mail.ru.
In the team (number of developers ranged from 2 to 5 people): assignments and supervision of the tasks, code-review and project management, support environment for testing and development; carried out the task of coding, testing and debugging.
- Responsible for maintenance the deployment, updating, and configuring the service, worked with the system administrators of company and the technical specialists of partners, processed the requests from the tech-support, participated in the analysis of error conditions and reconciliations.
Licenses & Certifications
- M101J: MongoDB for Java Developers - 10gen, The MongoDB Company
2f231ed492494639ae9fc8c81b3c1b0c
- M102: MongoDB for DBAs
- Front-End JavaScript Frameworks: AngularJS - Coursera Course Certificates
J99X7MHM38DG
- Front-End Web UI Frameworks and Tools - Coursera Course Certificates FLAAR73TM974
- HTML, CSS and JavaScript - Coursera Course Certificates WBATCRW9U56S