Funding Winter Indonesia 2026: Playbook Cost untuk Engineer

Foto oleh Hullie via Wikimedia Commons (CC BY 2.5)
Jawabannya sepenuhnya bergantung pada kapan Anda membaca angkanya. Halaman Indonesia milik Tracxn menunjukkan USD 50,7 juta dari sebelas equity round sampai Juni 2026, sekitar 70 persen di bawah periode yang sama pada 2025, tetapi halaman yang sama dibaca pada 4 September 2026 mencatat USD 365 juta dari tujuh belas round sampai Agustus, naik 75,6 persen. Enam round yang masuk dalam dua bulan membalik headline-nya, dan itu menandakan seri datanya terlalu kecil untuk dibaca sebagai tren.
Karena ia mengukur satu kanal pendanaan, bukan permintaan terhadap software. Halaman Tracxn yang sama melacak 37.927 perusahaan Indonesia dan mencatat 2.609 di antaranya pernah mendapat funding, jadi mayoritas besar adalah perusahaan yang punya pelanggan, bukan investor. Perusahaan seperti itu tetap membeli ERP, billing, integrasi, dan pekerjaan maintenance apa pun bentuk grafik funding-nya.
Yang payback period-nya tiba-tiba harus melewati ambang lebih tinggi: managed service yang dibeli demi kenyamanan, environment ketiga yang meniru production, pemecahan microservice yang mengasumsikan ada platform team, dan accelerator menganggur yang dipesan untuk pekerjaan yang tidak berjalan. Yang paling lama dilindungi tim biasanya rewrite setengah jadi, dan justru itu yang paling tepat dihentikan lebih dulu. Tidak ada satu pun di daftar itu yang salah saat diputuskan, hanya diputuskan pada tingkat bunga yang berbeda.
Perhatikan sinyal operasional, bukan gosipnya. Renewal yang dulu otomatis mulai butuh justifikasi tertulis, infrastruktur dikonsolidasikan ke lebih sedikit akun dan region, requisition yang terbuka berhenti dijadwalkan interview, dan proyek nice-to-have ditunda alih-alih dibatalkan. Sinyal paling jelas bersifat arah: ketika persetujuan yang menambah pengeluaran melambat sementara persetujuan yang mengurangi pengeluaran keluar minggu itu juga, di situlah perhatian organisasi berada.
Untuk volume rendah dan menengah, sering kali bisa. PostgreSQL mendokumentasikan SKIP LOCKED pada locking clause SELECT, yang membuat beberapa worker mengklaim batch baris berbeda tanpa saling memblokir, dan menggabungkan klaim serta lock dalam satu statement menghapus celah crash antara memilih baris dan menandainya. Ini trade yang nyata, bukan kemenangan gratis: pada volume tinggi atau workload fan-out besar, queue khusus tetap membayar biayanya, dan Anda menambah beban ke database yang juga melayani aplikasi Anda.

