Impactian EToD™ Developer (2%)
Extraordinary Talent on Demand™
Max
Krioutchkov
Python Developer
Software Developer in Christchurch, New Zealand
Python
C++
C++17
MySQL
.NET
JavaScript
C#
Web Development
HTML
Git
Algorithms
Multi-Threaded Systems
Qt
Oracle SQL
HIRE
Python Developer
Impactian EToD™ Developer (2%)
Max Krioutchkov
Software Developer in Christchurch, New Zealand
Python
C++
C++17
MySQL
.NET
JavaScript
C#
Web Development
HTML
Git
Algorithms
Multi-Threaded Systems
Qt
Oracle SQL
About
Max is a senior developer who has worked in both back-end and full-stack roles. He has primarily worked on developing payment gateways, where he contributed to robust, reliable, scalable, and performant systems. He specializes in C++, Python, and C#.NET, and front-end technologies such as HTML, CSS, and JavaScript.
Skills
Languages
C++, C++17, Python, C#, .NET, MySQL, JavaScript, Python 3
Frameworks
.NET , Qt
Libraries/APIs
Boost, STL, Chart.js
Platforms
Unix, Linux, Redhat Linux, Windows
Storage
MySQL, Oracle SQL, MSSQL (Microsoft SQL Server)
Other
x64 Assembly, SIMD, SSE, AVX, AVX-512, Object-Oriented Programming, Functional Programming, Event-Driven Programming, Microservices
Tools
GCC, Clang, MSVC, Valgrind, GDB
Experience
C++
7 years
MySQL
4 years
Python 3
2 years
C#
2 years
.NET
2 years
HTML
2 years
CSS
2 years
Highlight Projects
Transaction Visualization
Full-stack project to add real-time visualization to billions of merchant transactions.
Payment Express
  • Payment Express is a major payment gateway in Oceania and other parts of the world. It handles over a billion point-of-sale and e-commerce transactions every year.
  • Developed full stack workflow that utilized event-driven programming to bucket transactions (running totals) which allowed for fast aggregated queries. This allowed many complex queries to execute quickly e.g. a major merchant (with 100+ million transactions a year) could make a request to get a monthly breakdown of their transactions for 5 years, and get a response in milliseconds.
  • Created a service that specifically handles bucketed requests.
  • Developed a front-end using Chart.js that allowed merchants (and Payment Express itself) to visualize their transactions with graphs in the browser.


Major code modernization
When I arrived at Payment Express the company's primary transaction processing service would periodically crash, primarily due to many race conditions. Due to a good fail-over mechanism, the company got away with this for a long time with minimal customer interruption. However, as volume increased, it became more of an issue and I was tasked to solve these problems.
Payment Express
  • Refactored large parts of the code base to use safer multi-threaded mechanisms, specifically this meant using RAII around caches.
  • Improved cache performance with slim read-write (SRW) locks (before it was write-only, even though most threads only ever read the caches).
  • Further improved cache performance by using boost::multi_index_container, allowing caches to be indexed on multiple keys and composite keys.
  • Made the code much more scalable, and safe to work with, primarily by making used of many C++ language features e.g. RAII, smart pointers, and template metaprogramming.
  • Fixed many memory leaks, partially due to refactors (using plain objects and smart pointers), and partially by inspecting memory dumps taken from production and finding patterns/leaks
  • Improved service performance so it can easily go an entire three-month release cycle without crashing or needing to fail-over due to increased memory consumption.
CPDLC support in the front and middle tier
Airways is New Zealand's only civilian air-traffic service provider. I was tasked to develop Controller-Pilot Data Link Communication (CPDLC) support in the middle layer and front-end (Qt framework) of the new Air Traffic Management system that they were developing as a partner of Leidos. I successfully added support for all the different CPDLC message types.
Airways New Zealand
Map Layer Rendering
I was tasked to develop map layer rendering to be used by the new Air Traffic Management system that I was working on. This was done using Qt's Graphics View framework. The framework was expected to be able to parse the custom CSV format that existed in the old system, convert it to QGraphicsItems, and render it on a QGraphicsScene. I also added support for new features that were not supported by the old system e.g. custom fill patterns.
Airways New Zealand
C++ Knowledge Questions
Karat is a company that specializes in conducting technical interviews on behalf of many companies. While I am primarily an interviewer on their platform, I've done some content development work. In particular, due to my extensive C++ skills and experience, I developed some knowledge questions that were centered around testing a candidate's knowledge of best practices in modern C++.
Karat
Work Experience
Senior Interview Engineer, Quality Control, and Content Developer
Karat
|
Jun 2019 - Present
  • Freelance
  • Developed content for C++ knowledge questions.
  • Conducted around 350 technical interviews.
  • Acted as a quality controller for over 1700 other interviewer's interviews.
  • Reviewed content and test cases for new coding questions, with a focus on time/space complexity analysis of possible approaches to the questions (leetcode).
