- Engineer hebat bukanlah programmer terbaik, melainkan mereka yang memahami cara menavigasi orang, politik, koordinasi, dan ambiguitas di sekitar kode
- Isi tulisan ini berfokus bukan pada teknologi, melainkan pada pola yang berulang kali muncul dalam proyek dan tim, mencakup pemecahan masalah pengguna, kolaborasi tim, kualitas kode, hingga pengelolaan karier
- Menunjukkan wawasan paradoks bahwa kejelasan adalah kualitas inti engineer senior, sementara kecerdikan sering kali hanya menjadi overhead, dan kode terbaik adalah kode yang tidak pernah ditulis
- Di organisasi besar, kegagalan alignment adalah penyebab utama melambatnya laju kerja, dan ketika metrik menjadi tujuan, metrik itu akan terdistorsi—menunjukkan jebakan dalam pengelolaan organisasi
- Dalam perspektif jangka panjang, waktu menjadi sumber daya yang lebih berharga daripada uang, dan jaringan relasi bertahan lebih lama daripada pekerjaan mana pun, sehingga desain karier yang disengaja menjadi penting
1. Engineer terbaik terobsesi menyelesaikan masalah pengguna
- Memulai dari teknologi lalu mencari tempat untuk menerapkannya memang menggoda, tetapi engineer yang menciptakan nilai terbesar justru bekerja dari arah sebaliknya — memahami masalah pengguna secara mendalam lalu menurunkan solusi dari sana
- Obsesi pada pengguna berarti meluangkan waktu untuk tiket dukungan, berbicara dengan pengguna, mengamati kesulitan mereka, dan terus bertanya "mengapa" sampai mencapai akar masalah
- Engineer yang benar-benar memahami masalah sering menemukan bahwa solusi yang elegan ternyata lebih sederhana dari perkiraan
- Engineer yang memulai dari solusi cenderung membangun kompleksitas demi mencari pembenaran
2. Menjadi benar itu mudah, tetapi mencapai kebenaran bersama adalah pekerjaan yang sesungguhnya
- Anda bisa memenangkan semua perdebatan teknis tetapi tetap kehilangan proyek, dan banyak engineer hebat selalu menjadi orang paling pintar di ruangan sambil menumpuk resistensi diam-diam
- Biayanya baru muncul kemudian sebagai "masalah eksekusi yang misterius" dan "resistensi aneh"
- Keterampilan inti bukan sekadar benar, melainkan ikut dalam diskusi untuk menyelaraskan pemahaman masalah, memberi ruang bagi orang lain, dan tetap skeptis terhadap keyakinan sendiri
- Pendapat kuat, keterikatan lemah — bukan karena kurang yakin, tetapi karena keputusan di bawah ketidakpastian tidak boleh dilekatkan pada identitas diri
3. Luncurkan dengan bias ke tindakan. Halaman buruk masih bisa diedit, halaman kosong tidak bisa
- Mengejar kesempurnaan melahirkan kelumpuhan, dan sering terlihat engineer berdebat berminggu-minggu soal arsitektur ideal untuk sesuatu yang bahkan belum pernah dibuat
- Solusi sempurna tidak lahir dari berpikir semata, tetapi dari kontak dengan kenyataan, dan AI bisa membantu dengan berbagai cara
- Lakukan dulu, benarkan, lalu tingkatkan — tampilkan prototipe jelek ke pengguna, tulis draf dokumen desain yang berantakan, dan luncurkan MVP yang sedikit memalukan
- Dari satu minggu umpan balik nyata, kita belajar lebih banyak daripada sebulan perdebatan teoretis; momentum menciptakan kejelasan, sementara analysis paralysis tidak menghasilkan apa-apa
4. Kejelasan adalah tanda senioritas, dan kecerdikan adalah overhead
- Naluri untuk menulis kode yang cerdas hampir universal pada engineer dan terasa seperti pembuktian kompetensi
- Software engineering terjadi ketika waktu dan programmer lain ikut ditambahkan, dan dalam lingkungan seperti itu kejelasan bukan preferensi gaya, melainkan pengurangan risiko operasional
- Kode adalah memo strategis untuk orang asing yang harus memeliharanya pada pukul 2 pagi saat insiden terjadi, jadi yang harus dioptimalkan bukan keanggunan, melainkan tingkat keterpahaman mereka
- Engineer senior yang paling dihormati belajar menukar kecerdikan dengan kejelasan setiap saat
5. Kebaruan adalah utang yang dibayar dengan insiden, perekrutan, dan overhead kognitif
- Perlakukan pilihan teknologi seperti organisasi dengan anggaran kecil "token inovasi", dan setiap kali benar-benar mengadopsi sesuatu yang non-standar, satu token habis — jumlah yang bisa ditanggung tidak banyak
- Intinya bukan "jangan pernah berinovasi", melainkan "berinovasilah hanya di area tempat Anda memang dihargai karena inovasi unik itu", dan selebihnya kebosanan harus menjadi default
- Kebosanan punya mode kegagalan yang sudah dikenal
- "Alat terbaik untuk pekerjaan ini" sering kali sebenarnya berarti "alat yang paling tidak buruk untuk banyak pekerjaan" — karena memelihara kebun binatang alat adalah pajak yang nyata
6. Kode tidak membela Anda, manusialah yang melakukannya
- Di awal karier, ada keyakinan bahwa pekerjaan bagus akan berbicara sendiri, tetapi itu keliru; kode hanya duduk diam di repositori
- Manajer bisa menyebut nama Anda di rapat atau tidak, rekan kerja bisa merekomendasikan Anda untuk proyek atau memilih orang lain
- Di organisasi besar, keputusan diambil oleh orang-orang yang punya lima menit dan dua belas prioritas, dalam rapat yang Anda tidak diundang, berdasarkan ringkasan yang tidak Anda tulis sendiri
- Jika tak seorang pun bisa menjelaskan dampak Anda di ruangan saat Anda tidak hadir, maka dampak itu pada praktiknya opsional; ini bukan promosi diri, melainkan membuat rantai nilai terbaca bagi semua orang, termasuk diri Anda sendiri
7. Kode terbaik adalah kode yang tidak perlu ditulis
- Budaya engineering merayakan penciptaan, padahal menghapus sering kali memperbaiki sistem lebih besar daripada menambahkannya, tetapi tidak ada yang dipromosikan hanya karena menghapus kode
- Setiap baris kode yang tidak ditulis adalah baris yang tidak perlu di-debug, dipelihara, atau dijelaskan
- Sebelum membangun, pertanyaan harus dikuras habis: "bagaimana kalau... kita tidak melakukannya saja?" — kadang jawabannya adalah "tidak ada hal buruk yang terjadi", dan itulah solusinya
- Masalahnya bukan engineer tidak bisa menulis kode, atau tidak bisa menulisnya dengan AI, melainkan mereka terlalu mahir menulis sehingga lupa bertanya apakah kode itu memang perlu ditulis
8. Pada skala besar, bahkan bug pun punya pengguna
- Ketika pengguna cukup banyak, setiap perilaku yang dapat diamati akan menjadi dependensi, terlepas dari apakah itu dijanjikan atau tidak — seseorang akan melakukan scraping API, mengotomatisasi keanehan, atau me-cache bug
- Ini melahirkan wawasan tingkat karier: pekerjaan kompatibilitas tidak bisa diperlakukan sebagai "maintenance" sementara fitur baru dianggap "pekerjaan sungguhan", karena kompatibilitas itu sendiri adalah produk
- Penghentian dukungan harus dirancang sebagai migrasi, dengan waktu, alat, dan empati
- Sebagian besar "desain API" pada praktiknya sebenarnya berarti "pensiun API"
9. Sebagian besar tim yang "lambat" sebenarnya tidak selaras
- Saat proyek terlambat, naluri pertama adalah menyalahkan eksekusi — orang tidak cukup bekerja keras, teknologinya salah, engineer-nya kurang — tetapi biasanya itu bukan masalah sebenarnya
- Di perusahaan besar, tim adalah unit konkurensi, tetapi ketika jumlah tim bertambah, biaya koordinasi tumbuh secara eksponensial
- Sebagian besar kelambatan sebenarnya berarti kegagalan alignment — membangun hal yang salah, atau membangun hal yang benar dengan cara yang tidak kompatibel
- Engineer senior menghabiskan lebih banyak waktu untuk memperjelas arah, antarmuka, dan prioritas daripada sekadar "menulis kode lebih cepat", karena bottleneck yang nyata ada di sana
10. Fokus pada yang bisa dikendalikan, abaikan yang tidak mungkin
- Di perusahaan besar, sangat banyak variabel berada di luar kendali — perubahan organisasi, keputusan manajemen, perubahan pasar, pivot produk — dan terobsesi pada hal-hal itu menciptakan kecemasan tanpa daya bertindak
- Engineer yang tetap waras dan efektif berfokus pada lingkup pengaruhnya — Anda tidak bisa mengendalikan apakah reorganisasi terjadi, tetapi Anda bisa mengendalikan kualitas kerja, cara merespons, dan apa yang Anda pelajari
- Saat menghadapi ketidakpastian, pecah masalah menjadi bagian-bagian dan identifikasi tindakan konkret yang benar-benar bisa Anda ambil
- Ini bukan penerimaan pasif, melainkan fokus strategis; energi yang dihabiskan pada hal yang tak bisa diubah adalah energi yang dicuri dari hal yang bisa diubah
11. Abstraksi tidak menghapus kompleksitas, hanya memindahkannya ke saat Anda sedang on-call
- Setiap abstraksi adalah taruhan bahwa Anda tidak perlu memahami apa yang ada di bawahnya, dan kadang taruhan itu menang
- Tetapi sesuatu selalu bocor, dan ketika itu bocor Anda harus tahu Anda sedang berdiri di atas apa
- Engineer senior terus mempelajari hal-hal "tingkat bawah" seiring stack makin tinggi — bukan karena nostalgia, melainkan karena menghormati momen ketika abstraksi gagal dan Anda sendirian menghadapi sistem pada pukul 3 pagi
- Gunakan stack, tetapi tetap miliki model kerja tentang mode kegagalan dasarnya
12. Menulis memaksa kejelasan. Cara tercepat untuk mempelajari sesuatu dengan lebih baik adalah mencoba mengajarkannya
- Menulis memaksa kejelasan, dan ketika menjelaskan konsep kepada orang lain — lewat dokumen, presentasi, komentar code review, bahkan chat dengan AI — Anda menemukan celah dalam pemahaman sendiri
- Tindakan membuat sesuatu terbaca oleh orang lain juga membuatnya lebih terbaca oleh diri sendiri
- Ini bukan berarti Anda belajar menjadi ahli bedah dengan mengajarkannya, tetapi premisnya sebagian besar benar dalam ranah software engineering
- Ini bukan hanya kemurahan hati untuk berbagi pengetahuan, tetapi juga hack belajar yang egois — jika Anda merasa sudah paham sesuatu, coba jelaskan secara sederhana; tempat Anda tersendat adalah tempat pemahaman Anda masih dangkal
- Mengajar berarti men-debug model mental sendiri
13. Pekerjaan yang memungkinkan pekerjaan lain terjadi itu bernilai, tetapi tak terlihat
- Pekerjaan lem — dokumentasi, onboarding, koordinasi lintas tim, perbaikan proses — itu penting, tetapi jika dilakukan secara tidak sadar, bisa membuat lintasan teknis mandek dan memicu burnout
- Jebakannya adalah memperlakukannya sekadar sebagai hal yang "membantu", bukan sesuatu yang disengaja, punya batas, dan berdampak yang terlihat
- Hal ini perlu dibatasi waktunya, diputar, dan diubah menjadi artefak: dokumen, template, otomatisasi — lalu dibuat terbaca sebagai dampak, bukan sebagai sifat kepribadian
- Sesuatu yang bernilai tetapi tak terlihat adalah kombinasi yang berbahaya bagi karier
14. Jika Anda menang di setiap perdebatan, kemungkinan Anda sedang menumpuk resistensi diam-diam
- Saya belajar meragukan keyakinan sendiri, dan ketika terlalu mudah untuk "menang", biasanya ada sesuatu yang salah
- Orang berhenti melawan Anda bukan karena Anda berhasil meyakinkan mereka, melainkan karena mereka menyerah, lalu mengekspresikan ketidakselarasan itu saat eksekusi, bukan saat rapat
- Alignment yang nyata membutuhkan waktu lebih lama — benar-benar memahami perspektif lain, mengintegrasikan masukan, dan kadang berubah pikiran secara terbuka
- Sensasi jangka pendek karena merasa benar jauh lebih tidak berharga dibanding realitas jangka panjang membangun sesuatu bersama rekan kerja yang mau bekerja sama
15. Ketika pengukuran menjadi tujuan, pengukuran berhenti menjadi pengukuran
- Setiap metrik yang diekspos ke manajemen pada akhirnya akan diakali, bukan karena niat buruk, tetapi karena manusia mengoptimalkan apa yang diukur
- Lacak jumlah baris kode, Anda akan mendapat lebih banyak baris; lacak velocity, Anda akan mendapat estimasi yang dibengkakkan
- Langkah engineer senior: menjawab setiap permintaan metrik secara berpasangan — satu untuk kecepatan, satu untuk kualitas atau risiko — lalu menekankan interpretasi tren, bukan pemujaan terhadap ambang batas
- Tujuannya adalah insight, bukan pengawasan
16. Mengakui bahwa Anda tidak tahu menciptakan rasa aman lebih besar daripada berpura-pura tahu
- Engineer senior yang berkata "saya tidak tahu" tidak sedang menunjukkan kelemahan, melainkan menciptakan izin
- Saat pemimpin mengakui ketidakpastian, itu memberi sinyal bahwa orang lain juga boleh melakukan hal yang sama; alternatifnya adalah budaya di mana semua orang berpura-pura paham dan masalah disembunyikan sampai meledak
- Ada tim di mana orang paling senior tidak pernah mengakui kebingungan, dan dampaknya terlihat — pertanyaan tidak muncul, asumsi tidak ditantang, dan engineer junior diam karena mengira semua orang lain mengerti
- Jika Anda memberi teladan rasa ingin tahu, Anda mendapatkan tim yang benar-benar belajar
17. Jaringan relasi bertahan lebih lama daripada pekerjaan mana pun yang akan Anda miliki
- Di awal karier, fokus pada pekerjaan dan mengabaikan networking, dan jika melihat ke belakang itu adalah kesalahan
- Rekan-rekan yang berinvestasi dalam hubungan — di dalam maupun di luar perusahaan — memetik manfaat selama puluhan tahun
- Mereka mendengar peluang lebih dulu, bisa membangun jembatan lebih cepat, direkomendasikan untuk peran, dan mendirikan venture bersama orang-orang yang telah mereka bangun kepercayaannya selama bertahun-tahun
- Pekerjaan tidak abadi, tetapi jaringan relasi bertahan lebih lama daripada masing-masing pekerjaan — pendekatannya harus dengan rasa ingin tahu dan kemurahan hati, bukan hiruk-pikuk transaksional
- Saat waktunya tiba untuk pergi, sering kali relasilah yang membuka pintu
18. Sebagian besar peningkatan performa datang dari menghapus pekerjaan, bukan menambah kecerdikan
- Saat sistem melambat, naluri pertama adalah menambah sesuatu — lapisan cache, pemrosesan paralel, algoritme yang lebih pintar — kadang itu benar, tetapi peningkatan performa yang lebih besar sering datang dari pertanyaan "apa yang sebenarnya tidak perlu dihitung?"
- Menghapus pekerjaan yang tidak perlu hampir selalu lebih berdampak daripada mempercepat pekerjaan yang memang perlu dilakukan, dan kode tercepat adalah kode yang tidak pernah dieksekusi
- Sebelum optimasi, kita harus mempertanyakan apakah pekerjaan itu memang perlu ada
19. Proses ada untuk mengurangi ketidakpastian, bukan untuk membuat jejak dokumen
- Proses terbaik membuat koordinasi lebih mudah dan kegagalan lebih murah, sedangkan proses terburuk hanyalah teater birokrasi — tidak hadir untuk membantu, tetapi untuk menunjuk siapa yang disalahkan saat sesuatu salah
- Jika Anda tidak bisa menjelaskan bagaimana suatu proses mengurangi risiko atau meningkatkan kejelasan, maka kemungkinan itu hanya overhead
- Jika orang menghabiskan lebih banyak waktu untuk mendokumentasikan pekerjaan daripada mengerjakannya, berarti ada sesuatu yang sangat keliru
20. Pada akhirnya waktu menjadi lebih berharga daripada uang, jadi bertindaklah sesuai itu
- Di awal karier, Anda menukar waktu dengan uang, dan itu tidak masalah, tetapi pada titik tertentu perhitungannya berbalik — Anda mulai sadar bahwa waktu adalah sumber daya yang tak bisa diperbarui
- Banyak engineer senior mengejar level promosi berikutnya, mengoptimalkan beberapa poin persentase tambahan dalam kompensasi, lalu mengalami burnout
- Sebagian memang mendapatkannya, tetapi kebanyakan kemudian bertanya-tanya apakah yang mereka korbankan memang sepadan
- Jawabannya bukan "jangan bekerja keras", melainkan "ketahui apa yang sedang Anda tukarkan, dan lakukan pertukaran itu secara sadar"
21. Tidak ada jalan pintas, tetapi ada bunga majemuk
- Keahlian datang dari latihan yang disengaja — mendorong diri sedikit melampaui kemampuan saat ini, berefleksi, dan mengulanginya — selama bertahun-tahun — tidak ada versi yang bisa dipadatkan
- Bagian yang memberi harapan: belajar bekerja seperti bunga majemuk ketika ia menciptakan pilihan baru, bukan sekadar menambah pengetahuan kecil yang baru
- Menulislah — bukan demi engagement, tetapi demi kejelasan — bangun komponen dasar yang bisa digunakan ulang, dan kumpulkan jaringan parut menjadi playbook
- Engineer yang memperlakukan karier seperti bunga majemuk cenderung melaju jauh lebih depan daripada engineer yang memperlakukannya seperti tiket lotre
Pemikiran penutup
- 21 pelajaran ini tampak banyak, tetapi pada akhirnya semuanya bermuara pada beberapa gagasan inti: tetap penasaran, tetap rendah hati, dan ingat bahwa pekerjaan selalu tentang manusia — pengguna yang kita layani dan rekan tim yang membangun bersama kita
- Karier engineering cukup panjang untuk membuat banyak kesalahan dan tetap bisa melangkah maju, dan engineer yang paling saya hormati bukanlah mereka yang selalu benar, melainkan mereka yang belajar dari kesalahan, membagikan apa yang mereka temukan, dan terus hadir
- Jika Anda masih di awal perjalanan, ketahuilah bahwa semua ini akan terasa lebih kaya seiring waktu; dan jika Anda sudah mendalam di bidang ini, semoga sebagian dari ini terasa relevan
Belum ada komentar.