Front-end Tech Lead2020 - PRESENTAdvertise Purple
Technologies: Jira, Redux-observable, RxJS, jQuery, Luxon, Moment.js, Angular Flex Layout, Angular Material, Bitbucket Pipelines, Bitbucket, Docker Compose, Docker, Ansible, Angular CLI, Angular, Mixpanel, NGXS, Architecture, Authentication, Authorization, AWS, AWS Route 53, Load Balancers
- Developed, planned, and maintained scalable solutions as a front-end tech lead to meet the client's business requirements for a company internal app and a SaaS platform, built using Angular.
- Planned and developed reusable, scalable solutions for the two apps. One of which I previously helped roll out as an MVP as a part of the Toptal projects' team.
- Worked on the set up of the system's scalable infrastructure using AWS EC2 instances, security groups, load balancers, target groups, AWS Route 53 domain and certificates registration, IP address safe listing per client's request, and many more.
- Participated in planning technical solutions for the entire system, API design in coordination with the back-end team.
- Upgraded the Angular version of the app from v8 to v10, keeping in mind all the dependencies such as updating Angular Material and Angular Flex-Layout, among others.
- Conducted the interview and selection process to hire a new candidate.
- Supervised other people's code and pull requests going into the project.
- Integrated Mixpanel into a front-end project to track user behavior and events using Mixpanel best practice guides.
- Used NGXS, an Angular state management library based on Redux patterns on the SaaS platform.
- Set up a CI/CD code delivery pipeline on multiple testing and production environments for the SaaS platform product using AWS EC2, Ansible, Docker, Bitbucket pipelines, including a set up of AWS load balancers and security target groups.
Front-end Software Engineer2020 - 2020Airlines Industry Project (via Toptal)
Technologies: GitHub, D3.js, Docker, SCSS, RxJS, PrimeNG, Angular Flex Layout, Bootstrap, Angular CLI, Angular
- Worked as a part of the team as a front-end software engineer using modern CI/CD methodologies.
- Communicated with the client daily and participated in architectural decision-making.
- Used Angular CLI to manage the parts and pieces of the project.
- Organized page content using Bootstrap 4 with a Flex layout.
- Styled the content on front-end pages using SCSS language.
- Built reusable components such as a table based on the PrimeNG library.
- Built a reusable bar chart using the D3.js visualization library.
- Used RxJS operators and observables, which helped build stores for synchronized data manipulation throughout the application.
Front-end Software Engineer2020 - 2020Financial Industry Project (via Toptal)
Technologies: GitHub, Jasmine, Karma, Google Cloud Build, Google Cloud, Docker, Documentation, Sass, RxJS, PrimeNG, Bootstrap, Angular CLI, Angular
- Worked as a part of the Toptal Projects team as a front-end software engineer under agile and scrum biweekly iterations.
- Managed all parts of the project using Angular CLI.
- Organized page content using Bootstrap 4 with Flex Layout.
- Deployed the app on the Google Cloud Run using Docker images.
- Set up triggers for automatic application unit testing and deployment using Google Cloud Build.
- Styled and organized the content on pages using Sass.
- Displayed data using PrimeNG components such as TabView and Table.
- Used multiple RxJS types of subjects, operators, and observables.
- Generated and maintained the project documentation using TypeDoc.
Front-end Software Engineer2019 - 2020Advertise Purple
Technologies: Amazon Web Services (AWS), Jira, Angular CLI, Jasmine, Karma, Google Analytics, Bitbucket Pipelines, NGINX, AWS, Ansible, Docker Compose, Docker, SCSS, D3.js, RxJS, Angular Flex Layout, Angular Material, Angular
- Worked at the Toptal Projects team as a front-end software engineer under agile, scrum biweekly iterations. Used Jira for task management and delivered software daily using an agile scrum process.
- Designed and set up the architecture of the front-end app, set up a CI/CD pipeline with unit tests checking and multiple environments deployment on branch push, and managed a developer and approved his work.
- Automated the steps for application deployment with Ansible, starting from an empty server to a fully deployed application in a docker container. Used Bitbucket as a Git repository and Bitbucket pipelines to run unit tests and Ansible scripts.
- Implemented Docker and Docker Compose for the containerized deployment of the app using Nginx as the webserver. Used AWS EC2 instances to host the Docker containers with the application and elastic IP addresses assigned to them.
- Used Angular Material as a supporting library for the application design, look and feel. Also used Flex-Layout as a supporting library to organize content on the pages.
- Created a reusable interactive multiple line chart with D3.js, used RxJS operators, subjects and observables, and styled the page contents using SCSS.
- Used Google Analytics to track user data on the front-end application.
- Wrote unit tests with the help of Jasmine and Karma.
Full-stack Software Engineer2017 - 2019Healthcare Industry Project (via Toptal)
- Communicated with the client and participated in the technical design of features modeled after the client's business processes.
- Designed and implemented MongoDB collections and documents to support the business processes.
- Designed and implemented web service REST APIs to support the client's business processes (used Node.js).
- Designed and implemented a responsive UI as per client needs (used AngularJS and Angular 7).
- Designed and implemented the integration of the client's system with SharePoint.
- Designed and implemented the integration of the client's system with a third-party custom system using OAuth2 security standards. The integration module allowed for login via passwords, client credentials, refresh tokens and authorization code.
- Designed, implemented, and maintained features on the system keeping in mind backward compatibility with old data in the system and making the transitions using migration scripts.
- Designed and implemented a scheduler as per client needs with the help of Heroku plugins.
- Designed and implemented email sending features using HTML, CSS, and EJS.
- Designed and implemented an error-logging infrastructure using Sentry web service.
- Designed and implemented PDF report generation using HTML, CSS, EJS, and HTML-PDF library.
- Wrote unit tests with the help of Jasmine and Karma.
- Used the Heroku platform for system deployment and application monitoring, scaling the system as necessary per client needs.
- Handled issues with domain registration and SSL certificates for the system.
- Worked as a part of the team using Git as a VCS.
Full-stack Software Engineer2016 - 2018Decode
- Designed and implemented systems architecture on multiple back-end and front-end projects using technologies such as Node.js, Django Python, and Angular 4.
- Designed and implemented a web service for the integration of a Shopify web store and a custom-made ERP system using Django Python.
- Designed and implemented asynchronous tasks which were used to synchronize data between a Shopify web store and an ERP system using Django Python, Celery, Redis and PostgreSQL.
- Designed and implemented PostgreSQL database schemas and MongoDB collections in multiple projects.
- Designed and implemented the automatized deployment of web systems using BitBucket pipelines (on branch push).
- Written Ansible playbooks to prepare various environments (development, stage, or production) for system deployment (used DigitalOcean droplets as servers).
- Wrote Docker images and used Docker-Compose for containerized system deployment.
- Designed and implemented a cache system using Redis.
- Designed and implemented security mechanisms based on JWT tokens and optionally keeping track of sessions on the back end, depending on the project.
- Setup Nginx web servers in Docker images in combination with Gunicorn (Django) or PM2 (Node.js).
- Designed and implemented smoke tests on some of the projects using Mocha or Chai for Node.js and Karma for Angular 4.
- Handled domain registration and SSL certificates on some of the projects (they were served using Nginx).
- Used Stripe on an Angular 4 project for handling user credit card data and payments.
- Worked as a part of the team using Git as a VCS.
Front-end Software Engineer2016 - 2017D3.js Charting Library (via Toptal)
- Designed and implemented a charting library containing 12 different charts.
Software Developer2015 - 2016Adacta
Technologies: Navision, FTP, Microsoft SQL Server, Windows Presentation Foundation (WPF)
- Designed and implemented features for various clients by using C/AL for development in Microsoft Dynamics NAV.
- Designed and implemented RDLC reports with Visual Studio and Report Builder.
- Designed and implemented an integration between MS Navision and a third-party system by exchanging creating and managing XML files on an FTP server.
- Used Beyond Compare as a diff tool.
- Used OpenXML for Excel file generation in a .NET app.
- Used Microsoft SQL Server as a RDBMS.
- Designed and implemented a small travel expenses module in Navision.
- Used SQL for database queries.
Freelance Software Engineer2015 - 2016Various Smaller Projects
Technologies: Chart.js, Python, Matplotlib, MATLAB, SQL, Windows Presentation Foundation (WPF), .NET, Node.js, AngularJS, Express.js, MongoDB
- Designed and implemented multiple smaller web applications with MongoDB, Express.js, AngularJS, and Node.js.
- Designed and implemented simulations and various calculations for a distributed intelligence (AI) algorithm with MATLAB and implemented a GUI for tracking the status of the simulations.
- Used Chart.js to visualize server hardware statistics.
- Used GitHub and Git for version control.
- Used .NET and WPF to implement multiple smaller size desktop applications for Windows OS.
- Used MS Access as a RDBMS.
Full-stack Software Engineer2013 - 2015Manas
- Designed and wrote implementations of multiple MVC web applications using Groovy on Rails framework.
- Performed database table manipulations using GORM (Groovy Object Relational Mapping).
- Used GSP (Groovy Server Pages) templating language on the front end.
- Implemented page responsiveness using Bootstrap 3.
- Developed front-end apps with jQuery and AngularJS.
- Created data visualizations using D3.js and Chart.js.
- Used Git as a VCS (version control system) and Bitbucket as a code repository.
- Used MySQL as a RDBMS in a Grails application for storing data.
- Used AWS APIs to create EC2 instances, register domains, and set up a vagrant image on them.
- Implemented an authentication system on multiple apps using Spring Security.