Freelance Software Engineer2017 - 2019Carnahan Group (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 an integration of the client's system with Sharepoint.
- Designed and implemented an 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.
- Written unit tests for Angular 7 application.
- 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.
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.
Freelance Software Engineer2016 - 2017Service Thinking (via Toptal)
- Designed and implemented a charting library containing 12 different charts.
Software Developer2015 - 2016Adacta
Technologies: WPF, Microsoft SQL, Microsoft Dynamics Navision, Beyond Compare, FTP
- 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 - 2016Freelance Work
Technologies: MongoDB, Express.js, AngularJS, Node.js, .NET, WPF, MS SQL Server, MATLAB, Matplotlib, Python, Chart.js
- Designed and implemented web applications with MongoDB, Express.js, AngularJS, and Node.js.
- Created simulations and various calculations for a distributed intelligence (AI) algorithm with MATLAB and a GUI for tracking the status of the simulations.
- Drew logs containing server hardware statistics by using Chart.js.
- Used GitHub repositories and Git to version control applications.
- Designed and implemented desktop applications using .NET and WPF.
- Used MS Access as a RDBMS.
Software Engineer2013 - 2015Manas
- Designed and implemented web applications using Groovy on Rails as a web framework.
- Used GORM (Groovy Object Relational Mapping) for database table manipulations.
- Developed the front-end side of the app; used GSP (Groovy Server Pages).
- Made pages responsive using Bootstrap.
- Developed the front end with jQuery and AngularJS.
- Implemented Bitbucket repositories and Git for version control.
- Used MySQL as a RDBMS in a Grails application.
- Used AWS APIs to create EC2 instances, register domains, and set up a vagrant image on them.
- Added Spring Security to secure a Grails-based application.