Andrey Vital, Developer in Juiz de Fora - State of Minas Gerais, Brazil
Andrey is available for hire
Hire Andrey

Andrey Vital

Verified Expert  in Engineering

Software Developer

Juiz de Fora - State of Minas Gerais, Brazil

Toptal member since May 19, 2016

Bio

Andrey is a seasoned web developer, passionate about his work. He loves solving design challenges and has contributed to many projects in PHP, JavaScript, and Go. Andrey enjoys working on interesting projects and thinks that self-development is essential.

Portfolio

Govlaunch
Amazon Web Services (AWS), Go, React, Sentry, Sh, JavaScript, CircleCI, Traefik
ClassDojo
Jscodeshift, Vue SSR, React Router, Redux-Saga, Redux, React
Q
Amazon Web Services (AWS), MySQL, MongoDB, Alooma, Redis, Java, Elasticsearch...

Experience

  • JavaScript - 8 years
  • Node.js - 6 years
  • MySQL - 6 years
  • REST - 4 years
  • React - 4 years
  • Go - 4 years
  • Docker - 3 years
  • Redux - 3 years

Availability

Part-time

Preferred Environment

GitHub, Spotify, Slack, Zsh, Git, Atom, MacOS, Linux

The most amazing...

...thing I've created is a web scraper of bad and complex HTML structure, using XSLT and XPath to transform it back to a valid XML.

Work Experience

Software Engineer

2017 - PRESENT
Govlaunch
  • Set up a cluster of EC2 instances to deploy API servers.
  • Implemented a proxy to route requests internally to the servers in the same VPC using Traefik.
  • Used Amazon EC2 Container Service (ECS) to orchestrate container deployment to those servers.
  • Wrote a script (in JavaScript) that runs on CI (Circle) to manage the deployment process of both environments: stage and production.
  • Adopted a simple rollback strategy to revert bad deployments to previously running containers.
  • Integrated with CloudWatch via Docker log drivers. Also configured Sentry to receive custom metadata (such as Container ID, EC2 Instance ID, Region, and more) to discover which servers have been failing or in error.
Technologies: Amazon Web Services (AWS), Go, React, Sentry, Sh, JavaScript, CircleCI, Traefik

Front-end Engineer

2017 - 2017
ClassDojo
  • Rewrote a legacy codebase to use some homemade abstractions on top of Redux and Redux Saga.
  • Moved plain-old Flux to a modern setup with Redux.
  • Worked across multiple products moving from legacy to modern code.
  • Implemented a custom code structure on some old code bases that leads to efficiency and boosts productivity while refactoring.
  • Wrote JS-codemods and used jscodeshift to do mass replacements across all code bases; identified patterns and replaced it with improved code.
Technologies: Jscodeshift, Vue SSR, React Router, Redux-Saga, Redux, React

Lead Developer

2016 - 2017
Q
  • Built a new React app for the customers based on the provided designs. That app integrated with some of existing services mainly written in PHP which were converted afterwards to Node in order to scale across our team and infrastructure.
  • Created some bots (as AWS lambdas written in JS/Go) that were listening to events and were doing some tiny little job or keeping us posted on Slack about new errors (streamed from CloudWatch).
  • Created an internal library featuring functional concepts and highly tested to build complex Elastic queries while maintaining some legacy support since its usage/adoption wasn't immediate as we were migrating to new versions of Elastic.
  • Rendered complex charts and created some very complicated user interfaces (in the good sense—always providing a rich user experience) in order to empower some financial analysis while providing insights from the ETLD data we were pulling from a lot of third-party services.
  • Structured the whole application in a way that the entire team would be able to scale independently while developing features, keeping the code as modular as possible, and having our Scrum cycle with code review and quality assurance for later on merging PRs with almost zero conflicts.
Technologies: Amazon Web Services (AWS), MySQL, MongoDB, Alooma, Redis, Java, Elasticsearch, Amazon Elastic Container Service (ECS), AWS Lambda, Amazon EC2, Amazon CloudWatch, Amazon S3 (AWS S3), Amazon Elastic Container Registry (ECR), Iron.io, Redux, React, PHP, JavaScript, Go

Full-stack Engineer

2016 - 2017
Digital ReLab
  • Started a brand new React app from scratch based on the new designs and integrated with a Node back-end (RESTful APIs).
  • Wrote some back-end code that integrates with the provisioned AWS infrastructure components like Lambda, S3, DynamoDB, Kinesis, ECS, ECR, and more.
  • Applied some functional programming concepts to transpile filtering input to Elasticsearch queries.
  • Optimized the app performance and created highly reusable components—making them easy to change and test since they're pure.
  • Made the code more modular and testable. Both in back-end and front-end which allowed us to scale to the next level seamlessly as we wanted to implement new features or change existing ones.
  • Developed wired continuous deployment strategies on CircleCI with Amazon ECS/ECR.
  • Integrated with Stripe for billing and processing.
  • Created high performant functions that outperforms functionality-limited components like Amazon S3.
  • Created an initial GraphQL back-end that works and sat together on top of some existing APIs.
Technologies: Amazon Web Services (AWS), REST, GraphQL, Amazon CloudWatch, Amazon Elastic Container Service (ECS), Amazon S3 (AWS S3), AWS Lambda, Amazon Elastic Container Registry (ECR), Amazon EC2, Amazon DynamoDB, Amazon Kinesis, Apache Tika, Elasticsearch, Node.js, Java, Go, Redux, React

