Download PDF

Summary

Since I have started my career, I have learned a lot of programming languages, worked on a lot of projects within different teams. And the way I passed made me the programmer I am and filled me with interests I have. During that time I have started to understand structure and design of different programming languages and frameworks and needs of different teams I have come with an idea of a framework and then with an idea of a language based on that framework. I have started to work on both framework and language but even I haven't finished any of them, I'm glad I have had such inspiration, imagination, and understanding of needs of teams and beauty of the art of programming.

Work experience

Jul 2016Present

Web Developer

VMware Armenia

I have worked in vROps which is web-based monitoring application for vCenter servers. The application is based on Java with ExtJS web UI. But I have also used NodeJS for some tasks with the grunt, gulp and also I have created some mockups with Angular. Here I get deeper in NodeJS and Angular and loved them. I wrote a tool with NodeJS which increased the performance of vROps UI for 6 times by bundling their scripts(tests were done for DSL network throttling).

Apr 2017Aug 2017

Angular Instructor

ACA

This was a training which I have started with ECMAScript 5 and went deeper in it: I talk about primitives and references, operators, variable and function hoisting, prototypes, factories and constructors, and prototypical inheritance in depth. Lately, we started ES6, native DOM, jQuery(just as a tool), and then TypeScript. Then we have started Angular. I talked about Angular components, services, modules, attribute directives, structural directives, RX, HttpClient, etc. In RxJS I talked about Observers, Observables, and Subjects, BehaviourSubjects, ReplaySubjects, AsyncSubjects and some operators. Then I have split the team into two teams each of them have finished a small CRM project with Angular Material.

Feb 2014Jul 2016

Software Developer

Ogma Inc.

Ogma is the place where I have started my programming career. Even though I know C++ and wasn't too bad in it I have started to work there as an HTML & CSS developer. Lately, I have learned less, SCSS. Then I got deeper in JavaScript and switched to front-end developer position. I have learned also C# and get deeper in it and started to work as a full stack developer. The applications I have worked in was with KendoUI in front-end and generally, they have had C# backend. As I love to always learn new libs and frameworks I have started to learn AngularJS and have my own space to develop myself on it. I have also used it in a small self-defined project to get deeper in its problems and features. During the time I have used it, I understood that it's hard for debugging and that its lifecycle hooks aren't good enough(I didn't like it's directive phases: compilation and linking). Then I also have started learning NodeJS with express, also the pure NodeJS. And I have learned and got deeper in the most powerful tool in search and string manipulation: RegExp. I have started with JavaScript RegExp and then learned C# RegExp also. Since I have learned RegExp I have started to use it in all my searches in a code for I can feel comfortable in it.

Skills

NodeJS

I've started to learn NodeJS even when I was working at Ogma Inc. Then I loved it and it becomes my favorite tool for writing several small solutions and even big ones. I have started to use it for learning purposes, then to simplify my work(e.g. a small tool which unzips tar.gz file of a JetBrains product package and installs it(moves to a specific location and creates a link to it from application list)). Then I have learned it and used for some tests and some bigger tools and at VMware, I authored a tool which increased the loading of vROps UI considerably by bundling their ExJS scripts.

Angular & RX

I have learned and used Angular and RX for small projects and some mockups. Then I got deeper in Angular and instructed it with RX in a team of 6-7 students and at the end, they finished a small CRM project with the angular material. I think that Angular is very powerful and beautiful and its concepts are well designed. I love it.
Also, I learned, used, and spoke about Angular Universal, which is a great feature for nowadays web. So I suggest Angular everyone and I'm sure that it'll have a big future along with React.

C#

I have learned C# at Ogma and I have loved it a lot. I think that Dot Net is designed very well and that C# is very good language based on Dot Net framework. I love its structure and concepts. I loved Delegates and lambdas, RegEx and Reflection there. I also love the LINQ in C#. And I think that it's a great feature which is making C# much more beautiful.

RegExp

RegExp is one of most powerful tools for search and string manipulation I have ever used. I have learned it when I was at Ogma.  And I was using it for searches(a lot of code editors are supporting RegExp in their searches) and for small replacements. Then I get deeper in it when I have done my coursework with it. Now, I have used it so much that it become my primary tool for every search and replacement. During my coursework I got deeper also in C# RegEx since the coursework itself was in C# and I have learned its balancing groups and have some recursion based on them.

SQL

I have learned SQL at Ogma. And at the beginning, I haven't loved it because I didn't understand its lifecycle but when I have started to plan projects and think larger I have started to understand both how to design a DB with SQL alongside with SQL query lifecycle. I have a lot of projects and lot of small own works where I have designed a lot of DBs with SQL. Lately, I have learned a lot about it and its queries and structure during SQL class at University. I have started with MSSQL. Then for using SQL for my own projects I have learned MySQL and loved it very much. Lastly, I have started to learn PostgreSQL and I see it much more powerful than both MSSQL and MySQL are and it has better tools for working with NoSQL fields. And I think I'll keep using PostgreSQL for my future projects.

Polymer + WebComponents

