Senior Back-end Engineer2021 - PRESENTA Blockchain Startup
Technologies: Go, Blockchain, Solidity
- Designed and developed a type of blockchain node software using Go.
- Introduced several improvements to the node's software.
- Improved code quality and maintainability by incremental refactoring business-critical components.
Lead Software Engineer2015 - 2021OnyxCorp
- Designed and developed a post-quantum, secure messaging system that included client framework, client applications, back end, and web portal management.
- Refactored legacy crypto code using the newest C++17 features, with full test coverage and a new build system with CMake and Conan.
- Designed and integrated voice and video calls with WebRTC.
- Added support to WebAssembly (Emscripten) to enable messaging applications to run in browsers.
- Mentored new team members, conducted technical webinars, and maintained detailed documentation.
Freelance Software Engineer2015 - 2015DreamFactory
Technologies: RESTful Development, RESTful APIs, C#, .NET
- Designed and developed .NET SDK for DreamFactory API: https://github.com/dreamfactorysoftware/.net-sdk.
Technical Lead2014 - 2015Return On Intelligence
Technologies: Selenium, Mentorship, People Management, SonarQube, C#, Web Services, AngularJS, ASP.NET
- Designed and developed a web portal for employee benefits management (insurance, retirement, etc.).
- Introduced a web services mocking approach to ease local debugging and troubleshooting.
- Enabled automatic testing using Selenium. Implemented and enforced product quality tools.
- Dramatically improved corporate build and deployment strategy to minimize day-to-day efforts.
Lead Application Developer2013 - 2014Deutsche Bank
Technologies: Roslyn, Prism, Windows Presentation Foundation (WPF), .NET, C#
- Designed and developed a metadata-driven framework for desktop interoperability and enabled several existing applications to use this framework. Currently, all Autobahn software is using this framework called Synapse.
- Enhanced WPF applications (FX trading) for investment banking in respect to performance, security, and code quality.
- Developed a number of WPF controls (MVVM) for banking applications.
Software Developer2010 - 2012Microsoft
Technologies: Azure, MapReduce, C++, NoSQL, .NET, C#
- Developed a rapid data serialization SDK (similar to Google ProtoBuf), including the C# code generator for it: Github.com/microsoft/bond.
- Built an object-oriented logging framework (business data logging) for in-house cloud infrastructure, now used by AdCenter and Bing.
- Implemented a remote-procedure calls (RPC) engine and toolset for a brand new key-value store (NoSQL) currently used by Azure.
Senior Software Engineer2009 - 2010EMC Corporation
Technologies: Pacemaker, Linux, C, C++, SUSE
- Worked on a high-availability Linux-based cluster (HA), integrating and configuring Pacemaker for network-attached storage (NAS).
- Introduced cgroups feature usage to the HA cluster.
- Developed an out-of-memory (or overcommit) monitoring daemon in C.
Senior Software Engineer2006 - 2009Motorola, Inc.
Technologies: J2ME, .NET, C++
- Worked on several Motorola mobile device platforms, implementing security features (JSR177), branding services (T-Mobile MyFaves), etc.
- Integrated Adobe Flash Lite player to the mainstream Motorola mobile platform (P2K). Collaborated with Adobe.
- Participated in AJAR mobile platform development.
- Developed a number of internal tools for embedded software development in C# and C++.
Senior Software Engineer2002 - 2005The Institute of Telecommunications
Technologies: GIS, Qt, OpenGL, 3D Graphics, C++, C
- Designed and developed a 3D engine for GIS (Geo informational services) in C++, STL, and OpenGL.
- Developed a cross-platform computational geometry math library in C++.
- Designed and built a full-featured application suite for manipulating GIS data.
- Programmed a large-images processing engine (satellite imagery) in C and C++.