Martun Karapetyan, Developer in Yerevan, Armenia
Martun is available for hire
Hire Martun

Martun Karapetyan

Verified Expert  in Engineering

Algorithms Developer

Yerevan, Armenia

Toptal member since September 11, 2017

Bio

Martun has over eleven years of experience as a software engineer, mainly working on algorithm-heavy applications with C++. He's worked for notable companies like Google and Mentor Graphics and has successfully delivered several challenging freelance projects. He loves innovating and delivering incredible products with the highest code quality. Martun communicates exceptionally well and does his best to over-deliver on every project.

Portfolio

American University of Armenia
Python, C#, Crypto++, C++
American University of Armenia
Object-oriented Design (OOD), Algorithms
Alteryx - Engines
C++, Multithreading, Algorithms, CMake, GitLab CI/CD...

Experience

  • Algorithms - 10 years
  • Linux - 10 years
  • C++ - 9 years
  • Object-oriented Design (OOD) - 7 years
  • NoSQL - 2 years
  • C# - 2 years
  • Python 3 - 2 years
  • MongoDB - 2 years

Availability

Part-time

Preferred Environment

Git, Qt, Linux, Vim Text Editor, Windows, Visual Studio

The most amazing...

...project I've collaborated on is a poker strategy software that is able to play champion level Texas Hold'em poker using reinforcement learning.

Work Experience

Senior Cryptography Researcher

2016 - PRESENT
American University of Armenia
  • Conducted deep research in several areas of cryptography as a part of a team of researchers.
  • Tested developed algorithms for security.
  • Implemented novel cryptographic schemes for performance testing.
  • Led the effort of younger team members—directing their research.
Technologies: Python, C#, Crypto++, C++

Lecturer

2016 - PRESENT
American University of Armenia
  • Lectured on the class Advanced Object Oriented Design to graduate students.
  • Lectured on the class Introduction to Algorithms to undergraduate students.
  • Checked homework and exams; held problem-solving sessions.
Technologies: Object-oriented Design (OOD), Algorithms

C++ Developer (Ukrainian or Russian speaking preferred)

2021 - 2022
Alteryx - Engines
  • Participated in developing several new features of the AMP engine as a part of the Engine team.
  • Tracked and fixed bugs related to the engine found both by test and users.
  • Organized the development processes used by the company.
Technologies: C++, Multithreading, Algorithms, CMake, GitLab CI/CD, Test-driven Development (TDD)

Machine Learning Engineer

2019 - 2020
SuperAnnotate
  • Managed active learning algorithms for segmentation, classification, human pose estimation, and object detection.
  • Collaborated on moving the Dexter algorithm to TensorFlow.
  • Created an Unet based building detection model for faster spatial image annotation.
Technologies: Python 3, PyTorch, Machine Learning, Image Processing

Software Engineer

2014 - 2016
Google
  • Worked on the YouTube Content ID team.
  • Developed features related to YouTube monetization.
  • Developed features related to claiming.
  • Helped to build some classifiers.
Technologies: Google Cloud Spanner, BigTable, Python, Java, C++

Software Engineer

2013 - 2014
Freelance Work
  • Development of a musical notes application.
  • Built software to view and edit musical notes.
  • Developed the transposition of musical notes.
  • Led the effort to integrate features into applications running on several platforms.
Technologies: C#, C++

Cryptography Research Assistant

2013 - 2013
American University of Armenia
  • Created novel white-box algorithms.
  • Conducted scientific research on cryptography and security analysis of algorithms.
  • Implemented invented systems with C++ for performance testing.
Technologies: Crypto++, C++

AI Researcher | Developer with C++

2012 - 2013
Freelance Work
  • Led a team of 3 to research and develop a poker-playing AI engine.
  • Researched existing machine learning algorithms for poker.
  • Implemented a poker strategy software.
  • Tested the maintenance of created software.
Technologies: Python, Boost, C#, C++

Software Engineer

2010 - 2012
Mentor Graphics
  • Worked on different EDA tools developed by the company.
  • Added support for an OASIS integrated circuit format to IC Station.
  • Helped improve the different features of IC Station's schematic editor.
  • Developed needed tests and reviewed teammates' code.
Technologies: Boost, C++

Junior Software Engineer

2010 - 2010
Instigate Design
  • Worked on several small projects.
  • Integrated VP8 video codec into one of company's products.
  • Developed a QT application for trading.
  • Wrote required tests following the instructions of my team lead.
Technologies: Qt, Java, C++

GitHub Link

https://github.com/martun
You can find several open-source projects that were developed by me in my GitHub account.

Adding OASIS Format Support to the IC Station and Schematic Editor

While working for Mentor Graphics, I was involved in adding OASIS file support to several EDA tools including the IC Station and Schematic Editor. OASIS is a more compact version of the industry standard GDSII format.

YouTube Monetization

While working for Google, I was involved in building and improving the video monetization and claiming features of YouTube.

AI Based Poker-Playing Software

While working for a freelance client, I led a team of four in building an AI poker-playing engine. The whole project was built from scratch using C++, including card clustering, hand strength, the Nash equilibrium training algorithm, and opponent modeling. At the end of the project, the system was able to play champion-level Texas hold'em poker.

White-Box Encryption Based on SAFER+

I led a scientific team of cryptographers in building a white-box implementation of a SAFER+ encryption algorithm. Extensive research was done and a C++ implementation was provided. The novel cryptosystem was then sold to Samsung to be patented.

Musical Notes Application

While working for a freelance client, I worked as part of the team which was building a musical notes application. The app was able to run on a web page, desktop computer, and mobile—providing the ability to the users to get musical notes for popular songs, then edit and mix them.
2014 - 2017

PhD Degree in Cryptography

Armenian National Academy of Sciences - Yerevan, Aremenia

2012 - 2014

Master's Degree in Computer Science

American University of Armenia - Yerevan, Aremenia

2008 - 2012

Bachelor's Degree in Informatics and Applied Mathematics

Yerevan State University - Yerevan, Aremenia

Libraries/APIs

Crypto++, PyTorch

Tools

Visual Studio, Vim Text Editor, Git, CMake, GitLab CI/CD

Languages

C++, C#, Python, Python 3, Java

Paradigms

Object-oriented Design (OOD), Test-driven Development (TDD)

Platforms

Blockchain, Windows, Linux

Storage

Database Modeling, MySQL, MongoDB, NoSQL, PostgreSQL, BigTable, Google Cloud Spanner

Frameworks

Boost, Qt

Other

Data Structures, Algorithms, Cryptography, Machine Learning, Image Processing, Multithreading

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