Hi there
My name is Abdul Rahman Safari. People usually call me Safari. I’m a backend heavy full stack software engineer and also a 1x engineer . I have a passion for all things related to STEM (Science, Technology, Engineering and Mathematics), from software engineering & machine learning to data scraping and automation.
In addition to my love of STEM related stuff, I am also very interested in education, history, economics and politics.
In my free time, i like to read books, watching macroeconomic news, and playing with my little daughter
Below are details of my experience throughout my career as a software engineer with arround 7+ years of coding experience.
Work Experience
PT. Multidaya Teknologi Nusantara (eFishery)
Senior Backend Engineer
2022 Jul - 2024 Oct
- Go
- ETL
- Distributed Tracing
- PostgreSQL
- MySQL
- Redis
- gRPC
- RabbitMQ
• Developed Backend Services for the majority of
Efishery applications utilizing
Golang, the Gin Framework, Hexagonal Architecture, Postgres, and
Nomad.
• Created API Documentation using
Swagger.
• Conducted OLAP to construct an engineering metrics
dashboard implemented in Metabase.
• Migrated ETL and ELT processes
from Apache Airflow to
Airbyte.
• Developed and implemented integration tests and
unit tests to achieve
80% coverage of business logic.
• Implemented Loki and Grafana for
log monitoring of the Backend Services at
Efishery.
• Transitioned from
ElasticSearch, Logstash, and Kibana to
Loki and Grafana for
log monitoring.
• Integrated distributed tracing across
services using Jaeger to facilitate
debugging.
• Established a RabbitMQ Dead Letter Exchange to
simplify debugging of problematic messages from
backend services.
• Leveraged RabbitMQ as an
asynchronous communication channel between backend
services at Efishery.
• Developed a Go library for logging to set a
standard for logging across most backend services at
Efishery.
• Created a Go library for
database transactions to minimize data
inconsistencies.
• Monitored and ensured the code quality of every
pull request from the backend team.
• Mentored junior and mid-level backend engineers to
help them advance to a senior level.
• Utilized gRPC for
internal service-to-service communication within the
backend ecosystem at Efishery.
PT. Kaldu Sari Nabati (Nabati)
Senior Backend Engineer
2020 Sep - 2022 Jun
- Go
- NodeJS
- PostgreSQL
- MySQL
- Redis
• Developed the Discount Engine Module (Nadine) to replace
the existing Discount Engine in SAP using
Golang and the Fiber Framework, with an emphasis on
Hexagonal Architecture.
• Engineered the Sales Distribution Module (NDS) as a
substitute for the Sales Distribution in
SAP using
Golang and the FastHTTP Framework, incorporating
Hexagonal Architecture and
Concurrency.
• Created the Master Data Config Module integrated with
SAP using NodeJS and Express.
• Leveraged RabbitMQ as an
asynchronous communication channel between backend
services.
• Designed and implemented comprehensive
Test Cases to ensure full logic coverage for the
Discount Engine.
• Developed and executed Integration Tests to
validate that sales orders received the correct
discounts.
PT. Exaditama Teknologi Kreativa
Lead Back End & DevOps Engineer
2019 Oct - 2020 Aug
- NodeJS
- PHP
- Go
- Kubernetes
- Docker
- Redis
- Jenkins
- MySQL
- DevOps
• Led and managed a team of 3 backend engineer and 2 devops engineer.
• Utilized Trello as the task management tool for tracking and managing
tasks.
• Executed CI/CD scripting for every service built with Jenkins to
streamline developer integration and automate server deployments.
• Segmented the Deployment Strategy into Development, Staging, and
Production environments for the company's products.
• Managed an API Gateway using Nginx to simplify endpoint access for the
Front-End.
• Implemented clustering, auto versioning, and load balancing on production servers with
Kubernetes.
• Engineered a microservice REST API utilizing Lumen, NodeJS, Go, Redis, MongoDB, MySQL, and
RabbitMQ.
• Transformed the monolithic architecture into a microservices
architecture and scripted the deployment boilerplate for each framework within the
developed products.
• Developed scripts for scheduled database backups using Bash Scripting and NodeJS to
Amazon S3.
• Constructed a recommendation system that employs Google Text-To-Speech, Natural Language
Processing and text classification via the Naive Bayes Algorithm.
• Designed a REST API for trading applications using Golang and the Fiber Framework,
leveraging RabbitMQ as the message broker for internal service communication.
PT. Gigaming Intermedia Solusindo
Back End Engineer
2019 Aug - 2019 Oct
- NodeJS
- .Net Core
- Docker
- Redis
- MSSQL
- MongoDB
- RabbitMQ
• Developed a containerized service leveraging Docker
• Engineered a microservice REST API utilizing .Net Core, NodeJS, Redis, MongoDB, MsSql,
RabbitMQ
Project Experience
EveryOneAsia2024
Project Lead
2024
- Project Management
- Go
- PostgreSQL
- ReactJS
- MinIO
• Led and managed a team consisting of 2 Backend Engineers, 2 Web Frontend engineers, 1 UI/UX
Designer, 1 Flutter Developer, and 1 QA.
• Ensured the project progressed according to the agreed Statement of Work (SOW).
• Integrated backend services with two payment gateways,
Doku and Midtrans.
• Handled livestreaming on mobile apps with 10,000 concurrent users.
• Developed a participant management system using QR Codes for identity
verification.
• Conducted integration tests to ensure feature functionality.
• Built backend services using Golang & Fiber.
• Developed the Admin Panel and Registration Page frontend using React JS.
• Created a real-time queue system for food ordering, displayed on TVs at each food stand
using React JS.
• Implemented Minio as the object storage solution.
• Utilized Trello as the project management tool for tracking and managing
tasks.
registration.everyoneasia2024.com
Pelita Air
Freelance Full Stack Developer
2022 - Now
- Go
- PostgreSQL
- ReactJS
- SOAP
- ETL
• Developed the frontend interface for skyops-pas.id using ReactJS and Zustand
for state management.
• Extracted data from AIMS using SOAP, transformed it with
Golang, and displayed it on the frontend interface.
• Extracted data from AIMS using SOAP, transformed it into a Google
Sheets document using Golang.
• Deployed the entire codebase on a VPS using Docker and
Nginx as a reverse proxy.
• Implemented CI/CD pipeline using Jenkins.
Telkom Indonesia
Backend Developer (Project Based 3 Month Contract)
2022
- Go
- NodeJS
- PHP
• Developed backend services for the TravelAja application using NodeJS.
• Built backend services for the TravelAja application utilizing Laravel Lumen.
MulaiDisini
Freelance Web Developer
2019
- PHP
- Laravel
- MySQL
• Developed REST API using Lumen.
• Developed Frontend interface using Blade from Laravel.
• Deployed entire project to VPS in Amazon EC2 Server.
• Utilized Nginx as a reverse proxy.
Dorenmi
Freelance Web Developer
2019
- PHP
- Laravel
- MySQL
• Developed REST API using Lumen.
• Developed Frontend interface using Blade from Laravel.
• Utilized Midtrans as a payment gateway for this project.
• Deployed entire project to VPS in Amazon EC2 Server.
• Utilized Nginx as a reverse proxy.
Telemedicine Realtime Arrhythmia Detection System Research
Researcher
2017 - 2019
- Machine Learning
- Microcontroller
- PHP
- Laravel
- MySQL
• Developed frontend web interface using Laravel Blade and Plotly.js to monitor data from ESP8266 in realtime using Mosquitto Protocol.
• Created a realtime notification web interface to notify machine learning feedback process.
• Developed a feature extraction method employing time domain features and wavelet decomposition to enhance detection model accuracy.
• Created a machine learning model using KNN algorithm and Artificial Neural Network for heart disease detection.
• Deployed MQTT, PHP and MySQL on Amazon EC2 Server.