75 poin oleh baeba 2025-12-24 | 5 komentar | Bagikan ke WhatsApp

Poin utama:

  • Perbedaan paling menentukan antara insinyur senior dan menengah adalah kemampuan untuk mengonkretkan masalah yang tidak pasti dan ambigu.
  • Nilai seorang senior bukan berasal dari keterampilan coding itu sendiri, melainkan dari kemampuannya menghilangkan risiko proyek dan mengubahnya menjadi rencana yang dapat dieksekusi.
  • Praktik perekrutan saat ini (seperti tes algoritma) gagal menilai kemampuan ini.
  • Pertumbuhan yang sesungguhnya dimulai dari latihan mendefinisikan masalah dengan jelas sebelum tahap coding.

Pendahuluan: meninjau ulang definisi insinyur senior

  • Secara umum, insinyur senior didefinisikan melalui daftar berbagai keterampilan seperti desain arsitektur, komunikasi, dan kepemimpinan.
  • Namun, jika jabatan, gaji, dan masa kerja dikesampingkan, hanya ada satu keterampilan inti yang membedakan insinyur senior ke atas: "kemampuan mengurangi ambiguitas".
  • Semua kemampuan lainnya (seperti eksekusi teknis) merupakan hasil turunan yang berlandaskan keterampilan inti ini.

Pembahasan

1. Perbedaan cara menyelesaikan masalah: kejelasan vs ambiguitas
  • Insinyur tingkat menengah (Mid-level): menunjukkan performa luar biasa ketika diberi spesifikasi (Spec) dan batasan yang jelas. Mereka mahir menyelesaikan masalah yang sudah terdefinisi dengan baik.
  • Insinyur senior: tampil menonjol ketika menerima kebutuhan yang samar dan abstrak seperti "perlu peningkatan performa", "keluhan pengguna meningkat", atau "perlu mempertimbangkan skalabilitas".
  • Senior tidak sekadar mengerjakan masalah yang ambigu, tetapi menganalisis dan menguraikannya menjadi tugas-tugas yang konkret.
2. Peran inti senior adalah menghilangkan risiko proyek
  • Saat menghadapi masalah besar dan abstrak, insinyur senior mengurangi ketidakpastian melalui pendekatan seperti berikut:

    Iklan
  • Mengajukan pertanyaan mendasar yang tidak diajukan orang lain.

  • Memisahkan sinyal penting dari noise.

  • Menentukan prioritas antara hal yang harus segera dikerjakan dan yang bisa ditunda.

  • Proses ini menurunkan risiko proyek (De-risking), serta mengubah kondisi "tidak tahu sebenarnya ini apa" menjadi "proyek-proyek kecil yang bisa dijalankan dan elemen-elemen yang harus dihilangkan".

  • Ketika senior melakukan ini dengan baik, proyek berjalan mulus dan dari luar tampak mudah, padahal kenyataannya itu adalah hasil dari banyak "pekerjaan tak terlihat" yang dilakukan sebelumnya.

    Iklan
3. Pendekatan konkret untuk mengurai ambiguitas
  • Sebelum mulai coding, insinyur senior mengajukan pertanyaan-pertanyaan berikut untuk memperjelas masalah:
  • Hakikat masalah: Bukan solusi yang kita inginkan, tetapi apa sebenarnya masalah mendasar yang ingin kita selesaikan?
  • Definisi pengguna: Tepatnya, rasa sakit milik siapa dan dalam bentuk apa yang ingin kita selesaikan? (hindari kata umum seperti "pengguna")
  • Verifikasi asumsi: Asumsi keliru apa yang tersembunyi dalam rencana kita saat ini?
  • Penilaian risiko: Apa skenario terburuk yang bisa terjadi jika penilaian kita salah?
4. Keterbatasan sistem perekrutan dan salah pilih senior
  • Sebagian besar perusahaan merekrut dengan berfokus pada daftar tech stack atau kemampuan menyelesaikan soal algoritma (LeetCode).
  • Pendekatan ini tidak mampu memverifikasi kemampuan mengubah kebutuhan produk yang ambigu menjadi rencana yang dapat dieksekusi.
  • Akibatnya, lahirlah banyak insinyur "senior" yang jago coding tetapi tidak mampu berbuat apa-apa ketika berhadapan dengan spesifikasi yang tidak lengkap.

Kesimpulan: saran untuk bertumbuh

  • Kemampuan arsitektur maupun komunikasi memang penting, tetapi nilainya baru muncul setelah "apa yang harus dibangun" menjadi jelas.
  • Keunggulan teknis tanpa kemampuan mengurangi ambiguitas tidak lebih dari "menyelesaikan masalah yang salah dengan elegan".
  • Tolok ukur apakah seseorang berada di level senior adalah apakah saat menerima tugas yang abstrak ia menunggu orang lain memperjelasnya, atau justru ia sendiri yang mengonkretkannya agar tim bisa mengeksekusi.
  • Ini bukan bakat bawaan, melainkan ranah latihan. Jadi, ketika menerima tiket pekerjaan yang ambigu, alih-alih langsung coding, mulailah melatih diri untuk mengonkretkan masalahnya.

5 komentar

 
mhj5730 2025-12-30

Saya juga melihat proses memverifikasi developer senior dengan "tes coding algoritma" sebagai keterbatasan sistem rekrutmen. Menurut saya, developer senior yang benar-benar sepadan dengan gajinya adalah orang yang telah mendekati esensi masalah, atau mampu mendekatinya.

 
elbanic 2025-12-25

