Andrei Smirnov

Andrei Smirnov

Saint Petersburg, Russia
Hire Andrei
Scroll To View More
Andrei Smirnov

Andrei Smirnov

Saint Petersburg, Russia
Member since September 30, 2014
Andrei is a passionate full-stack software engineer with 15+ years of experience who has worked for Microsoft, EMC, Motorola, Deutsche Bank, and other big-name brands. He has built a number of successful projects utilizing various software stacks, for mobile, desktop and web platforms. He is well versed in C++, C#, and JavaScript languages as well as the most in-demand frameworks, libraries, and tools.
Andrei is now available for hire
Portfolio
Experience
  • C/C++, 13 years
  • Concurrent Programming, 11 years
  • C#, 10 years
  • .NET, 10 years
  • JavaScript, 6 years
  • WPF, 3 years
  • React.js, 2 years
  • AngularJS, 2 years
Saint Petersburg, Russia
Availability
Part-time
Preferred Environment
WebStorm, Visual Studio, Windows or Mac
The most amazing...
...thing I've coded is a metadata-driven interoperability framework that is adopted by Deutsche Bank and currently in production.
Employment
  • Freelance Software Engineer
    MBLSFT
    2015 - PRESENT
    • Designed and developed secure messaging applications suite for mobile platform (C++, BlackBerry).
    • Built a complex web application (React + Redux) from scratch.
    • Worked on investigating business critical security issues, vulnerabilities, and appropriate solutions for them.
    Technologies: JavaScript (React), C++, Qt/QML, Digital Security
  • Technical Lead
    Return On Intelligence
    2014 - PRESENT
    • 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.
    • Drastically improved corporate build and deployment strategy to minimize day-to-day efforts.
    • Implemented and enforced product quality tools.
    Technologies: ASP.NET, AngularJS, Web Services
  • Freelance Software Engineer
    DreamFactory
    2015 - 2015
    • Designed and developed .NET SDK for DreamFactory API: https://github.com/dreamfactorysoftware/.net-sdk.
    Technologies: .NET, C#, RESTful API
  • Lead Application Developer
    Deutsche Bank AG
    2013 - 2014
    • Enhanced WPF applications (FX Trading) for investment banking in respect to performance, security, and code quality.
    • Developed a number of WPF Controls (MVVM).
    • Designed and developed a metadata-driven framework for desktop interoperability and enabled several existing applications to use this framework.
    Technologies: C#, .NET, WPF, Prism, Roslyn, DSL
  • Software Developer
    Microsoft Corporation
    2010 - 2012
    • Developed a rapid data serialization SDK (similar to Google ProtoBuf), including the C# code generator for it.
    • Developed 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) used in Microsoft Online Services.
    Technologies: C#, .NET, noSQL, C++, MapReduce
  • Senior Software Engineer
    EMC Corporation
    2009 - 2010
    • 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.
    Technologies: Enterprise Linux (SuSE), C++/C, HA, Pacemaker
  • Senior Software Engineer
    Motorola, Inc.
    2006 - 2009
    • 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++.
    Technologies: C++ and .NET, Embedded, J2ME
  • Senior Software Engineer
    The Institute of Telecommunications
    2002 - 2005
    • 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++.
    • Created a whole family of end-user 3D applications in C++ and Qt (Viewer, Editor, utilities, etc.).
    • Programmed a large-images processing engine (satellites imaginary) in C and C++.
    Technologies: C++/C, 3D graphics, OpenGL, Qt, Delphi
Experience
  • REVERSCREEN (Development)
    http://reverscreen.com/

    REVERSCREEN is a concept of a new snipping tool that provides automatic object cropping by leveraging modern computer vision algorithms. The project was made for fun in my spare time and does not compete with any businesses.

  • Bing.com (Other amazing things)
    http://www.bing.com

    Collaborated to create Bing.com using the NoSQL database at Microsoft.

  • DB Autobahn (Other amazing things)
    https://autobahn.db.com

    A family of UI products developed as part of a team.

  • Demoscene: 4k Intro (Development)
    http://www.pouet.net/prod.php?which=54415

    Made for fun, in 4096 bytes of C and OpenGL.

  • Sochi - 3D Engine for GIS (Other amazing things)
    http://www.youtube.com/watch?v=bNE4WX1v-W8#t=204

    Developed a cross-platform 3D engine in C/C++ with OpenGL. It was used by Russian DoDF.

  • Computational Geometry API for Nokia Gate5 GmbH (Development)
    http://www.youtube.com/watch?v=Yh1eUudkxgc

    Designed and developed a computational geometry library for 2D/3D graphics, used in a fork of Nokia Maps.

  • Autobahn Toolbar (Development)
    https://www.toolbar.autobahn.db.com

    Implemented core functionality of the Toolbar, a central UX component used by many trading apps.

  • .NET SDK for DreamFactory RESTful API (Development)
    https://github.com/dreamfactorysoftware/.net-sdk

    Designed and developed .NET SDK v1 for DreamFactory.

  • A Note-taking Application for BlackBerry 10 (Development)
    https://appworld.blackberry.com/webstore/content/59972037

    Developed in my spare time just for fun.

  • Retirement Benefits Management Portal for Mercer.com (Other amazing things)
    http://www.mercer.com

    Collaborated to design and develop the complete web portal for mercer.com used by third parties to manage their employee benefits.

    Stack: .NET, MS SQL, AngularJS

  • How to Bootstrap and Create .NET Projects (Publication)
    To create a .NET project from scratch, simply using Visual Studio Wizard is good enough most of the time. However, the default project settings produced by wizards are hardly acceptable for professional teams, as they set too low of a bar on quality. In this article, Toptal Freelance Software Engineer Andrei Smirnov guides us through several standard practices, configuration files, and project settings every developer should apply when starting a new .NET project. Doing this in the very beginning of a project decreases future technical debt and makes product source code readable and professional-looking.
  • Meet Bond, Microsoft Bond - A New Data Serialization Framework (Publication)
    Microsoft Bond is a modern data serialization framework. It provides powerful DSL and flexible protocols, code generators for C++ and C#, efficient protocol implementations for Windows, Linux, and Mac OS X. This article is a quick guide of the features and use of this framework.
  • .NET Best Practices and Tips by Toptal Developers (Publication)
    This resource contains a collection of .NET best practices and tips provided by our Toptal network members.
Skills
  • Languages
    C#, JavaScript, C/C++, XML, Visual Basic for Applications (VBA), UML, QML, Domain-specific Languages (DSLs)
  • Frameworks
    .NET, Qt, NUnit, Windows Communication Framework (WCF), Redux, AngularJS, Google Protocol Buffer, WPF, Selenium, ASP.NET Web API, Ionic, Bootstrap
  • Libraries/APIs
    React.js, ETW, Protobuf, OpenSSL, OpenGL, React-redux, Win32 API, jQuery
  • Tools
    JIRA, ReSharper, Git, Stash, Visual Studio, TFS, CruiseControl.Net, SonarQube, Roslyn, MSBuild, Tortoise SVN, VTune, ClearCase, XPerf, Prism, Interactive Disassembler (IDA)
  • Paradigms
    Test-driven Development (TDD), Concurrent Programming, REST, Unit Testing, Agile Software Development
  • Platforms
    Windows, BlackBerry 10, Linux, Embedded, Windows Phone
  • Misc
    IPC, Code Contracts
  • Storage
    NoSQL, Microsoft SQL Server, SQLite, TeamCity
Education
  • Specialist degree in Engineering
    Baltic State Technical University - Saint-Petersburg, Russia
    1996 - 2002
I really like this profile
Share it with others