Foto oleh Hullie via Wikimedia Commons (CC BY 2.5)
Ringkasan Utama
Funding equity startup Indonesia cukup volatil sampai satu kuartal bisa membalik headline: Tracxn menunjukkan penurunan 70 persen sampai Juni 2026 dan kenaikan 75,6 persen sampai Agustus. Bagi engineer, respons yang berguna bukan meramal, melainkan menghitung ulang harga managed service, environment cadangan, dan rewrite yang belum selesai.
Pada Juni seorang kolega mengirimkan tangkapan layar ke saya. Startup Indonesia mengumpulkan USD 50,7 juta dari sebelas equity round sepanjang 2026, turun sekitar 70 persen dibanding periode yang sama pada 2025. Angka itu melakukan apa yang biasa dilakukan angka semacam itu: berputar di tiga grup chat sebelum makan siang, dan sore harinya dua orang bertanya kepada saya apakah ini tahun yang buruk untuk menjadi engineer di sini.
Saya membangun ERP dan sistem internal untuk perusahaan Indonesia, jadi pekerjaan saya berada di sisi lain statistik itu: bersama perusahaan yang membeli software, bukan yang menggalang dana untuk membangunnya. Tulisan ini tentang apa yang benar-benar saya ubah ketika cost of capital naik, dan ternyata isinya daftar keputusan teknis, bukan rencana karier. Awalnya adalah membaca angka funding itu lebih teliti daripada yang saya lakukan pada Juni.
Pembacaan Juni itu nyata. Halaman Indonesia milik Tracxn melaporkan USD 50,7 juta terkumpul dari sebelas equity round sampai Juni 2026, dibanding USD 170 juta dari dua puluh enam round pada periode yang sama tahun 2025, turun sedikit di atas 70 persen. Tidak ada yang salah lapor dan tidak ada yang sedang memutar cerita.
Saya membuka halaman yang sama pada 4 September 2026 dan isinya kebalikannya. Sampai Agustus 2026 tercatat USD 365 juta dari tujuh belas equity round, dibanding USD 208 juta dari empat puluh satu round sampai Agustus 2025, naik 75,6 persen. Enam round tambahan masuk dalam kurang lebih dua bulan dan membawa lebih dari USD 300 juta di antaranya.
Kedua kalimat itu sama-sama pembacaan jujur atas seri data yang sama, dan justru itu intinya. Sebelas observasi bukan sebuah distribusi, melainkan segenggam cek, dan satu round besar lebih berat daripada semua round kecil digabung. Jumlah round justru turun dibanding tahun lalu sementara totalnya naik, yang menggambarkan pasar yang menaruh taruhan lebih sedikit dan lebih besar, bukan pasar tanpa uang. Kalau dua bulan deal flow biasa bisa membalik reaksi Anda terhadap sebuah angka, angka itu memang tidak pernah cukup kuat untuk dijadikan dasar rencana.
Ada kesalahan kedua di bawah yang pertama, dan kesalahan itu tetap ada meski seri datanya menjadi tenang. Funding equity mengukur satu kanal pendanaan. Ia tidak mengukur permintaan terhadap software. Halaman Tracxn yang sama mencatat 37.927 perusahaan Indonesia yang dilacak dan 2.609 yang pernah mendapat funding, kurang dari satu banding empat belas. Tiga belas sisanya adalah perusahaan yang punya pelanggan, dan perusahaan yang punya pelanggan tetap butuh sistem yang dibangun, diintegrasikan, dan dijaga tetap jalan. Dari sanalah sebagian besar pekerjaan saya datang:
Permintaan seperti itu tidak dihargai oleh sebuah funding round. Ia dihargai oleh apakah revenue si pembeli sedang tumbuh, pertanyaan yang berbeda dengan jawaban yang berbeda, dan itulah pertanyaan yang perlu Anda pantau kalau Anda bekerja di tempat seperti saya.
Cost of capital adalah imbal hasil yang harus dilewati sebuah investasi sebelum layak dilakukan. Ketika angkanya mendekati nol hampir semua hal lolos, dan ketika naik, ambangnya bergerak melewati satu kelas keputusan yang sebelumnya tidak terlihat. Dalam bahasa engineering, payback period berhenti menjadi satu slide di deck orang lain dan berubah menjadi satuan hitung untuk arsitektur Anda.
Bentuk praktisnya kasar. Managed service yang menghemat dua engineer-day per bulan tidak lagi bersaing dengan pilihan membangunnya sendiri, melainkan dengan pilihan tidak memilikinya sama sekali. Begitu juga staging environment kedua, dan begitu juga pekerjaan platform yang baru terbayar pada jumlah orang yang sudah tidak ada di dalam rencana. Cost Optimization pillar dari AWS memuat lima design principle, dan dua di antaranya paling terasa di sini: adopt a consumption model, dan analyze and attribute expenditure. Anda tidak bisa menghitung ulang harga sesuatu yang tidak bisa Anda lihat, dan sebagian besar tim tidak bisa melihatnya karena tagihan datang sebagai satu angka tanpa pemilik.
Saya menyisir stack kami sendiri dengan satu pertanyaan per baris. Berapa biayanya per bulan, dan berapa biayanya kalau tidak ada. Temuan paling jelas adalah managed queue yang kami pakai untuk tepat satu hal, mengulang export dokumen yang gagal, pada volume yang bisa ditangani satu tabel Postgres tanpa terasa. PostgreSQL mendokumentasikan SKIP LOCKED sebagai bagian dari locking clause pada SELECT, dan itu mengubah tabel biasa menjadi work queue yang bisa dikuras beberapa worker dengan aman.
-- A work queue in the database you already pay for.
-- SKIP LOCKED is the whole trick: a worker takes the first row nobody
-- else has locked instead of blocking behind them.
CREATE TABLE export_job (
id bigserial PRIMARY KEY,
payload jsonb NOT NULL,
run_after timestamptz NOT NULL DEFAULT now(),
attempts int NOT NULL DEFAULT 0,
locked_until timestamptz
);
-- Without this the claim query sorts the whole table on every poll.
CREATE INDEX export_job_ready ON export_job (run_after);
-- One worker, one batch, one round trip.
WITH claimed AS (
SELECT id
FROM export_job
WHERE run_after <= now()
AND (locked_until IS NULL OR locked_until < now())
ORDER BY run_after
FOR UPDATE SKIP LOCKED -- do not queue behind another worker
LIMIT 20
)
UPDATE export_job j
SET locked_until = now() + interval '5 minutes',
attempts = j.attempts + 1
FROM claimed c
WHERE j.id = c.id
RETURNING j.id, j.payload;Perubahan itu menghapus satu baris dari tagihan dan menambah sekitar empat puluh baris SQL yang bisa dibaca siapa pun di tim. Dua detail lebih penting daripada sintaksnya. Klaim dan lock terjadi dalam satu statement, jadi worker tidak bisa crash di antara memilih baris dan menandainya, dan locked_until adalah lease, bukan flag, sehingga worker yang mati melepaskan barisnya lewat kedaluwarsa alih-alih menyandera baris itu.
Ini bukan trade yang selalu benar. Pada volume tinggi managed queue membayar dirinya sendiri, dan saya tidak akan memindahkan workload fan-out besar ke database yang juga melayani aplikasi. Tetapi pada volume kami, managed service itu membeli kenyamanan yang sudah kami bangun sendiri di sekitarnya, dan itulah bentuk sebagian besar keputusan semacam ini: bukan salah saat dibuat, hanya dibuat pada tingkat bunga yang berbeda.
Hal yang paling cepat dipangkas tim biasanya justru yang seharusnya dipangkas paling akhir. Dalam setiap tekanan biaya yang saya lihat, usulan pertama adalah tagihan observability, staging environment, latihan restore, dan test suite yang tidak dibela siapa pun. Semuanya murah dibanding satu outage yang tidak terdeteksi atau satu restore yang gagal tepat pada saat dibutuhkan. Pangkas rewrite yang setengah jadi sebelum Anda memangkas kemampuan melihat production.

