Freelance Software Engineer2020 - PRESENTToptal Clients
Technologies: .NET Core, Moq, xUnit, Design Patterns, Matrix Algebra, Computational Geometry, Geometry, Algorithms, SQL, APIs, C#, .NET, Software Architecture
- Provided ongoing services as a remote developer for Toptal clients using C#, .NET, and Algorithms.
- Designed architecture and implemented a variety of applications from spatial data processing algorithms to sophisticated enterprise applications.
- Implemented automated tests: unit tests, integration tests, functional tests, and automated UI tests.
- Explored the most effective technologies and came up with ideas to achieve the client's business requirements and goals.
- Reported status updates and plans daily to appropriate audiences.
Freelance Software Engineer2020 - 2021Client via Toptal
Technologies: C#, C#.NET, .NET 5, .NET, Algorithms, Computational Geometry, Matrix Algebra, ASP.NET Core, Back-end, Google, Google Cloud, Google Cloud Console, Google App Engine, Google Compute Engine (GCE), GitHub, API Design, PostgreSQL, DXF, Testing, Unit Testing, Integration Testing, E2E Testing, Dependency Injection, DI, Design Patterns, Console Apps, Web API, Web, xUnit, xUnit.net, Moq, Software Architecture
- Developed an application using C# that processed spatial datasets with up to 1M points with streets, buildings, and luminaires, to calculate street illuminance. Also, it optimized the set of luminaires to achieve the most energy-efficient lighting.
- Helped the client to recover broken web apps in Google App Engine and Google Compute Engine (GCE).
- Established the complete CI/CD pipeline on GitHub Actions with automatic releases and unit, integrational, and functional tests.
Senior Software Engineer2012 - 2020Wärtsilä Voyage (formerly Transas)
- Designed and implemented the science-intensive algorithm of 3D sea bottom modeling based on the data from the nautical charts. I read dozens of scientific articles in English to understand and implement suggested algorithms using C++.
- Designed architecture for the plug-in interaction system of the 2D editor platform for cartographic data using design principles, best practices, and C#. Five internal and external products were successfully built on that platform.
- Engineered functionality in 2D cartographic data editor for interactive texture mapping of land objects using OpenGL, C++, and C#. Achieved acceleration of texture adjustment by an average of eight times.
- Improved Azure Application Insights telemetry coverage and structure for a large 177 projects included and complicated ASP.NET based fleet management service back end.
- Implemented diff and merge functionality for cartographic data, where objects could have changed properties and positions. The nav data update process sped up from hours to minutes by eliminating manual objects lookup and comparison.
- Created an internal MVVM like WPF framework that removed all the boilerplate from dialogs and took over work with apply cancel actions, validation, and layout serialization. That dropped the amount of code by 3-5 times and made it more manageable.
- Introduced integration testing for the complicated desktop application written using C#, C++, C++/CLI, and registration-free COM. The main problem was to run tests in single-threaded apartments and to write the custom assembly activation context.
Software Engineer2011 - 2012The State Financed Institution for Investment Management
Technologies: Windows Communication Framework (WCF), SQL Server 2008, Windows Presentation Foundation (WPF), C#
- Studied network interaction basics and connected the organization to the system of interdepartmental electronic interaction using C# and WCF. It was a step towards creating e-government.
- Explored a complicated business process and developed an electronic chart module for the organization's document flow system. It helped nearly 50 employees during their jobs and decision-making process.
- Worked on other features, suggested, and implemented UI/UX ideas.
IT Engineer | CNC Engineer2007 - 2010Promenergo
Technologies: CAD, CNC, AutoCAD, SOLIDWORKS, Windows Server 2008
- Set up domain and active directory in the corporative network.
- Mastered working with the CNC punching machine Muratec Motorum-2044 EZ as an operator, maintainer, and program writing engineer. Mentored newcomers on how to run it and make optimal programs.
- Mastered working with other CNC machines—lathe, bending machine, and plasma cutting machine. My knowledge of electronics helped to repair the PCB of the bending machine when it stopped to allow for sustained production.