
Andrey Vital
Verified Expert in Engineering
Software Developer
Juiz de Fora - State of Minas Gerais, Brazil
Toptal member since May 19, 2016
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
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
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
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.
Front-end Engineer
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.
Lead Developer
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.
Full-stack Engineer
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.
Lead Developer
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.
Full-stack/Lead Developer
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.
Developer
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.
Experience
React Native SMS Listener
https://github.com/CentaurWarchief/react-native-android-sms-listenerCorreria
Cota Preço
Commitrace
Technologies used: Go, React, Webpack, Aphrodite.
esjs
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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring