github | email | homepage | Yerevan, Armenia
08.05.2025 - current
Tech used: Scala 2, PredictionIO, Cats, Java 21, GCP
Maintaining and occasionally adding features to a recommendation engine built on top of PredictionIO in Scala 2 for large e-commerce platforms. Implementing the partial replacement for the engine in Java 21 with Spring Boot. Figuring out the domain via use-cases /AI ftw!/ and setting up meetings.
01.05.2025 - 31.05.2025
Tech used: JavaScript, Deno, LISP
A workshop for high school students on building programming languages. Shvi, the language, is inspired by LISP and is a simple notation for writing music. Students moved through each step, supported with reading material and unit tests, gradually adding features and building a simple interpreter. This later got its’ spinoff - Lyre.
01.03.2025 - current
Tech used: React, Next.js, PostgreSQL
I help develop and maintain a wide-range printing e-shop. Most of the time I’m in the backend, integrating logistics, adding logs or building images, but occasionally I’ll do some coding in the front. Mainly I steer both ends in terms of design and practices.
01.08.2024 - 08.05.2025
Tech used: Python, BeautifulSoup, PostgreSQL
Parsing Armenian laws and regulations from the official website of the Republic of Armenia to allow the users to search for certain laws and regulations by keywords. The project is in the early stages of development and is being done in Python.
Tech used: Scala 3, Cats, ScalaTest, PostgreSQL
Scraping certain e-shops for hot deals and sales. The frontend for this project is Telegram, so the admin panel, the staging channel and the actual channel are all in Telegram.
04.04.2022 - 18.07.2024
Tech used: Scala 2.13, Akka, Play, tAPIr, AWS SQS, IBM MQ, Cats
Built plane ticket search module for a big cruise company’s reservation system. Maintained well-tested codebase, established CI/CD practices and team processes, and mentored junior developers. Focused on frequent demos for expectation\anxiety management.
Led a team of 5 for a few months. To mitigate occasional misunderstanding and later system failures, we decided to resort to pair programming and early-on inclusive requirement gathering. Unfortunately, we were not able to sustain such practices at an acceptable pace for long enough, but the team was able to maintain a deliverable flow suiting the needs at the moment.
01.03.2020 - 01.06.2022
Tech used: Java 8, SerenityBDD, Cucumber, Selenium, Browserstack
Designed and implemented testing frameworks for a group of similar online shops, evolving from raw Selenium to well-structured SerenityBDD /required 3 rewrites/, integrated with Browserstack for cross-platform testing. Led training courses and mentored junior colleagues by developing toy projects for hands-on learning.
Pleasantly surprised to learn that a team of 2, given enough time and rigid practices, can get to a board with just 1-2 pointers. Note that the points are not the time it takes to do the task, but rather how well we understand what we shall do - a smoothness coefficient of a sort.
01.02.2018 - 01.03.2020
Tech used: Scala, Akka HTTP, MQL, Python, Cython
Built ticker data aggregator from MetaTrader4 vendors in Scala and MQL. Processed financial data from Excel workbooks, normalizing and exporting to PDF. Implemented tests for collateralized loan obligations framework.
11.11.2016 - 01.02.2018
Tech used: Java, Scala, Spring, PostgreSQL, MongoDB, Apache Spark, Kafka
Co-founded social betting platform. Designed and maintained REST API, integrated third-party data sources. Worked across the stack with Java, Scala, and various technologies. Learned entrepreneurial lessons alongside technical growth.
11.11.2014 - 11.11.2016
Tech used: Java EE, Oracle DB, PL/SQL, JSP
Securities valuation system processing data from multiple sources. Integrated finmath library for inflation bonds valuation. Built UI tools for asset valuation. Close collaboration with Frankfurt-based client for domain modeling.
01.09.2009 - 11.11.2014
Tech used: C#, C++, Objective-C, MySQL, XMPP, Qt
Employee database in C#/MySQL. Chat module in Objective-C based on XMPP protocol /Facebook chat, GTalk/. Media player with 360 plugin based on VLC using Qt and C++. Custom installer with crypto plugins in NSIS.
01.12.2007 - 01.09.2009
Tech used: C/C++, COM, DCOM
Ported OmniTrust Protected Browser to 64-bit. Implemented notes and highlighters for Castelle FaxPress editor. Participated in ProtectFile project for SafeNet-Inc.
01.07.2007 - 01.12.2007
Tech used: C++, ATL, STL, MySQL
Designed and implemented ORM for MySQL/C++ for ERP application. Built library for custom report generation in rich text format.
25.12.2006 - 21.06.2007
Tech used: Erlang, Mnesia, Yaws
Integration for Armenian banks with ARCA card processing system. First job working with Erlang ecosystem, running on BSDs with functional programming approach. Fortunate start to a career.
2013-2014
Courses: Concepts of Modern Programming Languages /Groovy, Scala, Io, …/, Embedded and Real-Time Systems /RTEMS/, System Behavior Models and Verification /PROMELA, NuSMV/
Tech used: Java, Xtext, Xtend, EMF, Alloy /relational modeling language/
Tasks: Implementation of the scheduler in jDEECo. Vehicle routing model /in Java, based on DEECo platform/. DSL design for CBSE
From 2004 to 2008, I pursued my Bachelor’s degree in Computer Science at The State Engineering University of Armenia in Yerevan, focusing on Cryptographic Algorithms and Information Security.
I, then, continued my education at The National Academy of Sciences of Armenia in Yerevan, where I earned my Master’s degree between 2008 and 2010, centering my studies around Information Theory.