Andrei Smirnov
Verified Expert in Engineering
Full-stack Developer
Ankara, Turkey
Toptal member since December 11, 2014
Andrei is a passionate full-stack software engineer with 20 years of experience who worked for leading brands like Microsoft, EMC, Motorola, and Deutsche Bank. He's built many successful projects utilizing various mobile, desktop, and web software stacks. Andrei is well-versed in various languages, including C++, Go, and JavaScript, and the most in-demand frameworks, libraries, and tools.
Portfolio
Experience
Availability
Preferred Environment
Windows, Linux, MacOS
The most amazing...
...thing I've coded is a secure messaging platform that leverages modern post-quantum crypto algorithms.
Work Experience
Senior Blockchain Engineer
A Blockchain Startup
- Designed and developed various blockchain projects.
- Distributed systems design, observability, and alerting.
- Integrated various 3rd party crypto/blockchain projects.
Lead Software Engineer
OnyxCorp
- 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 Engineer
DreamFactory
- Designed and developed .NET SDK for DreamFactory API: https://github.com/dreamfactorysoftware/.net-sdk.
Technical Lead
Return On Intelligence
- 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 Developer
Deutsche Bank
- 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 Developer
Microsoft
- 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 Engineer
EMC Corporation
- 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 Engineer
Motorola, Inc.
- 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 Engineer
The Institute of Telecommunications
- 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++.
Experience
REVERSCREEN
https://github.com/pinebit/reverscreenStack: Qt, C++, OpenCV library, and more.
DB Autobahn
https://autobahn.db.comI designed and implemented a flexible interoperability protocol that connected many Autobahn products (existing and new). This system is called Synpase and is currently in production and driving the Autobahn ecosystem.
Demoscene: 4k Intro
http://www.pouet.net/prod.php?which=54415Sochi - 3D Engine for GIS
http://www.youtube.com/watch?v=bNE4WX1v-W8#t=204Computational Geometry API for Nokia Gate5 GmbH
http://www.youtube.com/watch?v=Yh1eUudkxgcAutobahn Toolbar
https://www.toolbar.autobahn.db.comVault
https://github.com/pinebit/vaultImagine you needed to persist some user-sensitive information in a password-protected file—this little library addresses this need.
React-CR
https://github.com/pinebit/react-crThe Largest App
https://github.com/pinebit/largestappStack: C++ and Qt5 with QML UI.
Jet Pipes
https://github.com/pinebit/JetPipesStack: C++, Qt 5, Qt3D.
Yet Another Ethereum Brute Force Tool
https://github.com/pinebit/eth-brute-forceEvery other blockchain engineer implements this exercise, for fun.
If you are really serious about using this tool, then bear in mind the probability of encountering a private key that corresponds to someone else’s Ethereum address is around 1 in 2^256. To cover just 1% of that keyspace, even if we used computing resources that would allow us to generate 100 trillion keys per second, it would take us roughly years. Eventually, your electricity bills and the cost of hardware you used will exceed the benefit of "hacking" someone's address. You've been warned.
ETH Transactions Listener
https://github.com/pinebit/eth-listenerStack: Go, Geth
Education
Specialist Degree in Engineering
Baltic State Technical University - Saint-Petersburg, Russia
Skills
Libraries/APIs
Protobuf, React Redux, React, OpenGL, OpenSSL, Win32 API, WebRTC, REST APIs, jQuery
Tools
Stash, Jira, ReSharper, Microsoft Visual Studio, Git, Roslyn, CC.NET, SonarQube, CMake, Qmake, Grafana, Pacemaker, JetBrains, Visual Studio, GIS, JSX
Languages
C, Go, QML, C++, C#, UML, JavaScript, Visual Basic for Applications (VBA), Domain-specific Languages (DSLs), Python 3, SQL, Solidity, C++17
Frameworks
Redux, .NET, Qt, Google Protocol Buffer, Windows Presentation Foundation (WPF), AngularJS, NUnit, ASP.NET Web API, Chromium Embedded Framework (CEF), Qt 5
Paradigms
Concurrent Programming, Unit Testing, Test-driven Development (TDD), REST, MapReduce, RESTful Development
Platforms
Windows, Blockchain, BlackBerry, Linux, Docker, MacOS, Ethereum, Windows Phone
Storage
NoSQL, Microsoft SQL Server, SQLite, PostgreSQL, MySQL, RocksDB
Other
Cryptography, IPC, WebSockets, APIs, 3D Graphics, Windows Communication Foundation (WCF), Code Contracts, MSYS2, Cryptocurrency, Web3, Ethers.js, Prometheus, Web Services, Chromium, WebAssembly (Wasm), People Management, Mentorship, Embedded Systems, Qt 3D, Custom Protocols, App UI, Ethereum Smart Contracts, Decentralized Finance (DeFi), Interviewing
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