Lev Yastrebov
Verified Expert in Engineering
.NET Developer
Antalya, Turkey
Toptal member since April 29, 2020
Lev is an accomplished engineer with 10+ years of experience focusing on the back end and algorithms. According to clients, he's taking the initiative in designing and building tricky things clearly. For example, he built a reliable system for supply dealers that processes orders worth over $5 million monthly and a platform for nautical chart editors for a global leader in marine navigation.
Portfolio
Experience
- C# - 12 years
- .NET - 12 years
- Concurrent Programming - 6 years
- API Design - 6 years
- C++ - 6 years
- SQL - 5 years
- Unit Testing - 5 years
- .NET Core - 4 years
Availability
Preferred Environment
.NET, Visual Studio 2022
The most amazing...
...and science-intensive algorithm I've created constructed realistic 3D surfaces of the sea bottom based on incomplete and conflicting data from nautical charts.
Work Experience
Principal Software Engineer
Gwentaa
- Designed and built a new generation of an automated batch order processing application that bridged the gap between ERP ECI eAutomate and a dozen vendors for a dozen dealers. This system efficiently handles over a thousand orders daily.
- Engineered a concurrent queue-based order processing system with parallel processing, rate limiting, and hybrid caching (in-memory and file system). This created a smooth user experience and enhanced processing speeds by around 10 times.
- Demonstrated strong self-management and initiative; independently set and executed tasks without managerial oversight. Operated under broad client directions, effectively translating strategic goals into actionable work items.
- Used Azure technologies (CosmosDB, Application Insights, Functions, and Static Web Apps) to implement license management, distribution, comprehensive tracing, achieving full observability, zero managing overhead, and cost efficiency.
- Established the complete CI/CD pipeline using GitHub Actions, incorporating code signing, extensive testing, and automated deployments to Azure Static Web Apps. This setup streamlined development processes and improved deployment reliability.
Freelance Software Engineer
Freelance Client
- Developed an application using C# that processed spatial datasets with up to 1 million points with streets, buildings, and luminaires to calculate street illuminance. It optimized the set of luminaires to achieve the most energy-efficient lighting.
- Modernized an existing full-stack web application using JavaScript, Django REST Framework, and PostgreSQL by adding and utilizing a new ASP.NET Core back end, which performed fast local lighting calculations.
- 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 Engineer
Wä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++.
- Created the front end for a web-based internal system for chart database management, which handled more than 13,000 charts. I used JavaScript with Vue and TypeScript to build a useful web application with unit test and integration tests included.
- 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, including a 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-to-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 running tests in single-threaded apartments and writing the custom assembly activation context.
Software Engineer
The State Financed Institution for Investment Management
- 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 Engineer
Promenergo
- 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.
Experience
Algorithm of 3D Sea Bottom Modeling
https://docs.google.com/presentation/d/138W8_Gpdq-lEifPeqPptTh9_3cDdYWZsX8MEU9zg26cAnother big problem was physical conflicts in the chart data. For example, one chart point can have three levels. To overcome this, I developed a special method that resolves the conflicts and doesn't make conflicts with chart data.
Moreover, I added the self-testing mode to check and adjust the algorithm. My testing tool picked charts with different levels of detail in the same area, ran my algorithm on less detail, and then compared the results with a more detailed chart.
As a result, my algorithm made it possible to connect charts with different isobath levels to create a seamless sea model, which is used for automatic routing for ships. Also, it is helpful in oceanography, hydrology, fishing, and other applications.
Sample Web API Application
https://github.com/LevYas/DotnetBackendSampleUsing this application, users can create an account, log in, and store some food records to track sugar consumption. If the user does not provide the sugar amount, the app will fetch it from a nutrition data provider. Also, users can access API to check how much sugar they ate during the current day.
I made this educational project to show how to build custom lightweight authentication and authorization without using full-blown technologies like ASP.NET Core Identity and how to integrate different things into one working and robust application.
Highly Efficient Interval Map
I developed an extremely efficient algorithm for assigning values; it uses only two relatively expensive O(log N) operations to find range bounds. It utilizes precise iterator arithmetic to locate all other positions.
In that case, it's very important to carefully test this algorithm to be sure that it works properly. To accomplish that, I used test-driven development alongside property-based testing instead of example-based testing. That means checking that the object under tests has specific properties after the performed operation instead of comparing result data with examples. This technique made it easy to write clear and concise tests to cover all possible data variations.
Finally, I successfully built a complex, efficient algorithm that works correctly.
Education
Master's Degree in Industrial Power Distribution
Moscow Polytechnic University - Cheboxary, Russia
Certifications
Solidity Smart Contract Development
Cyfrin
AWS Solutions Architect Associate
Amazon Web Services
AWS Certified Developer Associate
Amazon Web Services
Blockchain and Bitcoin Fundamentals
Udemy
F# From the Ground Up
Udemy
Skills
Libraries/APIs
REST APIs, Vue, Web API, Moq, Leaflet, LINQ, SendGrid API, SignalR, AutoMapper, OpenGL, Entity Framework
Tools
Visual Studio, xUnit, xUnit.net, Azure Application Insights, Postman, WireMock, AutoCAD, Jira, Git, CAD, SendGrid, Bitbucket, GitHub, Subversion (SVN), Jenkins, SOLIDWORKS, Google Cloud Console, Google Compute Engine (GCE)
Languages
C#, C#.NET, TypeScript, C++, SQL, T-SQL (Transact-SQL), XML, C++/CLI, Python, Python 3, JavaScript, CSS, F#, Assembler, Solidity
Frameworks
.NET, Windows Presentation Foundation (WPF), .NET Core, ASP.NET Core, Entity Framework Core, NUnit, Json.NET, ASP.NET, Swagger, Cypress, Google Test
Paradigms
Concurrent Programming, E2E Testing, Unit Testing, Dependency Injection, Object-oriented Programming (OOP), Refactoring, Design Patterns, Model View ViewModel (MVVM), Testing, Automated Testing, Gang of Four (GOF) Design Patterns, Agile Software Development, Test-driven Development (TDD), REST, Waterfall Development, Extreme Programming, Inversion of Control, REST API Architecture, Scrum, Microservices, Microservices Architecture, Agile, Functional Programming, Serverless Architecture, CNC Programming
Platforms
Windows, Web, Visual Studio Code (VS Code), Amazon Web Services (AWS), Azure, Windows Server 2008, Docker, Google App Engine, Blockchain, AWS Lambda, Google Cloud Platform (GCP), Azure Functions, Ethereum
Storage
Microsoft SQL Server, Relational Databases, JSON, SQL Server Management Studio (SSMS), Google Cloud, PostgreSQL, Azure Cosmos DB, NoSQL
Other
Software Architecture, APIs, Algorithms, Data Structures, Debugging, Design Principles, API Design, Back-end, SOLID Principles, Integration Testing, Console Apps, Architecture, CI/CD Pipelines, Geometry, Profiling, COM, DI, RESTful Web Services, Computational Geometry, Distributed Systems, Technical Leadership, Matrix Algebra, Windows Communication Foundation (WCF), CNC, Containers, Containerization, DXF, Bitcoin, Public Speaking, Conference Speaking, Leadership, System Design, Decentralized Systems, Cloud, Cloud Computing, Serverless, Computational Physics, Power Electronics, Energy, Energy Monitoring, Digital Electronics, PCB Design, Physics, Science, Authorization, User Authentication, Property-based Testing, Web Applications, API Applications, Smart Contracts, Ethereum Smart Contracts
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring