Backend Engineer Golang (Banking)
Backend Developer Requirement Kualifikasi Umum
- Minimal 3 tahun pengalaman sebagai Backend Developer
- Berpengalaman menggunakan Golang dalam production environmen
- Terbiasa bekerja dalam arsitektur microservices
- Memiliki mindset ownership, accountability, dan engineering excellence
- Mampu bekerja dalam tim agile (scrum/kanban)
Key Responsibilities Kualifikasi Teknis: Golang & Architecture
- Strong proficiency di Golang
- Kuat dalam concurrency (goroutine, channel, context, worker pool, race condition handling
- Memahami clean architecture / layered architecture (controller → service → repository → model)
- Terbiasa menggunakan dependency injection (diutamakan: Google Wire / constructor-based DI)
Framework & API
- Berpengalaman menggunakan Gin (atau framework sejenis)
- Mengembangkan REST API dan/atau gRPC
- Memahami API design best practices (idempotency, versioning, error handling)
Database (PostgreSQL)
- Berpengalaman menggunakan PostgreSQL
- Memahami:
○ Query optimization & indexing ○ Transaction handling (ACID, isolation level) ○ Table partitioning (range/hash) untuk high-volume data
- Familiar dengan ORM seperti GORM (atau SQL native)
Caching & Performance
- Berpengalaman menggunakan Redis (atau sejenis)
- Memahami:
○ Cache strategy (read-through, write-through, cache-aside) ○ TTL & cache invalidation ○ Handling cache consistency pada sistem transaksi
Messaging & Integration
- Berpengalaman menggunakan event-driven architecture
- Familiar dengan Google Pub/Sub (atau Kafka/RabbitMQ)
- Memahami asynchronous processing dan retry mechanism
Observability & Logging
- Terbiasa menggunakan:
○ OpenTelemetry (OTel) untuk tracing atau sejenis ○ Zap logger untuk structured logging atau sejenis
- Memahami konsep:
○ Distributed tracing ○ Metrics & monitoring (Prometheus/Grafana menjadi nilai tambah) ○ Log correlation
DevOps & Deployment
- Berpengalaman menggunakan:
○ Docker ○ Kubernetes (K8s) untuk deployment
- Familiar dengan environment Google Cloud Platform (GCP) Merupakan nilai tambah
- Memahami CI/CD pipeline (GitLab CI/CD atau sejenis)
Security
- Memahami:
○ Secure coding practices ○ API security (JWT, OAuth2, atau OpenID)
- Familiar dengan:
○ Keycloak sebagai Identity Provide ○ Vault untuk secret management Testing & Quality
- Terbiasa menulis:
○ Unit test ○ Integration
Skills: Kubernetes, Kanban, PostgreSQL, Scrum, Go / Golang, ORM, Kafka, gRPC, RabbitMQ, Gcp, Docker, Gin, CI/CD, Redis, REST API