Igor Mandrigin, Developer in Gothenburg, Sweden
Igor is available for hire
Hire Igor

Igor Mandrigin

Verified Expert  in Engineering

Bio

Igor is a senior full-stack software developer with over 13 years of experience building mobile apps and mission-critical cloud services with millions of users for clients including Opera and Ethereum Foundation. He has developed apps and services that are primarily used by people in developing countries (Asian, African countries, India, and Indonesia), including work with CJK languages. He uses secure development practices to build fintech services and make them PCI-DSS compliant.

Portfolio

Self-employed
Design, Protocol Design, Google Cloud Platform (GCP), Docker, Pandas, NumPy...
Self-employed
GNU Make, CircleCI, Google Cloud Platform (GCP), Docker, React, BoltDB...
Self-employed
Metabase, Clojure, Redshift, MongoDB, Amazon EC2, Node.js, Go, KaiOS

Experience

  • Kanban - 7 years
  • Go - 5 years
  • Fintech - 4 years
  • Threat Modeling - 3 years
  • Android SDK - 3 years
  • Ethereum - 3 years
  • Open Source - 3 years
  • Amazon EKS - 1 year

Availability

Part-time

Preferred Environment

DataGrip, Microsoft Project, OmniPlan, Pivotal Tracker, Trello, Jira, Go, Android Studio, Xcode, Buildkite, GitLab, CircleCI, GitHub, Discord Bots, Slack, Visual Studio Code (VS Code), Vim Text Editor, Ubuntu, MacOS

The most amazing...

...thing I've architected from scratch is the OPay system that is now one of the top fintech services in Nigeria.

Work Experience

Stateless Ethereum Researcher

2019 - PRESENT
Self-employed
  • Created a proof of concept, did extensive testing, and published research on the effects of switching from hexary to binary Patricia-Merkle tries in the current Ethereum implementation.
  • Created a proof of concept, did extensive testing, and published research on different block witness formats for Stateless Ethereum (Merkle multi-proof serialization).
  • Created a stateless Ethereum witness specification proposal that later became the official specification draft by Ethereum Foundation. Coordinated efforts on improving and working on this specification.
Technologies: Design, Protocol Design, Google Cloud Platform (GCP), Docker, Pandas, NumPy, Ethereum, Go

Turbo-Geth Core Contributor

2019 - PRESENT
Self-employed
  • Rebased new changes from Go-Ethereum onto our codebase. Kept our codebase up to date with upstream within one or two weeks.
  • Implemented a library for pre-processing blockchain data before inserting it to the database, resulting in up to 40x improvements in the DB insert throughput.
  • Rearchitected staged sync, allowing for the writing of tests for uncommon networking scenarios like blockchain unwinds of different kinds, interruptions from the OS (like SIGKILL), and semi-consistent DB state.
Technologies: GNU Make, CircleCI, Google Cloud Platform (GCP), Docker, React, BoltDB, Lightning Memory-Mapped Database (LMDB), Ethereum, Go

R&D Consultant

2019 - 2019
Self-employed
  • Implemented MongoDB autocompletion for Metabase in Clojure.
  • Implemented an ETL pipeline from a production MongoDB cluster to Amazon Redshift, making sure that we aren't transferring any PII or other sensitive information.
  • Profiled and implemented optimizations for a MongoDB cluster, resulting in 99 quantile of some frequent requests to drop from 5 seconds to 0.1 seconds.
  • Helped to debug and fix an issue with DNS cache poisoning of one of the telecom providers in Africa.
  • Did proof of concept, research, project estimations, and risk assessment of supporting KaiOS in the client's app's portfolio.
  • Developed a Kubernetes template to run Grafana and Prometheus in AWS EKS for monitoring metrics for different environments.
Technologies: Metabase, Clojure, Redshift, MongoDB, Amazon EC2, Node.js, Go, KaiOS

Core Team Tech Lead