Python 3
Algorithms
Data Structures
C++
Time/Space Complexity Analysis
Leet Code
Software Engineer
Airways New Zealand
|
Apr 2018 - Apr 2020
  • Contract
  • Developed many features for the new Air Traffic Management system such as Controller Pilot Data Link Communication (CPDLC) that allowed for messaging between air traffic controllers and aircrafts.
  • Developed map layer rendering using Qt.
  • Created a generic C++ library that wrapped many legacy components of the back-end system and adapted them for use in the middle layer.
  • Code reviews.
  • Worked in an international team (with Leidos) to implement a new air traffic management platform.
C++
Qt
Senior Software Engineer
EML Payments
|
Sep 2018 - Mar 2019
  • Contract
  • Improved previous pin validation method to use pin offset (using an HSM) that allowed pin changes.
  • Implemented MDES support (MasterCard digitization) on the application to allow customers to digitize their credit cards on their smart phones.
  • Developed a web API to allow customers to send test transactions in JSON format that was translated to ISO-8583 in the background before being forwarded to the host.
C#
.NET
Microservices
C++
Oracle SQL
Software Engineer
Payment Express
|
Jun 2015 - Sep 2017
  • Built data visualization tools for merchants.
  • Implemented a new library for database access. This library was used to re-write the majority of existing core functionality; making overall quality of core code a lot better in terms of developer time, bug proneness and efficiency. 
  • Re-wrote breadcrumb trails for the front-end rendering engine.
  • Implemented major internet technology improvements to the main host that improved reliability, scalability, and performance.
  • Developed several new features for front-end rendering engines.
  • Implemented a system for making Ajax requests bounded to back-end DAO objects
  • Improved the audit trail system, making it easier to see all changes to a record over time (e.g. who, when, and what changes were made).
  • Created customizable transaction receipts (ecommerce only); allows merchants to control what card holders see if they request a receipt.
  • Improved card holder and merchant receipt styling and information. 
C++
MySQL
JavaScript
HTML5
Software Engineer
Pebble Beach Systems
|
May 2014 - Jun 2015
  • Developed new features for device drivers (e.g. support for new commands).
  • Implemented device redundancy on a channel level (i.e. channel redundancy).
  • Migrated playlist from a competitor's format.
  • Performed de-bugging for main host service of the broadcast automation systems.


C++
MySQL
Software Engineer
Game and Wildlife Conservation Trust
|
Aug 2012 - Aug 2013
  • Transferred a multivalued DOS database to a modern SQL database.
  • Developed software solutions to assist with classifying biological data (e.g. camera-trap photographs).
  • Migrated a statistical analysis program for analyzing compositional data. The migration was from DOS-BASIC (ran in DOSBox emulator) to C++11.
  • Maintained several of GWCT’s websites and fixed bugs.


C#
.NET
Python
C++
MySQL
Code Reviewer
Geektastic
|
Jun 2019 - Present
  • Part-time.
  • Reviewed C++ codes on the Geektastic platform.
C++
Education
City University of London
London, UK
|
Sep 2010 - Sep 2014
Bachelor's Degree in Software Engineering (1st Class Degree with Professional Placement)
About
Max is a senior developer who has worked in both back-end and full-stack roles. He has primarily worked on developing payment gateways, where he contributed to robust, reliable, scalable, and performant systems. He specializes in C++, Python, and C#.NET, and front-end technologies such as HTML, CSS, and JavaScript.
Skills
Languages
C++, C++17, Python, C#, .NET, MySQL, JavaScript, Python 3
Frameworks
.NET , Qt
Libraries/APIs
Boost, STL, Chart.js
Platforms
Unix, Linux, Redhat Linux, Windows
Storage
MySQL, Oracle SQL, MSSQL (Microsoft SQL Server)
Other
x64 Assembly, SIMD, SSE, AVX, AVX-512, Object-Oriented Programming, Functional Programming, Event-Driven Programming, Microservices
Tools
GCC, Clang, MSVC, Valgrind, GDB
Experience
C++
7 years
MySQL
4 years
Python 3
2 years
C#
2 years
.NET
2 years
HTML
2 years
CSS
2 years
Highlight Projects
Transaction Visualization
Full-stack project to add real-time visualization to billions of merchant transactions.
Payment Express
  • Payment Express is a major payment gateway in Oceania and other parts of the world. It handles over a billion point-of-sale and e-commerce transactions every year.
  • Developed full stack workflow that utilized event-driven programming to bucket transactions (running totals) which allowed for fast aggregated queries. This allowed many complex queries to execute quickly e.g. a major merchant (with 100+ million transactions a year) could make a request to get a monthly breakdown of their transactions for 5 years, and get a response in milliseconds.
  • Created a service that specifically handles bucketed requests.
  • Developed a front-end using Chart.js that allowed merchants (and Payment Express itself) to visualize their transactions with graphs in the browser.