Lead Developer

2016 - 2016
VNA Group
  • Built a web app using React and Redux. Also built a native app using React Native for both iOS and Android platforms.
  • Created necessary APIs in Go/Node to fulfill the project requirements. Those APIs were also acting as a proxy for consuming and orchestrating third-party services like Twilio.
  • Configured a continuous deployment cycle on top of CircleCI—deploying the new code after all tests have run and passed in the CI.
  • Implemented ways to improve user authentication through JWTs. Sharing the minimum required information to stay stateless with the server—keeping each HTTP request as a single transaction.
  • Adopted a lot of immutable data structures in the front end to keep the web app as less error prone as possible while maintaining maintainability and testability.
  • Created panels to make as smooth as possible to manage the customer base and companies involved in the process—also to make the onboarding more easier since there were a lot of steps involved.
Technologies: Amazon Web Services (AWS), Twilio, MongoDB, PostgreSQL, Heroku, Redux, React Native, React, Ruby, Go, Node.js

Full-stack/Lead Developer

2013 - 2016
Cota Preço
  • Created, as a team, the system using plain old-fashioned PHP/MySQL(in 2013).
  • Used RabbitMQ/Gearman to handle massive data processing─even for scraping and indexing.
  • Crafted a lightweight UI in React & React Native for a smooth UX.
  • Wrote an entire library from scratch for a Brazilian credit card payment processing company all the while integrating it with Cielo.
  • Gained some experience bypassing CAPTCHAs for scraping information from some sources and reusing this information to make the UX better in some cases.
  • Wrote an entire continuous deploy solution using Node.js, Docker, and HAProxy (switching containers with no downtime) based on GitHub WebHooks.
Technologies: Docker, REST APIs, RESTful Development, React Native, React, Gearman, RabbitMQ, Elasticsearch, MongoDB, MySQL, Redis, Node.js, JavaScript, Go, PHP

Developer

2011 - 2013
Freelance Work
  • Worked with small and complex systems in general; mostly using PHP and MySQL for the back-end.
  • Wrote libraries and at the same time helped the community to solve daily challenges.
  • Handled and was responsible for designing and architecting systems from scratch.
Technologies: Ruby, Python, XPath, XSLT, jQuery, NGINX, Apache, MySQL, JavaScript, PHP

Experience

React Native SMS Listener

https://github.com/CentaurWarchief/react-native-android-sms-listener
A library that I've created to listen to incoming SMS messages on a React Native app. It's very useful if you want to perform an action after receiving those messages—like validating a registration code or something.

Correria

It's basically an app like Uber, but for motorcycles. The passenger has a 1:1 relation with the driver; a pretty simple functionality there. We did some work on libraries that were already provided by the community for React Native and contributed back as Open Source. The app itself uses Firebase, Mongo, and all those 21st-century goodies.

Cota Preço

Technologies used: PHP, JavaScript, React, React Native, Redis, Elasticsearch, RabbitMQ, MongoDB, and MySQL.

Commitrace

It's not the next big thing on the web, but it's a funny thing among developers from companies like Chute, Toptal, and similar—the idea here is that you enter GitHub username and you get an instant feedback of how much they're shipping!

Technologies used: Go, React, Webpack, Aphrodite.

esjs

It's a library for those who loves to write TypeScript and JavaScript along with rich domain concepts like DDD, CQRS, and event sourcing. The central idea is that it provides good abstractions based on a lot of research over the years and not-well-known techniques. It was fun to write that because it's derived from a lot of conversations and attempts to solve complex domain problems.

Skills

Libraries/APIs

Redux-Saga, React Router, Node.js, React, ZeroMQ, Immutable.js, jQuery, Doctrine, REST APIs

Tools

GitHub, Webpack, PhpStorm, Atom, Amazon Simple Queue Service (SQS), Traefik, Amazon Elastic Container Registry (ECR), Amazon Elastic Container Service (ECS), Let's Encrypt, Amazon Simple Email Service (SES), Git, Trello, NGINX, Travis CI, Zsh, Slack, Apache Tika, Amazon CloudWatch, Alooma, CircleCI, Sentry, Jscodeshift, Apache, RabbitMQ, Amazon CloudFront CDN

Languages

PHP, JavaScript, TypeScript 2, Go, XPath, HTML5, GraphQL, Python, Ruby, Java, Sh, XSLT

Frameworks

PHPUnit, Flux, Redux, React Native, Bootstrap 3, Zend Expressive, Gearman, Vue SSR, Zend Framework

Paradigms

REST, Test-driven Development (TDD), CQRS, Object-oriented Programming (OOP), Object-oriented Design (OOD), Functional Programming, Behavior-driven Development (BDD), Agile Software Development, RESTful Development

Platforms

AWS Lambda, Docker, Linux, DigitalOcean, Amazon EC2, MacOS, Heroku, Twilio, Amazon Web Services (AWS), Iron.io, Firebase

Storage

JSON, Amazon S3 (AWS S3), MySQL, Amazon DynamoDB, Redis, MongoDB, Elasticsearch, LevelDB, Riak, InfluxDB, PostgreSQL

Other

RESTful Web Services, Amazon Kinesis, User Experience (UX), Semantic UI, SaaS, Domain-driven Design (DDD), Spotify, HAProxy

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