Job description for Full Stack Developer ERP at PT Darma Sakti Adisaputra
Tentang Kucari adalah platform B2B procurement yang berbasis di Tasikmalaya untuk kebutuhan industri dan perusahaan. Alur bisnis kami bukan toko online biasa: customer datang lewat website, WhatsApp, email, atau telepon, lalu berlanjut ke RFQ, quotation, negosiasi, invoice, pembayaran, dan pengiriman.
Tentang posisi ini Kami sedang membangun ERP internal Kucari dari nol untuk menggantikan pembuatan dokumen sales yang masih manual. Sistem ini akan mencatat seluruh alur dari quotation, proforma invoice, invoice, pembayaran, delivery order, sampai stok, dengan nomor dokumen yang rapi dan bisa dilacak.
Kamu akan menjadi developer utama yang membangun sistem ini secara end-to-end, dari desain database dan API sampai tampilan aplikasi, deploy, dan backup. Stack-nya sudah ditentukan: Go + PostgreSQL di backend, React + TypeScript di frontend, dalam satu modular monolith. Aturan main teknisnya sudah tertulis di developer guideline, jadi kamu tidak mulai dari kertas kosong.
Kami mencari orang yang peduli pada correctness: angka uang dan pajak harus tepat, nomor invoice tidak boleh dobel, data tidak boleh hilang, dan setiap fitur dianggap selesai hanya kalau sudah dites.
Tanggung jawab
- Membangun ERP Kucari dari nol: master produk dan kategori, contact (perusahaan dan PIC), quotation dengan revisi, proforma invoice, invoice, pencatatan pembayaran, delivery order, dan stok sederhana.
- Mendesain skema PostgreSQL dengan constraint yang kuat (foreign key, unique, check), migration yang forward-only, dan audit log append-only.
- Membangun REST API dengan pendekatan OpenAPI-first (spec ditulis dulu, kode di-generate) memakai Go, chi, pgx, dan sqlc.
- Membangun frontend dengan React, Vite, TypeScript, TanStack (Router/Query/Table), shadcn/ui, React Hook Form, dan Zod.
- Mengimplementasikan logika bisnis yang sensitif dengan benar: perhitungan DPP dan PPN, DP lewat proforma, termin pembayaran (CBD/TOP), status dokumen, dan penomoran dokumen yang aman saat diakses bersamaan.
- Menerapkan login lewat identity provider (Zitadel), role-based access control dengan prinsip default deny, dan keamanan aplikasi mengacu ke OWASP ASVS.
- Menulis test: unit test, integration test dengan PostgreSQL asli (Testcontainers), test konkurensi, test otorisasi, dan E2E untuk alur kritis (Playwright).
- Membuat PDF dokumen (quotation, invoice, surat jalan) dari template HTML.
- Menyiapkan CI/CD dengan GitHub Actions, deploy dengan Docker Compose, serta backup dan restore test database.
- Menyusun script migrasi data dari sistem lama yang bisa dijalankan ulang, punya mode dry-run, dan menghasilkan laporan rekonsiliasi.
- Menulis dokumentasi teknis (ADR, runbook deploy/rollback/restore) dan bekerja lewat alur Git: branch, Pull Request, review, Staging, UAT, lalu Production.
Kualifikasi
- Pengalaman minimal 1 tahun sebagai Backend atau Full Stack Developer, dan pernah membawa aplikasi sampai ke production.
- Menguasai Go untuk backend, atau sangat kuat di bahasa backend lain dan siap ramp-up ke Go dalam beberapa minggu pertama. [[Pilih salah satu, lihat catatan]]
- Menguasai PostgreSQL dan SQL secara langsung (bukan hanya lewat ORM): desain skema, index, constraint, transaksi, dan locking.
- Berpengalaman dengan React + TypeScript.
- Memahami desain REST API dan terbiasa bekerja dengan kontrak API (OpenAPI/Swagger).
- Terbiasa menulis automated test dan memahami pentingnya test untuk logika uang dan data.
- Memahami dasar keamanan aplikasi web: authentication, authorization/RBAC, input validation, pengelolaan secret.
- Terbiasa dengan Git, Pull Request, code review, dan CI/CD.
- Nyaman bekerja dengan Docker dan server Linux.
- Bersedia bekerja full-time onsite di Tasikmalaya.
- Mampu bekerja mandiri, teliti, dan bisa menjelaskan keputusan teknis dengan jelas ke owner bisnis.
- Terbiasa memakai AI coding assistant (misalnya Claude Code) secara bertanggung jawab: tetap memahami, mereview, dan bisa menjelaskan setiap baris kode yang di-merge.
Nilai plus
- Pernah membangun ERP, sistem invoicing, accounting, atau aplikasi bisnis yang menyentuh uang dan pajak.
- Memahami alur dokumen sales B2B (quotation, proforma, invoice, surat jalan) dan perpajakan Indonesia (PPN, DPP, e-Faktur).
- Pengalaman dengan sqlc, pgx, chi, goose, atau oapi-codegen.
- Pengalaman dengan identity provider berbasis OIDC (Zitadel, Keycloak, Auth0, Ory).
- Pengalaman dengan job queue (River atau sejenis), MinIO/S3, Gotenberg, atau OpenTelemetry.
- Pengalaman backup dan point-in-time recovery PostgreSQL (pgBackRest atau sejenis).
- Pengalaman migrasi data dari sistem lama ke sistem baru.
- Pengalaman dengan Cloudflare (Tunnel/Access) atau self-hosted server.
- Bisa melampirkan portofolio, repo GitHub, atau contoh kode Go/React.

