Skilled software engineer with expertise in system design, development, testing, and application maintenance. Specializes in network programming and distributed systems, including raft, map reduce, consistent hashing, gossip protocol, CRDT, and more. Continuously explores new technologies and their potential applications. Work can be found on GitHub (https://github.com/yogyrahmawan), Stack Overflow (https://stackoverflow.com/users/3928283/yogy-fresta-rahmawan), and Tradingview (https://www.tradingview.com/u/yogy.frestarahmawan/#published-scripts).
Turing is remote work platform similar with toptal. I managed to pass turing test
In my role as a Software Engineer II at Connected Freight, I worked on multiple squads including Shell Accuport and TMS + OMS under different agencies. In the end, the company was shut down/bankrupt
Shell Accuport is all-in-one digital solution for better marine products procurement.
• Enhanced order suggestions
• Refactored code for better performance and maintenance
• Developed new features like multi-port news flash and non meo order suggestions
• Enhanced observability for our cloud functions by utilizing datadog
Technology Stack: gcp, kubernetes, cloud function, vpc network, golang, python, datadog
TMS and OMS is doing route optimization and order management system. In this squad, i mainly working as platform engineer.
• Improved error handling and making error more understandable to users.
• Developed new features like submit good received note for tms and in app notification for oms platforms.
• Enhanced oms status to handle compteted status and missing fields during export order
• Fixed several defect on tms platofrms such as: handle presignup error and set cloudfront cors
Technology Stack: serverless, typescript, aws
Rakuten Travel Xchange is the accommodation wholesale and travel technology division within the Rakuten group.
• Responsible for backend design, coding, maintenance, and deployment at Rakuten Travel Xchange.
• Integrated several hotel provider such as rakuten v5, travelgatex, hotelscombined, convergent and agoda. This integration make our clients has several options to book hotel across the world and increase our company revenue.
• Make our system more documented so new joiner can easily on boarded to our systems
• Reduce error rate in our side by implementing internal rate limiting for each credentials before request go to external providers.
• Implemented Thundering herd prevention using go singleflight for Rakuten supplier.
• Utilized Kong key management for endpoint blocking/unblocking and rate limiting based on API key. This way we can prioritize our customers.
• Reduce query latency by implementing table partition for rakuten supplier
• Enhance our language to support chinese translation by utilizing pg_trgrm
• Reduce scheduler load time in rakuten supplier by utilizing chuckoo filter
• Enhance internal system by make audit log so our support can easily identify what kind of error in our system.
• Conducted load tests, profiling, and optimizations to reduce latency and memory usage.
Tech Stack : Go, gcp, grpc, postgresql, redis, bigquery, docker, kubernetes, google pubsub, bigtable, prometheus, grafana, scylladb, rabbitmq
In my role as a Backend Engineer at Avnos, I led the development of Pulse, Hub, and license server, utilizing technologies like go, consul, cockroachdb, and more. Achievements include optimizing beacon management and server restriction for enhanced performance.
• Implemented Hub for endpoint tasks
• Developed Pulse for beacon management
• Designed license server for on-premise server restriction
Hub Service
Hub is endpoint agnostic and responsible for endpoint related tasks. My responsibilites are:
Stack : grpc, go, cockroachdb, nats.io , elasticsearch, minio, redis
Pulse Service
Pulse is responsible for:
My responsibilities are:
Stack: go, consul for leader election and service discovery, cockroachdb, redis, grpc
License Server
License server is used to restrict on premise server. The idea is 1 server 1 license. My responsibilities are:
• Designed and developed a Multi sig Wallet for bitcoin and ethereum using go, memcache, and mysql technologies.
• Utilized bitcore wallet service for bitcoin protocol to enhance security and efficiency.
• Achieved seamless integration of the wallet system, ensuring smooth transactions and user experience.
Tech Stack: go, memcache, mysql
Develop software: web based, web rtc, network programming. mostly played as backend dev role. I also doing deployment. Accomplished both domestic and international project. Mostly using golang. Project list:
1. Qepon (VOIP application). as backend dev. There are some
components:
Signalling Server: The signalling server acted as manager to initiate
caller and respond callee, stop voip, request public ip to turn so caller and callee can communicating as peer to peer, doing turn refresh so the
allocation alive until caller/callee trigger stop call, keep connection alive to caller and callee by sending heartbeat periodically, manage user
registration using smsgateway.to to sending sms, sending gcm with compressed message using protobuf to callee.
Relay Server : restund for peer to peer communication
Scalling (multiple signaling server, multiple relay server) : multiple
signalling server using cloudflare round robin. For scalling relay, signalling server allocate to different relay based on weighted round robin when caller trigger connection and the gcm message that sent to the callee and the message will include relay address.
Monitoring : signaling server and relay monitoring using http based that
send periodically to server. Server should sent ram, cpu ussage, number
of connection. The monitor app must send email to configured user email when cpu, ram, and number of connection exceed threshold.
Other : added deb package for package builder and fabric script for
deployment
Tech : Golang, fabric, circleCi, goji, persistent connection, gcm, and
mongodb
2. EDC Android based. As Backend Dev.
develop iso_service and acted as middleware between EDC and
AS400. The top layer/api gateway is kong. Features: balance inquiry,
payment, purchase, create account and sign on . It uses iso8583 as
message format to communicating with SOA/AS400 and json message
format from EDC to middleware(iso_service). Built using Golang and
postgres.
protocol : http from edc to middleware. Tcp from middleware to
SOA/AS400 . It is using tcp connection pool to communicate with AS400. The purpose is to reduce delay time.
agent and merchant service : service to handle agent and merchant
registration . built using python and flask framework.
Tech : Golang, python, postgresql, docker
3. Talklikeme(Educational learning platform). WebRTC technology. As
Backend developer.
Realtime communication/push notification and chat using websocket
backed by redis pubsub. Rest API to handle admin task , JWT Auth,
facebook oauth registration, upload image to AWS S3 Bucket.
Tech Stack : Golang, fabric,MongoDB, redis, and websocket for server
push .
4. Lpse scrapper. Lpse auction scrapper. As Backend dev using go and
mongodb
5. Spekdia. Phone listing app using python, django and postgresql.
6. AdsInjector : Initial/POC of detecting certain pattern from video . Tech :
go, ffmpeg, tesseract . Status : Not reach agreement
7. POC of customizing mattermost for polda jabar. Status : not reach
aggreement
8. Damelan . Mini project for scrapping olx.co.id . as backend dev using go
and mongodb.
9. RamlCodegen(rest generator based on RAML) v 0.1 . Initial project of go-raml . initial repository in private gitlab. Built using go.
https://github.com/Jumpscale/go-raml/blob/master/raml/CONTRIBUTORS
10. Ekatalog Bukopin(as backend dev). Training Management For Bukopin
Users. Built Using laravel, fcm and mongodb,
11. Suitsuit game engine. As backend dev. Android game based on rock,
scissor, paper game. Provide api and build engine such as pvp rank, pvp
free, user statistic, fcm integration. Built using go, mariadb, fcm and
docker
Develop, maintain and deployed application. mostly on telco industry. Completed and maintenance projects:
Technology Stack : java, spring, hibernate, mysql, javascript
Completed CallerID and password reset, web
service integration(SOAP), Client load balancing using round robin
algorithm, customize telephony, pagination, and reporting data dumps,
upgrade and migrating existing Kana version .
Built using Kana Proprietiary tools, Jboss, oracle.
Technology stack : java, javascript, oracle, jboss, scrum , team city, apache solr
Projects:
Basically same company but they want to switch provider
TMS + OMS Squad
Technology Stack: serverless, typescript, aws
Skills: Go (Programming Language) · RabbitMQ · statsd · PostgreSQL
Rejoin after resign from this company. Completed several projects such as:
- Do profiling and optimization to reduce resource by using sync pool and go gctuner to several supplier for reducing latency and memory
- rakuten v5 integration which contains 5 services(rakuten-v5-sync-api, rakuten-v5-sync-consumer, rakuten-v5-search, rakuten-v5-bmc and rakuten-v5-static) using postgres, golang, scylladb and rabbitmq
- create audit log on admin app(rabbitmq, postgres partition)
- another maintenance and bug fixing task
Stack: go, kubernetes, docker, postgres, scylladb, rabbitmq, gcs
Golang