Since I'm very interested in any new feature and tool and in their design, when I met an article about Web Components I can't pass it. And then I have started to learn Web Components and as I love google I started to learn Polymer. I love both of them and I believe that PWAs are the feature of web development. I'm very interested in them and I'm waiting for a chance to go deeper in Web Components.

Design Patterns

From the beginning of my practice, I was learning Design Patterns everywhere: in every book and every class and every technique I was getting deeper and deeper in Design Patterns. Until one day I have started to read about Design Patterns. During that reading, I understood that the most part of them I have already learned and the other ones I have used even without knowing about them. I think that Design Patterns are playing very important role in nowadays programming and that every programmer should learn and use Design Patterns in order to make their code better.

JavaScript

My very first steps in JavaScript were when I was at the first course and a guy from our University started seminars about JavaScript. I just knew C++ and I loved JavaScript from the first look. Later in Ogma, I got deeper in it and started to work with them. I get so deep them my manager at Ogma saw that and moved me from HTML & CSS team to development team. I got deeper in JavaScript as much as I have had a chance and every day I'm learning it with its new features. I have started to learn Harmony JS even when it was in the draft. I loved it, its features. And I think that JavaScript is in its right way. I have also started to understand some best practices in ES5 when I was learning Harmony JS. I'm glad I know JavaScript and that I have a chance to write a code with it. I'm doing it with a great pleasure. And I think I'll always love it.

C++

C++ is the first programming language I have learned. I loved it and started to give it more time to learn and understand its features until one day when I started to learn JavaScript. And since I'm working with JavaScript now I don't have enough time to make my C++ knowledge better but time after time I'm giving some time to learn a little bit more of it.

Projects

Aratare framework

The idea was born when I was learning ES6 and the framework itself is based on ES6. I have designed it to use new features of Harmony JS and to make art on it. I have designed some API which gives an ability to have Attributes, Interfaces, DecoratorAttriubutes(Attribute which implements Decorator interface), enums which are more like to Java enums, and some other features which are using mentioned ones. I have implemented the most part of this and planned to add also some other features like new RegExp with recursion feature. The framework is designed to use with a language based on it but can also be used separately.

VeniaScript

When I was starting to learn ES6 the idea of the creation of a new framework was born which will be helping with a lot of work making them simple and easy. But after learning TypeScript I have come with an idea of a new transpiling programming language based on the framework I was started to design. And with the idea of this language framework also started to grow in another way: not just as a framework but as a framework for a language.
The language itself is an extension of ES6. With the use of new Harmony features the VeniaScript brings new ideas like Attributes(like Java annotations), Decorators(attributes with additional functionality to modify their target), enums, interfaces and other language extensions(e.g. `using` keyword which makes you able to use some "extensions" to add some methods on types, objects or to global scope without really changing them but instead keeping those extensions scoped to your module).
As the author of VeniaScript, I think that the language is great and will have great future and wide usage.

Education

20132017

Bachelor at Yerevan State University

Informatics and Applied Mathematics

University filled me with a knowledge. It gives me a lot. I've learned not only programming but also I understood the power of math and its application in programming and in our life. I learned things which seem to be weird to me but they were a part of some beauty I wasn't able to see. The University helped me to see the way I shall follow and the knowledge I have to gather.

20172019

Master of Science

Yerevan State University

I have started to love programming and decided to master in it. I love it and need to be aware of the right way using my talent.

Additional Knowledges and Skills

IA32 assembly and architecture basics

I have learned some basics of Assembly and Architecture of IA32 processors at University. I have used Intel documentation and learned IA32 processors' work in real, protected and virtual modes also processor cooperation in case of multiple cores. And I'm glad that I have gone deeper and have learned processor caching: its basics and benefits. I'm sure that the knowledge of such things is making the programmer to understand the work with memory and to chose right Data Structure in his code.

Data Structure

I have started to learn Data Structures during University course. But I get deeper in it and I think that the knowledge of it is very important for every programmer. I have also learned how to implement some of them and with their functionalities. Now I'm suggesting everyone the same thing: to pass the way I passed and learn the Data Structures with their implementations since I'm sure that it's very important.

TypeScript

I have learned TypeScript for angular and used it generally for angular. But when I was using that I've started to love it. I don't think that it's making JavaScript to be typed language but that it's making the work of JavaScript developers to be easier with helping them to be sure that they're using right functions with right arguments or that they're using the API they're using in the right way.

AngularJS

AngularJS was both beautiful and trending when it was young. I have had a small experience with it and have loved it. But its debugging process also was too hard. And its directive lifecycle hooks were too complicated. So I think that the time of AngularJS was passed and that nowadays such slow and "bounded to ClientSide-only rendering" frameworks can't be trending.

HTML & CSS + less & SCSS

At the very beginning, I have started my career with HTML & CSS. I haven't used any UI building tool or API before them. After I have learned some CSS preprocessors(less & SCSS) and I was wondered with them. I have also learned and use some other GUI tools like C# Windows Forms and I think that the future of UI development should be HTML & CSS or some other extension of HTML with Web Components and some better CSS enhancement.

Wolfram Mathematica

I have learned and used Wolfram Mathematica only in university and only for the solution of simple mathematical tasks but my friends also build some neural network on it. So I'm sure that it's very powerful and I'm glad I have learned and used it.