2018 - 2019
Status.im
  • Reengineered ClojureScript based rendering of the chat formatting with Objective-C for iOS and Java for Android resulting in 50x performance improvements for long messages.
  • Set up an iterative release process with releases strictly every two weeks, resulting in easier collaboration between Engineering, UX, and Marketing because the release dates were fixed.
  • Handled and facilitated the bug bounty program and worked with external contributors, providing feedback, code reviews, and explanations resulting in 3x higher success rate of contributions.
  • Implemented Android Strongbox and iOS keychain (encrypted by Secure Enclave) support for the "save password" feature.
  • Fixed bugs and contributed to the third-party libraries that Status.im used, including React Native's Android 9 bug fixes, memory corruption in Realm.js, and various improvements to the react-keychain module.
  • Improved the CI system by switching our builds to Fastlane and (for iOS) Codesigning.guide approach.
Technologies: Ethereum, Instruments, Java, Objective-C, Gomobile, Go, ClojureScript, Fastlane, React Native

OPay System Architect

2017 - 2018
Opera
  • Implemented an independent system for tracking the outgoing vs. ingoing volume, connected to PagerDuty and a kill switch, and helped catch three misconfigured cashback promotions without losing money.
  • Picked the tech stack and architected, deployed, and delivered the first public version of OPay initiative in time with a team of five people.
  • Scaled OPay to 2,000,000 monthly active users and implemented HA mechanisms and optimizations that helped it to stay healthy during Christmas and Black Friday promotion campaigns.
  • Prepared OPay to successully pass PCI-DSS audit and security audits. Mentored the team about secure development practices.
  • Implemented the E2E test coverage of all happy scenarios in the OPay service, resulting in almost no bugs being found in the main use cases during the first six months of the service being live.
Technologies: React, Node.js, PCI DSS, PagerDuty, GitLab, Amazon Elastic Container Service (ECS), AWS ELB, Go

R&D Tech Lead

2016 - 2017
Opera
  • Developed news reader apps for iOS and Android for the Indonesian market with a team split between Sweden and China.
  • Released the news reader app to the App Store and Google Play with crash rates of less than 1%. My team and I were supporting them for the first four months.
  • Developed a social login (Twitter, Google, Facebook) for Opera Sync, coordinated to roll it out in three mobile browsers and a desktop browser.
  • Implemented four proofs of concept for other projects and demoed them to the executives. Two of them were approved to build a market-ready version and one was released.
Technologies: Crashlytics, C++, Rx, Swift, Objective-C

Mobile Tech Lead

2013 - 2016
Opera
  • Developed the new tabs UI for Opera for iOS using 3D transforms.
  • Designed and implemented a performance monitoring system for mobile browsers on iOS.
  • Improved the startup time of the iOS Opera Mini on iPhone 4S from nine seconds to three seconds.
Technologies: Crashlytics, Fastlane, Chromium, Objective-C++, Objective-C, Java

CTO/Co-founder

2012 - 2013
Flexymind
  • Developed a hiring program through free education courses for graduate students. Hired the initial team of three junior engineers for ourselves and recommended six more people to other startups in the same incubator.
  • Mentored the engineering team of junior developers using code reviews, lectures, and direct one-on-one feedback.
  • Together with the team, released three edutainment games for children for Android within one year.
  • Hired the designer/artist team and the art director. Helped coordinate work between them and the engineering team.
Technologies: Cocos2d, Android SDK, OpenGL ES

Test Automation Lead (SIP protocol)

2011 - 2012
RingCentral
  • Led and coached a team of three engineers to cover over 1,000 test cases with an SIP/RTP automation framework.
  • Implemented a Python-based test automation framework to write tests for SIP and RTP.
  • Conducted five trainings of the test automation framework for the outsourced teams.
Technologies: Ubuntu, RTP, Wireshark, SIP, C++, Python

Full-stack Developer

2008 - 2011
Agnitum
  • Developed a test automation framework for testing Windows applications based on PyWinAuto and VMware vSphere private cloud products.
  • Developed an automated workflow system for Jira that could have conditions. Helped to formalize and automate the whole release process, including steps for QA engineers' acceptance tests, marketing and social media releases, and developers.
  • Developed the back end for a suspicious file analysis system. Optimized storage using deduplication techniques based on the file's hash values. Integrated it with local antimalware tools and VirusTotal. Created a dashboard for malware analysts.
  • Developed an analytics system to funnel and organize download referrers from Agnitum's web store and show them as a dashboard in Jira.
  • Implemented a crawler to find suspicious files on the internet (usually small executable files with names based on some pattern).
