- Di big tech, benar-benar menyelesaikan pekerjaan berarti merampungkannya sampai pada kondisi yang memuaskan perusahaan, lalu pergi, di dalam sistem yang bisa terus diperbaiki tanpa batas
- Engineer yang kompeten tetapi kurang punya inisiatif akan terus mengulang perbaikan-perbaikan kecil dan akhirnya melewatkan hasil nyata
- Agar diakui sebagai orang yang benar-benar bekerja, kita harus menyerahkan hasil yang jelas dan terlihat kepada para pengambil keputusan
- Kita harus selalu memeriksa apakah pekerjaan yang kita lakukan disajikan dalam bentuk yang bisa dibaca dan dievaluasi oleh manajer tingkat atas
- Tidak semua pekerjaan bisa dirapikan sampai tuntas; pada titik tertentu, kemampuan untuk "mendeklarasikan kemenangan lalu pergi" menjadi kompetensi inti
'Pekerjaan' memiliki sifat yang tidak bisa benar-benar dituntaskan
- Berbeda dari soal matematika atau tugas sekolah, pekerjaan di dunia nyata adalah sistem terbuka yang dapat diperbaiki tanpa batas
- Pengembangan layanan seperti menanam pohon; setelah itu pun tetap merupakan proses yang membutuhkan perawatan berkelanjutan
Engineer kompeten yang terjebak
- Engineer yang menangani semuanya sendiri dan hanya mengulang perbaikan kecil secara terus-menerus mungkin merasa dirinya sedang menghasilkan sesuatu
- Namun dari sudut pandang manajemen atas, hal itu bisa dinilai sebagai tidak adanya "penciptaan nilai yang terlihat bagi perusahaan"
- Akibatnya, ia bisa disalahpahami sebagai orang sibuk yang tidak menghasilkan capaian
Makna sebenarnya dari ‘menyelesaikan’
- Membawa pekerjaan sampai ke titik yang memuaskan perusahaan (pengambil keputusan), lalu beralih ke hal berikutnya
- Alih-alih terus melakukan refactoring atau mengulang perbaikan kecil, kita perlu membuat daftar hasil yang jelas
- Ketegasan untuk menyatakan "sudah selesai" lalu beralih ke pekerjaan berikutnya itu penting
Menjamin ‘keterbacaan’ pekerjaan
- Proyek yang sudah diketahui atau diminta oleh manajer, atau respons terhadap insiden besar, memiliki keterbacaan yang tinggi
- Pada dasarnya, sebagian besar pekerjaan teknis bagi manajer hanyalah noise teknis yang sulit dinilai
- Karena itu, kita harus menyesuaikannya agar terbaca, misalnya dengan membuat hasil terlihat secara kasatmata atau menekankan dampak finansialnya
‘Menyelesaikan’ sebagai konsep sosial
- Secara filosofis, konsep 'selesai' juga merupakan konstruksi sosial, tetapi dalam kenyataan ia memiliki daya yang sangat nyata
- Jika ini diabaikan, kita bisa tidak mendapat penilaian yang layak, dan pada akhirnya bahkan bisa dipecat
Ringkasan
- Bekerja bukan berarti sudah menyelesaikannya
- Sebagian besar pekerjaan tidak benar-benar bisa selesai dan dapat terus berlanjut
- Kita harus menjadi taktisi yang berorientasi pada hasil, bukan tukang kebun
- Standar untuk mengatakan "selesai" adalah kepuasan perusahaan/manajer
- "Deklarasikan kemenangan → pergi → lanjut ke pekerjaan berikutnya" adalah strategi kuncinya
7 komentar
Tampaknya kemampuan penting juga adalah memilih pekerjaan yang cukup layak untuk dinyatakan selesai (
Done).Membatasi ruang lingkup disebut scoping. Kemampuan untuk melakukan scoping dengan baik agar bisa menang itulah yang menjadi keahlian.
Hanshin vs. Soha
Hasil yang terlihat dan terukur, bukan sekadar detail
Opini Hacker News
Saya tidak sepenuhnya menolak argumen tulisan ini, tetapi berdasarkan pengalaman bekerja di big tech, berbagai startup, dan perusahaan unicorn, rasanya ini bukan nasihat yang terlalu praktis. Selama 10 tahun terakhir, pekerjaan developer menjadi terlalu terspesialisasi sehingga terlepas dari kebutuhan pengambil keputusan dan pelanggan. Fenomena ini muncul karena Product Manager berada di tengah antara engineer dan bagian lain perusahaan. Saya selalu ingin menghasilkan dampak yang bernilai, tetapi untuk benar-benar melakukannya saya harus menanggung stres terus-menerus. Kontribusi saya pasti disesuaikan setelah melewati ego orang yang berbicara dengan para pengambil keputusan. Satu-satunya saat saya benar-benar merasa berprestasi dalam 5 tahun terakhir adalah ketika saya mengambil peran sementara sebagai Product Manager selama 9 bulan. Pada masa itu, tim kami berhasil menyelesaikan tiga proyek yang sebelumnya sudah beberapa kali gagal dikerjakan tim lain. Rahasianya adalah berbicara langsung dengan para pemangku kepentingan untuk memahami kebutuhan mereka, bukan memaksakan cara saya sendiri. Jadi ke depan saya mungkin akan terus hanya memberikan apa yang diminta, disalahkan untuk bug, dan tidak mendapat pengakuan atas fitur. Setidaknya kompensasinya lumayan. Saya masih terus mencari tempat di mana saya bisa benar-benar berkontribusi
Saya punya keberatan mendasar terhadap menjadikan memuaskan orang yang berkuasa sebagai satu-satunya ukuran keberhasilan. Memang kita terikat dalam struktur status yang absurd, tetapi menurut saya mengganti tiket di Jira menjadi “done” atau menghilangkan warning compiler bukanlah segalanya. Tidak ada orang yang berkata, “Saya tidak menyesal karena selama 40 tahun saya selalu memuaskan atasan saya”
Secara umum saya setuju, tetapi saya ingin menambahkan satu hal: untuk memahami apa yang diinginkan manajer, Anda perlu memahami struktur bisnis perusahaan. Anda harus mencari tahu sendiri bagaimana perusahaan menghasilkan uang dan apa yang dianggap bernilai. Saat bekerja di tempat yang sejalan dengan nilai perusahaan, kompensasi lebih tinggi dan kepuasan juga lebih besar. Penting untuk bertemu langsung dengan pelanggan, sales, marketing, dan kalau bisa juga para eksekutif. Bahkan jika Anda hanya menangani sistem internal, yang penting adalah memahami nilai atau perlindungan apa yang diberikan sistem itu. Jika departemen tempat Anda berada tidak menciptakan nilai yang jelas, Anda perlu mempertimbangkan pindah ke tim yang bernilai. Bekerja tidak selaras dengan kebutuhan perusahaan selalu menjadi kesalahan besar
Penulis mengatakan bahwa “perlu menghasilkan hasil yang terlihat oleh para pengambil keputusan,” dan saya bisa memahami mindset “bisnis” orang ini. Banyak developer kesulitan karena tidak tahu bagaimana menjelaskan manfaat bisnis dari pekerjaan mereka sendiri. Refactoring juga termasuk di sini. Perbaikan kode mungkin tampak tidak berarti sama sekali dalam jangka pendek, tetapi tergantung situasinya, itu bisa menghasilkan manfaat besar bagi organisasi. Intinya, Anda harus memikirkan bagaimana menghubungkan pekerjaan Anda dengan pendapatan atau penghematan organisasi, dan juga bagaimana mengomunikasikannya
Saya jadi bertanya, “Apakah mindset di atas ini alasan banyak engineer tidak peduli pada kualitas kode, testing, dokumentasi, dan sebagainya?” Kalau yang diperhatikan hanya kepuasan langsung para petinggi, siapa yang mau bersusah payah menulis kode yang bisa dipelihara dalam jangka panjang? Kita mungkin tidak butuh kualitas di atas spesifikasi, tetapi bahkan investasi minimum pun bisa menghemat miliaran
Saya sudah sering mengalami realitas dan masalah ini, dan meski saya memahaminya, saya tetap keberatan. Banyak proyek dimulai lalu tim dibubarkan dengan seruan “selesai, done!” Namun produknya masih punya isu, masih perlu fitur tambahan, dan perusahaan terus berubah. Pada akhirnya yang menumpuk hanyalah technical debt karena pengelolaan yang buruk. Manajer baru datang, membuat ulang proyek lama, dan mengulangi kesalahan yang sama. Cara ini tidak efisien. Jika dijelaskan dengan analogi AC, menjaga suhu tetap stabil lebih efisien daripada terus mematikannya lalu menurunkannya lagi. Faktanya, tools manajemen yang saya buat tidak menarik perhatian manajemen, tetapi dibutuhkan oleh lebih dari 500 pengguna internal. Tanpa investasi waktu besar untuk maintenance, yang penting adalah terus menjaga kepercayaannya. Jika dibiarkan, ia akan terpecah dan keandalannya hilang. Hanya dengan beberapa menit saja, konsistensi bisa tetap terjaga
Saya punya perasaan campur aduk dalam banyak hal. Jelas bahwa untuk visibility dan promosi, tulisan ini benar, tetapi pada kenyataannya ini adalah nasihat yang berpusat pada manajer: cukup memuaskan atasan. Namun bagaimana jika tidak ada arahan yang jelas dan prioritas terus berubah? Menjadi sulit untuk menghasilkan hasil yang berarti, dan hubungan manajer-bawahan berubah total menjadi struktur “yes-man”. Hasil seperti ini tidak bagus
"unagentic engineer" berarti engineer yang tidak punya inisiatif. Jika engineer bekerja dengan cara seperti ini, hal itu bisa berujung pada inefisiensi dan masalah serius seperti biaya cloud berlebihan, insiden keamanan, keluhan pelanggan, dan sebagainya. Contoh pekerjaan yang tidak pernah benar-benar selesai adalah security patch, perbaikan kesalahan, optimisasi biaya, dan menangani feedback pelanggan. Jika perusahaan tidak memahami nilai ini, jawabannya adalah pindah kerja
Saya sangat membenci buzzword seperti "alignment". Meski begitu, pada dasarnya ini memang konsep yang penting. Idealnya, saya, manajer saya, dan eksekutif di atasnya harus sepakat soal pekerjaan mana yang paling penting. Kalau tidak begitu, dari sudut pandang anggota organisasi tempat saya berada, itu adalah masalah. Entah itu hal yang benar atau adil atau tidak, kita tetap harus hidup menyesuaikannya. Pada akhirnya, alasan kita dibayar adalah untuk melakukan apa yang diperintahkan dari atas. Hanya segelintir orang yang punya privilese untuk memengaruhi orang di atas mereka. Itulah yang disebut "managing up"
Tulisan aslinya berguna, tetapi rasanya ada beberapa hal yang lebih penting yang terlewat:
Pendapat-pendapat di sini justru lebih tepat mengenai inti persoalannya.
Iya juga wkwk