Anda tidak perlu cap table siapa pun untuk tahu apakah uang mulai ketat di tempat Anda bekerja. Sinyal operasionalnya datang berminggu-minggu sebelum pengumuman apa pun, dan semuanya terlihat dari kursi biasa.
Tidak satu pun sinyal ini sendirian berarti perusahaan sedang bermasalah, dan semuanya juga sekadar tata kelola yang baik. Sinyal kelima yang benar-benar memberi tahu sesuatu, karena ia menunjuk ke mana perhatian organisasi tertuju. Ketika satu-satunya keputusan yang bergerak cepat adalah yang mengurangi pengeluaran, pekerjaan cost adalah pekerjaan yang dibaca, dan di situlah usaha Anda menjadi terbaca oleh orang yang tidak pernah melihat kode Anda.
Setiap peran yang saya lihat terlindungi saat tekanan biaya melekat pada revenue atau pada cost, dan bisa menunjukkan yang mana. Menjaga integrasi pembayaran tetap jalan adalah revenue. Membuat sistem yang sudah ada terukur lebih murah dijalankan adalah cost. Menjaga sistem tetap hidup adalah keduanya. Mengikuti mode framework bukan keduanya, dan rewrite yang belum rilis adalah artefak paling sulit dibela di kantor, karena ia mengonsumsi di sisi cost dan tidak menyumbang di sisi mana pun.
Melekat pada cost berarti menjawab ke mana waktu pergi dengan sebuah query, bukan dengan pendapat. Database biasanya tempat termurah untuk memulai, karena pg_stat_statements sudah mengumpulkan jawabannya berbulan-bulan dan belum ada yang bertanya.
-- Where does the database actually spend its time?
-- pg_stat_statements must be in shared_preload_libraries with the server
-- restarted; CREATE EXTENSION on its own collects nothing at all.
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
SELECT
round(total_exec_time::numeric / 1000, 1) AS total_seconds,
calls,
round(mean_exec_time::numeric, 2) AS mean_ms,
shared_blks_read,
left(query, 90) AS query
FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 15;
-- Rows aggregate by normalised query text, so one row is one SHAPE of
-- query and not one execution. Reset before a measurement window or you
-- will rank a migration that ran once in March.
SELECT pg_stat_statements_reset();Siapkan diri untuk baris teratas yang membosankan. Biasanya itu query count di balik dashboard, atau N plus one yang bersembunyi di endpoint list, dan perbaikannya lebih sering penghapusan daripada tuning. Itu hasil yang enak diceritakan: Anda menghapus sebuah biaya, Anda bisa menyebut query persisnya, dan grafiknya bergerak pada tanggal yang bisa Anda tunjuk.
Catat kondisi sebelum dan sesudah pada hari Anda melakukan perubahan, lengkap dengan query, tanggal, dan rentang pengukurannya. Enam bulan kemudian, dalam percakapan tentang apa yang Anda kerjakan, satu kalimat berisi nama query dan dua angka yang benar-benar Anda ukur bekerja lebih baik daripada satu paragraf tentang impact.
Bagian yang tidak nyaman dari siklus pemangkasan biaya adalah sebagian besar bukti kerja Anda tersimpan di repository privat yang aksesnya bisa hilang pada hari Jumat. Semua yang Anda kuasai itu nyata, dan tidak ada satu pun yang terlihat dari luar kantor. Membereskannya tidak keren dan hanya butuh satu malam, bukan sebuah strategi.
Mulailah dengan inventaris apa yang benar-benar Anda kirim, dibangun dari repository dan bukan dari ingatan, karena ingatan memampatkan tiga tahun kerja menjadi satu jabatan. Script di bawah sengaja dibuat kasar: ia menghitung commit, membatasi periodenya dengan tanggal nyata, dan menyebut direktori yang paling sering Anda sentuh, yang memang subsistem yang benar-benar Anda kuasai.
#!/usr/bin/env bash
# An inventory of shipped work, built from the repos and not from memory.
# Run it while you still have access. Keep the output, not the clone.
# No set -e here on purpose: a repo with no commits of yours makes grep
# exit non-zero, and that must skip the repo rather than abort the loop.
ME="[email protected]" # every address you have ever committed under
for repo in ~/work/*/; do
[ -d "$repo/.git" ] || continue
name=$(basename "$repo")
# First and last commit bound the period you can honestly claim.
span=$(git -C "$repo" log --author="$ME" --reverse --date=short \
--pretty=%ad | sed -n '1p;$p' | tr '\n' ' ')
count=$(git -C "$repo" log --author="$ME" --oneline | wc -l | tr -d ' ')
# The directories you touched most ARE the subsystems you actually know.
areas=$(git -C "$repo" log --author="$ME" --name-only --pretty=format: \
| grep -v '^$' | cut -d/ -f1-2 | sort | uniq -c \
| sort -rn | head -3 | awk '{ print $2 }' | paste -sd, -)
printf '%-24s %5s commits %s %s\n' "$name" "$count" "$span" "$areas"
doneLalu ubah tiga baris dari daftar itu menjadi sesuatu yang bisa dibaca orang asing tanpa NDA. Sebuah tulisan tentang masalah spesifiknya, library kecil yang diekstrak dari bagian yang umum, atau repository publik yang memperlihatkan polanya dengan data klien dihapus. Tiga artefak yang selesai terbaca lebih baik daripada sepuluh yang setengah jadi, dan yang membacanya adalah orang yang tidak akan bertanya lanjutan kepada Anda.
Separuh lainnya adalah orang, bukan artefak, dan cara kerjanya sama. Kolega yang pernah melihat Anda men-debug sesuatu di bawah tekanan adalah referensi yang lebih kuat daripada profil mana pun, dan hubungan itu harus sudah ada sebelum Anda membutuhkannya. Versi yang gagal dari ini adalah yang baru dimulai pada hari beritanya pecah.

Hampir tidak ada di sini yang khusus untuk masa sulit. Mengetahui berapa biaya infrastruktur Anda, mampu menyebut query yang paling banyak membakar waktu, menyimpan inventaris apa yang sudah Anda kirim, dan memelihara hubungan di luar perusahaan Anda semuanya benar pada 2021 dan akan tetap benar ketika round-nya besar lagi. Funding winter tidak menciptakan disiplin itu, ia hanya menghapus kelonggaran yang membuat Anda bisa melewatkannya.
Asimetri yang pantas dikatakan lantang adalah bahwa masa sulit adalah waktu yang buruk untuk berpuas diri dan waktu yang baik untuk menjadi berguna. Pekerjaan yang jadi lebih mudah dibenarkan, yaitu membuat sistem yang sudah ada lebih cepat, lebih ramping, dan lebih kecil kemungkinannya membangunkan orang pukul dua pagi, adalah pekerjaan yang memang disukai kebanyakan engineer. Sangat sedikit yang berubah dari minggu kerja saya. Yang berubah adalah alasannya kini mudah dijelaskan kepada orang yang tidak menulis kode.
Jadi saya berhenti meramal. Ketika angka funding berikutnya diteruskan ke saya, saya akan membacanya, mencatat tanggal yang menempel padanya, dan memeriksa apakah ia bergerak karena tren atau karena satu cek. Setelah itu saya kembali ke daftar yang benar-benar merespons usaha saya: berapa biaya menjalankan sistem ini, berapa yang dihasilkannya, dan apakah orang di luar kantor ini bisa tahu bahwa saya yang membangunnya.