Technologies: C#, Perl, VMware vSphere, Pywinauto, Flask, Tornado, Python, MongoDB, Jira, Jakarta EE, Java

C# UI Developer

2006 - 2008
A Russian Insurance Company
  • Implemented a reporting system for the insurance CRM based on Microsoft Visual Studio Tools for Office.
  • Implemented the UI for the internal CRM tool, including auto-completion in multiple places that reduced the number of typos in the documents.
  • Implemented an infinite scrolling collection view for Windows Forms.
  • Rewrote some parts of the app in XAML/WPF, improving the render speed by 2x.
Technologies: LINQ, Subversion (SVN), Visual SourceSafe, Windows Presentation Foundation (WPF), Windows Forms (WinForms), C#

Embedded Developer

2006 - 2007
Baltic State Technical University
  • Implemented a USB HID stack for the blood monitor using macro assembler for PIC microcontrollers. That allowed us to connect this device to Windows machines without specific device drivers.
  • Implemented client apps for desktop Windows and Windows CE for the blood monitor.
  • Implemented a USB device driver for Windows Mobile 5.0 using HID protocol for the blood monitor.
Technologies: Windows CE, Windows Mobile, C++, C#, Assembler

Turbo-Geth

https://github.com/ledgerwatch/turbo-geth
A fork of Go-Ethereum, focused on performance improvements. I've been a part of the core team of six people, responsible for both feature development and also taking new versions of Go-Ethereum and rebasing them to our own codebase.

Status.im

https://status.im
A cross-platform app (Desktop, iOS, Android) written using React Native and Gomobile to share code between platforms. It is a decentralized messenger with Ethereum blockchain node built in. I've been leading the core team, responsible for releases, performance improvements, and the overall stability of the application and its core functionality.

OPay payments

The payment gateway and a utility payment service with its own wallet. I was an architect, ultimately responsible for basically all technical decisions for the first version of this project and the first year of its operations. During that period, OPay reached a daily transaction volume of $1 million according to the investors' call.
2004 - 2010

Master's Degree in Computer Science

Saint-Petersburg Baltic State University - Saint-Petersburg, Russia

Libraries/APIs

React, Libp2p, NumPy, Pandas, Node.js, OpenGL ES, Pywinauto, Windows Forms (WinForms), LINQ

Tools

Git, iOS Instruments, Amazon Elastic Container Service (ECS), AWS ELB, Fastlane, Jenkins, GNU Make, Amazon EKS, Wireshark, CircleCI, Grafana, Vim Text Editor, Slack, GitHub, GitLab, Xcode, Android Studio, Jira, Trello, Pivotal Tracker, OmniPlan, Microsoft Project, DataGrip, Gomobile, Instruments, Crashlytics, VMware vSphere, Visual SourceSafe, Subversion (SVN)

Languages

Go, Objective-C, Swift, Java, Python 2, JavaScript 6, Perl, Clojure, C++14, C++, Python, C#, Assembler

Frameworks

React Native, iOS SDK, Gin-Gonic, ClojureScript, Android SDK, Rx, Cocos2d, Flask, Windows Presentation Foundation (WPF)

Paradigms

Scrum, Kanban, Kaizen, Test Automation, Parallel Programming, Concurrent Programming, Penetration Testing, ETL

Platforms

Docker, Ethereum, Amazon EC2, PagerDuty, Blockchain, Kubernetes, Google Cloud Platform (GCP), KaiOS, MacOS, Ubuntu, Buildkite, Jakarta EE, Windows Mobile, Windows CE, Visual Studio Code (VS Code)

Storage

MongoDB, Redshift

Other

OOP Designs, Cross-functional Team Leadership, Sprint Retrospectives, Browsers, Ethereum Open Source, Threat Modeling, Linux Administration, Open Source, Bug Bounty Program, Ginkgo, Team Mentoring, Metabase, R&D, Software Development, Optimization, Statistics, PCI DSS, Theory of Constraints, Fintech, Session Initiation Protocol (SIP), Prometheus, PMI, Early-stage Startups, Discord Bots, Protocol Design, Design, Objective-C++, Chromium, SIP, RTP, Tornado, Lightning Memory-Mapped Database (LMDB), BoltDB

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring