Anna Avanesyan, Developer in Yerevan, Armenia
Anna is available for hire
Hire Anna

Anna Avanesyan

Verified Expert  in Engineering

Node.js Developer

Location
Yerevan, Armenia
Toptal Member Since
June 24, 2021

Anna is an experienced back-end engineer with over five years experience in top IT companies and a BBA in computer science from the American University of Armenia. She has extensive experience creating and maintaining RESTful microservice applications using Node.js and Nest.js and databases with mobile and web payment systems integration. Anna has developed applications that have served over 150 million monthly active users.

Portfolio

Slate
Node.js, AWS SDK, AWS Lambda, Amazon DynamoDB, EventBus, Amazon S3 (AWS S3)...
PicsArt
JavaScript, Node.js, Express.js, Microservices, RESTful Microservices, MongoDB...
Varda
TypeScript, TypeORM, Apache Kafka, Apache Airflow, Amazon S3 (AWS S3)...

Experience

Availability

Part-time

Preferred Environment

Slack, Node.js, Koa, PostgreSQL, MongoDB, Jira, TypeScript, Confluence, NestJS, JavaScript

The most amazing...

...project I've worked on is a photo and video editing platform with over 20 million downloads. I developed a major part of its subscription and payment system.

Work Experience

Senior Back-end Engineer

2023 - PRESENT
Slate
  • Contributed to and improved the existing codebase using Node.js, DynamoDB, and AWS services.
  • Designed and developed a serverless application with NestJS and AWS SAM for team organization management.
  • Added integration proxies with photo/video delivery platforms (e.g., Tempus Ex) and provided web and mobile clients APIs.
  • Worked on various asset types, including filters, audio, and fonts in image and video formats, and documented the process in the technical requirements document.
Technologies: Node.js, AWS SDK, AWS Lambda, Amazon DynamoDB, EventBus, Amazon S3 (AWS S3), Amazon CloudFront CDN, Lexorank, OpenAI, Zod Schema, NestJS, AWS SAM, Serverless, Slack, Tempus Ex, Datadog

Senior Software Engineer

2020 - 2023
PicsArt
  • Designed and developed a microservice for subscription and monetization of the platform using Node.js and NestJS. Separated and refactored the microservice from the main monolith architecture of the app.
  • Added RESTful APIs and event handling support for Apple, Google, WeChat, Alipay, Adyen, PayPal, and Docomo purchases and subscriptions.
  • Created a Jenkins job based on Kubernetes and Docker for accessing and running needed queries with a database often used for old and new data correction.
  • Integrated event tracking for Apple and Google used for saving payment event callbacks, such as cancel, purchase, and on hold, into a database and updating existing order info.
  • Integrated Datadog for error handling and viewing data using charts.
  • Used Jira for task creation, bug reports, and project maintenance.
  • Generated REST APIs with documentation such as Swagger or Postman Collections for client usage and client library generation.
  • Integrated external analytical event handling using AppsFlyer, Braze, Facebook events, and other services.
  • Transferred repositories from GitHub to GitLab and set up automation pipelines, jobs, and deployments.
  • Covered project APIs with unit and integration tests using Jest.
Technologies: JavaScript, Node.js, Express.js, Microservices, RESTful Microservices, MongoDB, Kubernetes, Mongoose, Docker, Apple Pay, Android Pay, WeChat, PayPal, Adyen Payments, Stripe, Git, GitHub, TypeScript, NestJS, APIs, REST, REST APIs, GitLab, GitLab CI/CD, Integration, Integration Testing, Unit Testing, Swagger, Postman, Back-end, ESLint, Payment APIs, Jira, Confluence, NoSQL, CI/CD Pipelines, Web Development, Mobile Development, Kubernetes Operations (kOps), Kube, API Integration

Software Engineer

2022 - 2022
Varda
  • Architected and developed a back-end application using TypeScript and TypeORM, coupled with MongoDB's large dataset database.
  • Developed a generally used uploader for validation and uploading files to AWS S3 using temporary security credentials based on assuming role functionality of AWS SNS.
  • Used Apache Kafka for ingesting files or data to one or more targets from multiple data sources such as Kafka, MongoDB, or plain body.
  • Contributed to the process of creating and running Airflow DAGs for managing database tasks.
  • Covered project APIs with unit and integration tests using Jest.
Technologies: TypeScript, TypeORM, Apache Kafka, Apache Airflow, Amazon S3 (AWS S3), Amazon Simple Notification Service (Amazon SNS), APIs, REST, REST APIs, Integration Testing, Unit Testing, NestJS, Back-end, ESLint, Auth0, Amazon Web Services (AWS), Jira, Confluence, Postman, Web Development

Back-end Engineer

2021 - 2022
Yara
  • Developed a REST API multi-environment server application based on TypeScript and Express.
  • Set up Redshift and DocumentDB database schemas, models, and relations using TypeORM. Experienced aggregated queries and complex joins for interaction with large data sets.
  • Added machine-to-machine and web server Auth0 authorization for application security in development and production environments. Created user groups, roles, and permissions for user management and ACL.
  • Developed and deployed Swagger Docs for the application with basic and Auth0 authorizations.
  • Created Dockerfiles for application and Swagger deployment.
  • Configured test environment using Jest and added integration and unit test coverage for all of the APIs.
  • Created Confluence pages with technical documentations.
Technologies: TypeScript, TypeORM, JavaScript, Node.js, Express.js, Redshift, Amazon, Amazon S3 (AWS S3), SQL, DocumentDB, Winston, Swagger, Auth0, Confluence, ACL, ESLint, REST APIs, APIs, Back-end, Amazon Web Services (AWS), Jira, Integration Testing, Postman, Web Development, API Integration

Back-end Engineer

2018 - 2020
Develandoo
  • Developed REST APIs based on Koa Framework with Passport user authentication support.
  • Designed a PostgreSQL-based database and worked on it with Sequelize ORM and Redis for key-value storing.
  • Integrated ACL for role-based access management and permission control for different user roles.
  • Designed and developed a small application based on AWS Lambda functions for storing website survey information in AWS DynamoDB Database.
  • Integrated many in-app and push notifications services, such as AWS SNS, Socket.IO, and SendGrid for email notifications.
  • Created Docker files for app deployment with the combination of Docker Compose Yamls for multi-container running.
  • Integrated Stripe Payments for payment transactions.
  • Published an article called How to Implement Stripe Connect Payment System on Your Application Using Node.js to Medium.
  • Worked on an Agile framework for tracking and fixing bugs on Jira.
  • Integrated POEditor for website and mobile localization.
Technologies: Node.js, Koa, REST, Web MVC, PostgreSQL, Sequelize, Docker, Docker Compose, Passport.js, Amazon Web Services (AWS), PostgreSQL 10, SQL, Amazon DynamoDB, AWS Lambda, Lambda Functions, Back-end, Artificial Intelligence (AI), REST APIs, APIs, ESLint, Jira, ACL, Confluence, Postman, Web Development, Mobile Development, Amazon RDS, Amazon Virtual Private Cloud (VPC), API Integration

Front-end Engineer

2017 - 2018
Renderforest
  • Developed responsive single-page applications and websites using HTML5, CSS, Bootstrap, jQuery, and JavaScript. Added interactive functionalities using JavaScript and jQuery.
  • Created website animations using CSS keyframes, transforms, and transitions.
  • Created Grunt and Gulp tasks for handling and automating the front-end build processes and code flow.
Technologies: HTML, HTML5, CSS, jQuery, JavaScript, Grunt, Gulp, Bootstrap, Jira

Picsart

https://picsart.com
A photo and video editing app and website. The back end consists of both monolith and microservice architecture based on Express.js technologies using dependency injection, MVC pattern, and REST API. For the database, a non-relational Mongo database is used with the help of Mongoose ORM and replication. Also, for event publishing and key-value storage, Redis pub/sub and Kafka are used.

For payments and subscriptions, external services with monthly and yearly subscription handling were implemented. We have Apple, Android, and WeChat payments integrated on the mobile end of things along with an external job for renewals and order state change tracking. On the desktop web side, PayPal, Adyen, Stripe, and Docomo are integrated with the support of one-time payments and renewal using jobs.

Analytics are incorporated that fire events into Appsflyer, Braze, FB events, and other services.

SABX

https://sabx.com
SABX is a B2B platform with role access-based management and permission control developed on Node.js technologies.

I was a back-end developer working from the begging till the platform's successful launch and real user onboarding. I was developing REST APIs on Koa with Passport user authentication. For the database, we used PostgreSQL with the support of Sequelize ORM and Redis for key-value storing.

For file management, server, in-app, and push notifications, AWS services were used, such as S3 and SNS combined with Firebase for mobile side integration. For real-time website notifications, Socket.IO was used. Also, we were using mail listeners and mail sending services for in-time notification such as SendGrid.

For deployment and multi-container running we were using Docker Compose.

On the payment side, for one-time payments, I integrated PayPal and Stripe, on which I have a published article on Medium.

Varda

https://varda.ag
I was a web product creator for agricultural data access and sharing purposes. As a software engineer, I was in charge of developing and maintaining the website server. The website uses TypeScript, TypeORM technologies, and Auth0 for authorization and authentication flows. As a back-end developer, I created a set of Restful APIs responsible for returning large amounts of soil data from PostgresSQL databases. To handle the big data sets, I used a data pipeline to stream and validate the data via Kafka streams before storing it in Redshift for further processing.

Yara International

https://www.yara.com
As a back-end engineer, I was a key member of the development team for the Yara project, where I was responsible for developing and maintaining several TypeScript services that provided APIs for the production, distribution, and sale of nitrogen-based mineral fertilizers and related industrial products. I have a strong understanding of MongoDB, which I used to manage and store large data sets effectively. I also have experience with TypeORM and AWS S3 for data management and file uploading.

I developed a generally used uploader for validation and uploading files to AWS S3 using temporary security credentials based on assuming the role functionality of AWS SNS. I also used Apache Kafka for ingesting files or data to one or more targets from multiple data sources such as Kafka, MongoDB, or plain body. I also contributed to the process of creating and running Airflow DAGs for managing database tasks and covered project APIs with unit and integration tests using Jest. This ensured the reliability, scalability, and maintainability of the project.
2015 - 2019

Bachelor's Degree in Computer Science

American University of Armenia - Yerevan, Armenia

Libraries/APIs

Node.js, Lodash, Passport.js, REST APIs, Socket.IO, Android Pay, Stripe, Winston, jQuery, Zod Schema

Tools

Mongoose, Slack, Sequelize, Adyen Payments, Jira, GitHub, Git, Confluence, GitLab, GitLab CI/CD, Postman, SendGrid, Amazon Simple Notification Service (Amazon SNS), WeChat, Docker Compose, Auth0, ACL, Grunt, Gulp, Apache Airflow, Amazon Virtual Private Cloud (VPC), Kafka Streams, AWS SDK, Amazon CloudFront CDN

Frameworks

Express.js, Koa, NestJS, Swagger, Kube, Bootstrap

Languages

JavaScript, SQL, TypeScript, HTML, HTML5, CSS, Python

Paradigms

REST, Unit Testing, Mobile Development, Microservices

Storage

PostgreSQL, Amazon S3 (AWS S3), PostgreSQL 10, NoSQL, MongoDB, Amazon DynamoDB, Redshift, Datadog

Platforms

Kubernetes, Docker, Firebase, AppsFlyer, Amazon Web Services (AWS), Amazon, Apache Kafka, AWS Lambda

Other

Web MVC, Payment APIs, ESLint, Back-end, APIs, Integration, Integration Testing, Web Development, API Integration, RESTful Microservices, PayPal, WeChat Pay, Apple Pay, TypeORM, Lambda Functions, CI/CD Pipelines, Amazon RDS, Kubernetes Operations (kOps), DocumentDB, Artificial Intelligence (AI), EventBus, Lexorank, OpenAI, AWS SAM, Serverless, Tempus Ex

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