My name is Fadhil Yaacob (pronounce Fa-dale ). I am a Software Engineer and freelance Go developer. I’m based in Kuala Lumpur, Malaysia.
During my free time, I enjoy cooking with my wife and shredding my guitar \m/ You can see some videos in my Youtube channel .
People that I admire:
- Highly performance programming: concurrency, multithreading, event loop, caching, server scaling out
- Distributed system: microservice, message brokering, CDN
- Database optimization: indexing, compression, column-store/row-store db
* This does not mean I’m good in any of these but I’m interested & motivated in these areas
Senior Software Engineer - SEEK Asia - Apr 2022#
- Responsible for the front page, has over 245+ million users, serving millions of request per day
Technologies used: AWS services, Cloudflare, NodeJS, Terraform
Solo Founder - Asthma Journey - 2021 - Present#
- Build a asthma tracker app and market it to the public
Technologies used: NextJS, Django, CockroachDB, Fly.io
Software Engineer T3, Billplz - Aug 2021 to Apr 2022#
- Building data analytic product using Ruby on Rails API, Clickhouse DB, and NextJS. Hand-written custom SQL queries for Clickhouse operations to utilize its special features like timezone conversion and WITH FILL modifier. Used techniques like caching & memoization in Rails to speed up the response time.
- Write batch ETL background jobs that sync the data from PostgreSQL to Clickhouse and verify its integrity
- Setup the production environment using AWS Elastic Beanstalk, RDS, Elastic Cache, S3, and EC2. Implements security best practices by setting the IAM permission to allow minimum permission for each service.
- Ingesting millions of rows per month into Clickhouse DB. Optimize the database to ensure the response time in milliseconds. Now we’re managing tens of millions of data rows and gigabytes worth of data.
- Set up pgbouncer connection pooling and cut the DB-intensive operation by 80% by scaling out the worker servers
Technologies used: Ruby on Rails, Sidekiq, Clickhouse, PostgreSQL, Redis, AWS
Contract Software Engineer, Codepro - Feb 2021 to May 2021#
Work on freelance project with a group of 3 developers to build a pharmacy app for a client.
- Integrate ipay88 payment gateway into our backend API service written in Go
- Setup CI/CD pipeline using Gitlab CI
- Deploy Caddy web server
- Deploy Meilisearch for search engine
Technologies used: Go Gin, Firebase, Caddy webserver, Meilisearch, Swaggo, Gitlab CI, Google Cloud
Software Engineer, CDN.net (Onapp subsidiary) - Jan 2020 to Aug 2021#
- Lead a team of 4 developers and tester to:
- Build VOD service for our OTT system, allowing users to upload video, transcode and distribute the video
- Integrate our Django app with the external billing system. Make sure the data submitted to the billing system are idempotent by setting the cursor time.
- Revamp our Django app frontend with a new internal UI Kit and jQuery
- Built reporting features in our app, used materialized data views in MySQL, and used ChartJS to present the data.
- Design and set up the web infrastructure using Kubernetes & GitOps for the Django app
- Setup data analytic pipeline using Syslog, Google BigQuery, and Datastudio, ingesting over 1GB of log data per day to visualize traffic flowing through our CDN
Technologies used: Django, k3s on-prem Kubernetes, MySQL, RabbitMQ, jQuery, GCP, video.js
Software Engineer, Onapp - Feb 2018 to Aug 2021#
Working on Content Delivery Network (CDN) and Video Streaming products using Python during that period. I have a deep understanding of how CDN works in addition to web development and DevOps knowledge.
- Lead a team to build a log collection and data analytic feature using RabbitMQ & ELK stack and successfully deployed to over 400 edge servers globally
- Setup internal monitoring system for 400 of our edge servers globally using Grafana, InfluxDB and Netdata
- Involved in an effort to update our codebase from Python 2.7 to Python 3.5 (the whole process took over 2 years)
- Appointed as Technical Account Manager (TAM) for 3 key CDN customers
- Trained our support teams in Utah, USA and Lviv, Ukraine with CDN & OTT technologies
- Mentored 2 new comers in the team
- Participate in on-call rotation to investigate & remediate system errors whenever downtime occurs
Technologies used: Django, Python, Kubernetes, MySQL, RabbitMQ, Apache Thrift, Puppet, Nginx, Elasticsearch, Grafana
I have experience in developing:
- Monolithic web services using Django , Go , Ruby on Rails, Flask and Java Spring in production
- Microservices using ExpressJS and FastAPI
- Serverless Function as a Service (FaaS) using AWS CDK, Lambda, SNS, SQS, DynamoDB, API Gateway, S3, CloudFront
- Web frontend using Vue & Nuxt , React & NextJS, Tailwind and Chakra
- Other technologies/services: Firebase Auth, GraphQL, APM using Scout APM, Raygun & Sentry for error tracking, Logentries, Heroku
I have strong experience with the following technologies running in production:
- Kubernetes (On-prem) with k3s
- MySQL, MariaDB, Clickhouse, PostgreSQL, Firebase
- Elastic stack
- Puppet configuration management
- On-prem log aggregation using Grafana Loki
- Monitoring System: Nagios, InfluxDB, Grafana and NetData
- CI/CD tools: Jenkins & Google Cloud Build, Gitlab CI
- Google Cloud Platform (GKE, GCE, BigQuery, Cloud Build, GCS, GCR & IAM)
- AWS (EC2, Elastic Beanstalk, S3, RDS)
I also have some experience with the following technologies:
Trainings & Certifications#
I also have finished many online courses to broaden my knowledge. These are my certificate of completions:
- Deep Dive Into PostgreSQL Indexes Course by Percona
- AWS Certified SysOps Administrator Associate 2020 by A Cloud Guru
- AWS ECS - Scaling Docker by A Cloud Guru
- Kubernetes Deep Dive by A Cloud Guru
- Introduction to Ansible by A Cloud Guru
- Qwiklabs Profile
I also occasionally post what I have learned in my Github repository. Refer here