Freelance Software Developer2012 - PRESENTToptal Clients
- Provided ongoing services as a remote ASP.NET Core/C#/.NET developer for Toptal clients.
- Designed architecture and implemented ASP.NET and Web API applications.
- Designed and implemented data storage.
- Implemented automated tests: unit tests, integration tests, functional test, 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 regularly to appropriate audiences.
- Documented the codebase and technical aspects.
Senior .NET Developer2019 - 2019Blacc Spot Media
Technologies: ASP.NET Core, .NET Core, Swagger UI, Entity Framework Core, AutoMapper, Razor Views, SendGrid API, Twilio API, Zendesk API
- Developed a .NET Core application back end for the Cystic Fibrosis Foundation, a 501 nonprofit organization in the United States established to provide the means to cure cystic fibrosis and ensure that those living with CF live long and productive lives.
- Designed and implemented API endpoints using .NET Core for React UI app.
- Fixed bugs and improved the code.
Senior .NET Developer2018 - 2019Dunnhumby
Technologies: .NET Core, ASP.NET Core, Entity Framework Core, MediatR, xUnit, PostgreSQL, GitLab, GKE, JWT, Google Directory API, AD SSO
- Ramped up .NET expertise in Berlin's development center and mentor Dunnhumby full-timers on the server side aspects of .NET Core application development.
- Designed architecture for server-side APIs with a clean architecture approach.
- Integrated with company hybrid authentication and authorization for AD SSO/Google Directory API.
- Designed ASP.NET Core integration tests with xUnit and WebApplicationFactory.
- Developed server-side microservice APIs with external and cross-component dependencies in a Kubernetes environment.
Full-stack ASP.NET Core Developer2018 - 2018Startup (via Toptal)
- Implemented a dashboard web application from scratch based on ASP.NET Core 2.1 with Razor views and including dependency injection (DI) and Entity Framework Core, identity user, role, and claims management.
- Used SB Admin 2 template for the admin panel with Ajax callback and modal popups for CRUD operations over the entities.
- Implemented ASP.NET Core View Components to display common UI parts with the possibility to update data via jQuery unobtrusive Ajax.
- Configured code-first EF Core 2.1 migrations and automated the database recreation process, which updates schema and populates mandatory and sample data for manual smoke tests on the UI.
- Implemented 2FA logic to use TOTP authenticator apps from Google and Microsoft for iOS, Android, and Windows Phone devices.
Senior Full-stack Developer2018 - 2018NKR Managing General Agent (via Toptal)
- Designed an ASP.NET Core application architecture for a digital claims management software application that leverages digital data from connected vehicles to automate property and casualty claims processes.
- Implemented model view controller (MVC) architecture with ASP.NET Core Razor views, dependency injection (DI) and Entity Framework (EF Core) according to UI layouts and business requirements.
- Implemented schema with a code-first Entity Framework core for SQL Server in AWS.
- Implemented a console for data emulation, test damage calculation, and application configuration.
- Implemented real-time internal application notifications based on SignalR.
- Implemented notifying external parties via SMS, email, and API.
- Integrated Google Maps geolocation API.
- Integrated NADA (National Automobile Dealers Association) API.
- Implemented asynchronous update-able ASP.NET Core view components.
- Wrote technical documentation.
Full-stack ASP.NET MVC Developer2018 - 2018Kalon Creative (via Toptal)
- Updated ASP.NET Razor views according to new InVision mockups.
- Adjusted ASP.NET views to be responsive for mobile view as well as for other screen sizes using Bootstrap.
- Optimized back-end logic to avoid performance issues and comply with the new UX approach on the front-end.
- Regenerated POT/PO internationalization files for string resources used for ASP.NET MVC application.
- Participated in code reviews of the pool requests for the branches before merging them to QA and Production environments.
Senior .NET Developer2017 - 2018Tusmor, Ltd. (via Toptal)
- Designed and implemented Bank Engine API using ASP.NET Core Web API.
- Configured continuous integration tasks to build and deploy API components to different Azure environments.
- Designed corresponding database schema for Azure SQL Server.
- Implemented unit tests using an in-memory database approach as well as integration tests for API endpoints.
- Configured API Explorer using Swagger UI via Swashbuckle package.
- Designed and implemented a simple React/Redux based UI for interacting with the API.
Senior .NET Developer2017 - 2017Ascension Data and Analytics (via Toptal)
Technologies: .NET Core 2.0, ASP.NET Core 2.0, MVC, Web API, C#, JSON, XML, Azure, Amazon S3, SQL, EF Core 2.0, Git, Visual Studio, TFS, Jira
- Developed the workflow to interact with an external OCR and machine learning system via API.
- Designed and implemented a background service for maintaining the queue and message pooling.
- Developed plugin-based architecture for processing queue messages.
- Deployed system modules and components.
- Implemented an API for UI to manage information in the mortgage servicing and capital markets space.
.NET Full-stack Developer2016 - 2016Eurotech Global Sports AG (via Toptal)
- Developed the server and client-side logic for the accreditation module of IFES system for FIFA events.
- Secured the components with the appropriate permissions.
- Implemented the export mechanism for the security data.
- Implemented the bulk update logic.
- Participated in the design sessions to discuss and plan the logic implementation.
Full-stack Web Developer2016 - 2016Fitness Startup (via Toptal)
- Developed a web application using ASP.NET MVC and Web API with an AngularJS-based client side.
- Automated live streaming using Azure Media Services.
- Built website content indexing and search using Azure Search Services.
- Processed background tasks by events-driven Azure Web Jobs.
- Developed back-end features using dependency injection principle for MVC controllers, services, and repositories.
- Conducted unit testing using the mocks and end-to-end testing of exposed API.
- Documented the API with Swashbuckle (.NET port of Swagger UI).
Lead/Senior Software Engineer (Telecommunication)2014 - 2015MetTel (via Toptal)
- Implemented a Knockout-based user interface for several modules of the control management panel.
- Developed a micro framework for requesting information from Solr API and safe parsing of JSON data in C#.
- Implemented Web API services and corresponding business logic.
- Created and maintained unit tests for verification of Web API service controller actions.
Senior C# Developer2013 - 2014American Mortgage Consultants, Inc. (via Toptal)
Technologies: C#, .NET, ASP.NET MVC, Web API, JSON, HTML, SQL, Accusoft OCR Components
- Designed the software system architecture.
- Developed several components for the automatic recognition and processing of scanned forms.
- Implemented page detection and field value extraction business logic for scanned mortgage documents.
- Created and maintained unit tests covering the application business logic.
- Implemented UI for interacting with the OCR system via API services.
- Implemented a self-documented JSON-based Web API.
.NET Developer (Remote)2012 - 20132can
Technologies: C#, ASP.NET MVC, Razor, HTML, CSS, jQuery, SQL, Castle Windsor, Fluent NHibernate, NUnit, Quartz.NET, OpenIso8583.Net
- Performed full-stack software development for the company's mobile card acquisition service, which is the Russian equivalent of the US Square service.
- Developed user interface Razor-based pages.
- Developed in C# the server side business logic, data access code, and unit tests.
- Implemented parsing packages using OpenIso8583.Net which is a .NET message builder and parser for ISO 8583 financial messages.
- Worked on customizing card acquisition service UI for specific banks.
Team Lead, .NET Developer2011 - 2012Aspose
Technologies: ASP.NET MVC, jQuery, C#, Aspose Components, WCF, JSON, OpenXML
- Worked full-time as a remote team leader for the GroupDocs Comparison project for GroupDocs.com (part of the Aspose family).
- Developed an ASP.NET MVC-based web application for comparing office documents.
- Developed and maintained the server side logic for comparing office documents.
- Did R&D for finding suitable comparison algorithms like Levenshtein distance, HTML Diff implementation, etc.
- Created and maintained the unit tests.
- Documented the API.
Senior .NET Developer, Tech Lead, Project Manager2008 - 2011Exigen Services
Technologies: C#, ASP.NET, WCF, Windows Services, XML/XSLT, HTML/CSS, Oracle, MS SQL, DataFlux
- Led technical projects for Total Objects, a company involved in insurance brokering and reinsurance software systems.
- Used .NET (VB.NET, WinForms) and MS SQL Server technologies, as well as the Agile (Scrum) framework throughout the development process.
- Developed websites in the Scrum framework using .NET, Oracle, MS SQL Server, and DataFlux data management technologies.
- Worked as a senior .NET developer for T-Mobile Netherlands, one of the largest mobile telephone operators in the country.
- Implemented the Waterfall development paradigm using C#, WinForms, ASP.NET (WebForms), WCF, XML/XSLT, and Oracle technologies.
- Promoted to project manager, overseeing several projects for the company.
Software .NET Developer (Remote)2006 - 2008SharpStyle Labs
Technologies: C#, Visual Studio Extensibility, Obfuscation, Installers, ASP.NET, WCF, SQL Server
- Created SharpStyle Neutron, a piece of software that allows developers to write ActionScript code from within Visual Studio 2005 using Visual Studio SDK.
- Participated in a ReviewBasics project with ASP.NET (WebForms) conducting collaborative market research.
- Developed video conversion web services using the Turbine Video Conversion SDK.
- Created and maintained the unit tests.
PhD Student2006 - 2006Saint-Petersburg State University
Technologies: C#, GDI+, WinForms
- Developed the software system for a PhD paper on structural geology titled "Automation of Cross Section Building through the Thrust Systems Foreland."
Team Lead, .NET Developer2005 - 2005Bridge-Quest
- Led projects involving the customization of web services.
- Developed .NET software using ASP Classic, ASP.NET (WebForms), HTA, and .NET WinForms.
Software .NET Developer2004 - 2005StarSoft Development Labs
- Worked as a member of the eXP (eXtreme Programming) team.
- Participated in several ASP.NET (WebForms) projects for client intranets.
Software .NET Developer2003 - 2004STEP Technologies
Technologies: C#, .NET WinForms, Infragistic Control Library 'NetAdvantageTM 2003', XCeedComponents, SQL Server, MS Access, NUnit Framework
- Helped develop a client-server system for handling automated document translation, incorporating interconnected WinForms and Web Parts.
Geological Engineer, Software Developer2000 - 2001Lengiprotrans OJSC
Technologies: Visual Basic 6.0, VBA (MS Excel), MS Access
- Automated all scientific MS Excel-based calculations.