Sergey is a software craftsman, enthusiast, and lifelong learner with over 10+ years of experience. He has an ongoing, voluntary, and self-motivated pursuit of knowledge for personal and professional reasons. He loves design principles and patterns. Abbreviations such as DRY, SOLID, KISS, YAGNI and many more are not just buzzwords but principles he follows. He pursues to make not only working software but also well-crafted one. He always covers his code by tests and practices TDD discipline. All his code follows the object-oriented concept and practice continuous integration and continues deployment. When he has free time from work and family, he reads books, watches courses and struggles to try something new to become a better professional than he is right now.
Below some stuff he knows:
Frameworks: ASP.Net Core, Web API, MVC, SharePoint, .NET;
Back-end: C#, Node.js, Powershell;
Packages: Swagger, Swashbuckle, Nlog, AutoMapper, OpenIddict and more;
JS Libraries: Angular, Redux, Knockout, JQuery, Bootstrap, Material Design and more;
Linters: ESLint, TSLint, JS
Tools: NPM, Yarn, Webpack, Bower, Grunt, Gulp, Yeoman, NuGet;
Version control: Git (GitHub, VisualStudio Online, Azure DevOps);
Queries: LINQ, EF (Entity Framework), T-SQL, CAML, REST/Json;
Tests: XUnit, Selenium, FluentAssertions, Postman, Jasmine, Karma;
Languages: English (fluent), French (intermediate);
• Web API restful service based on .NET Core with AD (LDAP) and Azure MFA integration. OAuth 2.0 was used as an authorization protocol. Swagger/OpenAPI specs for self-documenting. Postman automation tests.
• Web portal for self-service password recovery with complex validation logic and high-security demands. Selenium UI tests coverage.
• Migrated internal app to new UI based on Angular and .NET Core web API. Used DI/Facade pattern with mappings for integration with legacy ADO.NET data services.
• Customer notification app integrated with Lotus Notes API. Excel integration;
• Client Bank. Automatic creation of payment orders in the Internet Bank from ERP system;
• Network program for controlling working hours of employees;
• The system of organization of production and supply (Kanban);
• Reporting application for ERP system;
• Application for changing data in the ERP system.