PDF (latest version) | github | email | Yerevan, Armenia
01.05.2025 - 31.05.2025
Tech used: JS, Deno
A workshop for high school students on building programming language. Shvi, the language, is inspired by LISP and is a simple notation for writing music. During the workshop, students will go through each step, gradually adding features and building a simple interpreter. The workshop is designed to be fun and engaging. It is open-ended from some point, to allow for creativity and exploration.
01.08.2024 - present
Tech used: Python, BeautifulSoup, PostgreSQL
Parsing Armenian laws and regulations from the official website of the Republic of Armeniato 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.
Tech used: React, Node.js, Next.js, PostgreSQL, Prisma
A shop, providing a wide range of printing services, like stickers, boxes, prints on clothes, etc. The project is in the late stages of development and needs supervision and some refactoring. The main goal is to make the code more readable and maintainable.
04.04.2022 - 18.07.2024
Tech used: Scala 2.13, Akka, Play, tAPIr, AWS SQS, IBM MQ, Cats
Overall I’ve spent about two years in two teams on a project in travel industry, automating cruise reservation flows across multiple agents and elements.
My main contribution to the project was a module to search plane tickets. I’ve managed to maintain a well-tested and coherent codebase and an structured repository, and learned that frequent demos calm the worried mind and help avoiding dirty estimates. Our team was able to experiment and agree on what’s good or bad, so we were able to affect our modules of the project both technically /code style and structure, tooling, practices/ and process-wise /CI\CD, branching strategy, code review, …/.
Soon after, I took up the role of the team lead of a team of five /team 1/ and led it for three months. The team was in charge of several modules central to the operation, both semantically and topologically. I tried to get better code reviews via pair programming and a clearer information flow via more inclusive requirement gathering in attempt to address system correctness issues. These, along with a few others ideas, did not work out due to different socioeconomic reasons. Nevertheless, the team was able to maintain a deliverable flow suiting the needs at the moment.
For the last two months, I’ve been primarily engaged in maintenance tasks, frequently collaborating with a colleague.
01.03.2020 - 01.06.2022
Tech used: Java/8/ as the main programming language, SerenityBDD, Gherkin, Cucumber, Selenium, Browserstack
Tasks: Design and implementation of a number of testing frameworks for online shops. Started as simple Selenium tests and gradually moved to SerenityBDD. Compilation of Gherkin scenarios from user requirements. Integration with Browserstack․ Development of toy projects in Java for exercising with juniors.
01.02.2018 - 01.03.2020
Tech used: Scala, Akka HTTP, MQL, Javascript, Python, Cython
Tasks: Design and implementation of the backend for a ticker data aggregator from different MetaTrader4 vendors in Scala and MQL, processing Excel workbooks with financial data from different providers /normalization, exporting to PDF/ in Python. Validation of a framework for testing collateralized loan obligations and implementation of tests for CLOs in that framework.
11.11.2016 - 01.02.2018
Tech used: Java as the main programming language, Scala, JavaScript. Spring, PostgreSQL, MongoDB, Apache Spark, Apache Kafka, JenkinsCI, RabbitMQ
Tasks: Design and maintenance of a REST API. Integration of third-party data sources. Doing all sorts of small things with techs above.
11.11.2014 - 11.11.2016
Tech used: Java as the main programming language. Java EE, Oracle RDBMS /PL SQL/, JSP
Tasks: Integration with a finmath library of a peculiar design. Integration with a number of asset-related data providers. Database design and development.
01.09.2009 - 11.11.2014
Tech used: C#, C++, Objective-C, NSIS, MySQL
Tasks: Employee DB /MySQL/ in C#. Chat module in Objective-C based on XMPP protocol /Facebook chat, GTalk, custom chat with configurable XMPP settings/. Media player with a 360 plugin based on VLC using QT and C++. Installer with crypto plugins in NSIS for the player.
01.12.2007 - 01.09.2009
Tech used: C/C++ as the main programming languages /COM, DCOM/
Tasks: Porting OmniTrust Protected Browser project to 64 bit. Implementation of features such as notes and highlighters for the editor of Castelle’s FaxPress project. Participated in the ProtectFile project for SafeNet-Inc.
01.07.2007 - 01.12.2007
Tech used: C++ as the main programming language /ATL, STL/, MySQL
Tasks: Design and implementation of an ORM for MySQL\C++ for an ERP application /early stages/. Library for custom report generation in rich text format.
25.12.2006 - 21.06.2007
Tech used: Erlang as the main programming language, Mnesia as DB, Yaws as webserver
Tasks: Integration for a number of Armenian banks with ARCA card processing.
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.