Senior Software Engineer2019 - 2020Syngenta (via Toptal)
Technologies: Go, React Native, PostgreSQL, Microservices
- Implemented new features in the front end, back end, and other microservices.
- Refactored front0end code to be more maintainable.
- Refactored the back end to improve testability especially concerning unit testing.
- Restructured the back-end code to increase the modularity of each package.
- Guided and provided a pattern for the existing to follow when implementing new features, new services, and new products.
Technical Development Lead2019 - 2019Zumata
Technologies: Go, Kubernetes, GCP, PostgreSQL, DevOps, Redis
- Led the development team in implementing new features.
- Architected the new product.
- Setup a DevOps environment.
- Mentored and assisted developers in difficult tasks.
- Planned the development phases.
- Investigated cases and customer complaints.
- Optimized the performance of the system.
Django Developer2018 - 2019Mind Research Netmorks
Technologies: Django, Python, Apache Solr, Docker, PostgreSQL
- Implemented a feature to highlight page in PDF.js.
- Enabled page redirection via a PDF file.
- Implemented document classification.
- Developed a feature for document citations.
- Migrated a search platform from Solr 3.6 to the latest Apache Solr which was quite a challenge since version 3.6 and the latest version (7.6) were very different.
Freelance Cryptocurrency Trading Platform Developer2018 - 2018Ledgershield (via Toptal)
Technologies: React, Django, Python
- Translated the UX design from a Sketch file format to a web layout.
- Implemented a React app as the platform's front end.
- Developed a Django project that will serve as the cryptocurrency trading platform.
- Migrated the existing code that was made by the previous developer. The previous developer was not helpful in giving any information which brought another challenge to this project.
- Constructed the trading platform to cover several cryptocurrencies (Bitcoin, Bitcoin Cash, Ethereum, RIpple, and Monero).
Full-stack Developer2017 - 2018DoBooster (via Toptal)
Technologies: Django, React Native, OAuth, PostgreSQL
- Developed the back end using Django and PostgreSQL as a database.
- Built the front end using React Native.
- Installed a social login and JWT authentication mechanism on the front-end.
- Incorporated an expo so that the employer can easily view the front end.
- Implemented Carousel on the front end for a description section of what the app is all about.
Senior Software Engineer2016 - 2017Dathena
Technologies: Python, Django, Docker, Hortonworks, Spark
- Managed the three teams (the front-end, back-end, and big data) which were scattered across many countries like Indonesia, Singapore, India, and Ukraine.
- Coded the back-end side using Python and Django technologies.
- Implemented a DevOps strategy using Docker that were easily configurable, easy-to-deploy, and scalable.
- Designed interfaces that were used by teams involved in the project.
- Implemented a unit-test strategy for the back-end part of the project.
Senior Software Engineer2016 - 2016Migital
Technologies: PHP (CakePHP), Go
- Implemented single sign-on service in several PHP websites.
- Enabled a Go app to synchronize the data among the databases.
- Built a PHP module for data synchronization among databases.
Software Architect2014 - 2016Jaringan Mega Komputasi
Technologies: Java, Python, Cassandra, Celery, Redis, PHP, SQL Server
- Selected new technologies using open source solutions to be used as a replacement for existing .NET solutions.
- Guided and trained the technical team in a technology migration.
- Defined software architecture based on best practices for front-end, back-end, and mobile solutions.
- Communicated with the customers regarding the requirements (requirements gathering).
- Proposed possible architecture types as solutions with regards to the requirements including their pros and cons.
Software Engineer2010 - 2013Amadeus SAS
Technologies: Java, J2EE
- Implemented new features on the existing product used by organizations throughout the world.
- Maintained products by fixing new problems found either during testing or in the production phase.
- Coordinated an inter-team work to implement new requests from customers.
- Made estimations on the costs of implementing new features.
- Trained and supported the new product or new feature rollout.