Dari sudut pandang mana pun, saya belajar dari tulisan ini bahwa setiap orang bisa melihatnya secara berbeda. Menurut saya, pembeda antara engineer senior dan engineer menengah hanyalah soal cakupan.
Mengonkretkan Ambiguity adalah kompetensi dasar seorang engineer, dan rasanya mulai level engineer menengah seseorang harus bisa melakukan ini agar layak menyandang titel engineer. Jadi, bagi saya, tulisan ini bisa menjadi tolok ukur yang membedakan engineer menengah dan engineer pemula (associate).

 
bichi 2025-12-24

Untuk tes developer senior, sampai tes pemrograman masih bisa dimaklumi
tapi kalau sampai mengeluarkan soal algoritma, itu benar-benar absurd (saking kagetnya sampai tidak ingat juga)

 
mbh023 2025-12-24

Keunggulan teknis ketika masalah belum bisa didefinisikan dengan jelas hanyalah 'menyelesaikan masalah yang salah dengan elegan'.

Kalimat yang benar-benar bikin merinding

 
baeba 2025-12-24
1. Teknik bertanya dan modal sosial (Social Capital)
  • Ketidaktahuan strategis: Pertanyaan senior bukan berasal dari ketidaktahuan, melainkan tindakan yang disengaja untuk menghilangkan ketidakpastian. Kemampuan kunci adalah berani mengajukan pertanyaan dasar ("apa kepanjangan singkatan ini?") tanpa merasa malu.
  • Memanfaatkan modal sosial: Berbeda dengan junior, senior sudah membangun 'modal sosial (kepercayaan)', sehingga meskipun mengajukan "pertanyaan bodoh", mereka tidak langsung dinilai tidak kompeten. Peran senior adalah memanfaatkan hal ini untuk menyingkirkan ambiguitas dalam rapat.
  • Mempertimbangkan konteks politik: Pertanyaan yang terlalu langsung bisa terasa mengancam bagi manajer yang menghindari kejelasan. Karena itu, dibutuhkan kecakapan berpolitik tingkat tinggi untuk memilih pertanyaan yang aman secara politik sekaligus mendorong proyek maju.
2. Otonomi dan manajemen risiko (Autonomy & Risk)
  • Menyelesaikan masalah tanpa jaring pengaman: Standar senior adalah kemampuan menerobos (Plough through) dan menuntaskan masalah sendiri meski tanpa bantuan eksternal atau panduan yang jelas.
  • Mengendalikan chaos: Alih-alih selalu mengejar kejelasan mutlak, mereka menentukan kapan harus 'berhenti' dan kapan harus 'maju' sesuai situasi. Daripada menunggu spesifikasi sempurna, mereka menetapkan asumsi yang masuk akal lalu mengeksekusi (Ship) agar kekacauan berkurang.
  • Mengambil risiko yang terukur: Mereka berani mengambil keputusan teknis yang sulit dilakukan junior, seperti memperbaiki kode saat runtime ketika kode tidak bisa dikompilasi atau melakukan refactoring besar-besaran, lalu bertanggung jawab atas hasilnya.
3. Inflasi jabatan dan kontradiksi struktural dalam perekrutan
  • Inflasi jabatan (Title Inflation): Praktik mempromosikan junior yang belum siap menjadi senior demi memenuhi metrik kinerja sudah meluas. Akibatnya, muncul kesenjangan antara titel dan kemampuan nyata.
  • Keterbatasan cara rekrutmen: Perusahaan merekrut dengan fokus pada kemampuan menyelesaikan soal algoritma (LeetCode), bukan kemampuan mengonkretkan kebutuhan yang ambigu. Akibatnya, lahir banyak 'senior' yang tidak bisa berbuat apa-apa tanpa spesifikasi.
  • Mengambil alih peran PM: Senior engineer kerap menghabiskan waktu untuk mematangkan perencanaan yang setengah matang (Half-baked spec) dari PM yang malas. Ini memang bagian dari kemampuan engineer, tetapi juga bukti inefisiensi organisasi.
4. Masa kerja (Tenure) vs latihan yang disengaja
  • Perbedaan kualitas pengalaman: "Pertumbuhan selama 10 tahun" harus dibedakan jelas dari "mengulang 1 tahun pengalaman sebanyak 10 kali". Senior sejati terbentuk lewat latihan dan tantangan yang disengaja di luar zona nyaman.
  • If vs What-if: Junior fokus menangani kondisi yang diberikan (If), sedangkan senior mengantisipasi perubahan kondisi (What-if) dan bersiap menghadapinya.
  • Definisi tahap pertumbuhan: Standar umum di industri membagi tahap menjadi 'tahap dibimbing (Junior)' → 'tahap bekerja mandiri (Regular)' → 'tahap membimbing orang lain (Senior)'.
5. Pandangan skeptis terhadap titel senior
  • Sekadar grade gaji (Pay Grade): Ada pandangan sinis bahwa sebutan senior bukan indikator kemampuan, melainkan sekadar klasifikasi administratif yang dibuat HR untuk menentukan gaji.
  • Kesenjangan antarperusahaan: Terdapat jurang besar dalam kemampuan dan kompensasi antara senior di perusahaan big tech (mampu menangani ambiguitas dan cakupan besar) dan senior di perusahaan biasa (sekadar pegawai lama).