Martun Karapetyan, Developer in Yerevan, Armenia

Martun Karapetyan

Algorithms Developer

Location
Yerevan, Armenia
Toptal Member Since
September 11, 2017

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.

Martun is available for hire
Hire Martun

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...

Location

Yerevan, Armenia

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

2016 - PRESENT

Senior Cryptography Researcher

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++
2016 - PRESENT

Lecturer

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
2021 - 2022

C++ Developer (Ukrainian or Russian speaking preferred)

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)
2019 - 2020

Machine Learning Engineer

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
2014 - 2016

Software Engineer

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++
2013 - 2014

Software Engineer

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++
2013 - 2013

Cryptography Research Assistant

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++
2012 - 2013

AI Researcher | Developer with C++

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++
2010 - 2012

Software Engineer

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++
2010 - 2010

Junior Software Engineer

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++

Experience

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.

Skills

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

Other

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

Frameworks

Boost, Qt

Libraries/APIs

Crypto++, PyTorch

Tools

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

Education

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