Major code modernization
When I arrived at Payment Express the company's primary transaction processing service would periodically crash, primarily due to many race conditions. Due to a good fail-over mechanism, the company got away with this for a long time with minimal customer interruption. However, as volume increased, it became more of an issue and I was tasked to solve these problems.
Payment Express
  • Refactored large parts of the code base to use safer multi-threaded mechanisms, specifically this meant using RAII around caches.
  • Improved cache performance with slim read-write (SRW) locks (before it was write-only, even though most threads only ever read the caches).
  • Further improved cache performance by using boost::multi_index_container, allowing caches to be indexed on multiple keys and composite keys.
  • Made the code much more scalable, and safe to work with, primarily by making used of many C++ language features e.g. RAII, smart pointers, and template metaprogramming.
  • Fixed many memory leaks, partially due to refactors (using plain objects and smart pointers), and partially by inspecting memory dumps taken from production and finding patterns/leaks
  • Improved service performance so it can easily go an entire three-month release cycle without crashing or needing to fail-over due to increased memory consumption.
CPDLC support in the front and middle tier
Airways is New Zealand's only civilian air-traffic service provider. I was tasked to develop Controller-Pilot Data Link Communication (CPDLC) support in the middle layer and front-end (Qt framework) of the new Air Traffic Management system that they were developing as a partner of Leidos. I successfully added support for all the different CPDLC message types.
Airways New Zealand
Map Layer Rendering
I was tasked to develop map layer rendering to be used by the new Air Traffic Management system that I was working on. This was done using Qt's Graphics View framework. The framework was expected to be able to parse the custom CSV format that existed in the old system, convert it to QGraphicsItems, and render it on a QGraphicsScene. I also added support for new features that were not supported by the old system e.g. custom fill patterns.
Airways New Zealand
C++ Knowledge Questions
Karat is a company that specializes in conducting technical interviews on behalf of many companies. While I am primarily an interviewer on their platform, I've done some content development work. In particular, due to my extensive C++ skills and experience, I developed some knowledge questions that were centered around testing a candidate's knowledge of best practices in modern C++.
Karat
Work Experience
Senior Interview Engineer, Quality Control, and Content Developer
Karat | Jun 2019 - Present
  • Freelance
  • Developed content for C++ knowledge questions.
  • Conducted around 350 technical interviews.
  • Acted as a quality controller for over 1700 other interviewer's interviews.
  • Reviewed content and test cases for new coding questions, with a focus on time/space complexity analysis of possible approaches to the questions (leetcode).
Python 3
Algorithms
Data Structures
C++
Time/Space Complexity Analysis
Leet Code
Software Engineer
Airways New Zealand | Apr 2018 - Apr 2020
  • Contract
  • Developed many features for the new Air Traffic Management system such as Controller Pilot Data Link Communication (CPDLC) that allowed for messaging between air traffic controllers and aircrafts.
  • Developed map layer rendering using Qt.
  • Created a generic C++ library that wrapped many legacy components of the back-end system and adapted them for use in the middle layer.
  • Code reviews.
  • Worked in an international team (with Leidos) to implement a new air traffic management platform.
C++
Qt
Senior Software Engineer
EML Payments | Sep 2018 - Mar 2019
  • Contract
  • Improved previous pin validation method to use pin offset (using an HSM) that allowed pin changes.
  • Implemented MDES support (MasterCard digitization) on the application to allow customers to digitize their credit cards on their smart phones.
  • Developed a web API to allow customers to send test transactions in JSON format that was translated to ISO-8583 in the background before being forwarded to the host.
C#
.NET
Microservices
C++
Oracle SQL
Software Engineer
Payment Express | Jun 2015 - Sep 2017
  • Built data visualization tools for merchants.
  • Implemented a new library for database access. This library was used to re-write the majority of existing core functionality; making overall quality of core code a lot better in terms of developer time, bug proneness and efficiency. 
  • Re-wrote breadcrumb trails for the front-end rendering engine.
  • Implemented major internet technology improvements to the main host that improved reliability, scalability, and performance.
  • Developed several new features for front-end rendering engines.
  • Implemented a system for making Ajax requests bounded to back-end DAO objects
  • Improved the audit trail system, making it easier to see all changes to a record over time (e.g. who, when, and what changes were made).
  • Created customizable transaction receipts (ecommerce only); allows merchants to control what card holders see if they request a receipt.
  • Improved card holder and merchant receipt styling and information. 
C++
MySQL
JavaScript
HTML5
Software Engineer
Pebble Beach Systems | May 2014 - Jun 2015
  • Developed new features for device drivers (e.g. support for new commands).
  • Implemented device redundancy on a channel level (i.e. channel redundancy).
  • Migrated playlist from a competitor's format.
  • Performed de-bugging for main host service of the broadcast automation systems.


C++
MySQL
Software Engineer
Game and Wildlife Conservation Trust | Aug 2012 - Aug 2013
  • Transferred a multivalued DOS database to a modern SQL database.
  • Developed software solutions to assist with classifying biological data (e.g. camera-trap photographs).
  • Migrated a statistical analysis program for analyzing compositional data. The migration was from DOS-BASIC (ran in DOSBox emulator) to C++11.
  • Maintained several of GWCT’s websites and fixed bugs.


C#
.NET
Python
C++
MySQL
Code Reviewer
Geektastic | Jun 2019 - Present
  • Part-time.
  • Reviewed C++ codes on the Geektastic platform.
C++
Education
City University of London
London, UK | Sep 2010 - Sep 2014
Bachelor's Degree in Software Engineering (1st Class Degree with Professional Placement)