12 poin oleh GN⁺ 2 jam lalu | 4 komentar | Bagikan ke WhatsApp
  • Nilai seorang engineer junior (N00b) tidak ditentukan oleh jumlah tugas yang diselesaikan, melainkan oleh potensi untuk tumbuh menjadi engineer yang kelak juga meningkatkan produktivitas orang-orang di sekitarnya
  • Engineer senior mengelompokkan junior menjadi A yang mengubah organisasi / B yang menghasilkan kinerja stabil / C yang kemungkinan akan pergi dalam 1 tahun, dan junior harus mengirim sinyal bahwa dirinya termasuk kategori yang diinginkan
  • Untuk menjadi B, kode harus berjalan / progres harus dibagikan / tugas selesai dalam waktu yang masuk akal, misalnya dalam 3 kali estimasi / tidak menciptakan pekerjaan yang tidak perlu bagi reviewer dan penanggung jawab operasional
  • A bukan orang yang menyelesaikan banyak tugas, melainkan orang yang belajar lebih banyak dari setiap tugas, misalnya dengan menghapus pekerjaan yang tidak perlu / menemukan 10% yang berdampak besar / memperbaiki desain / mengirim perubahan kecil secara beruntun
  • Aktivitas yang menunjukkan kinerja luar biasa memang memakan lebih banyak waktu daripada sekadar menutup tugas, tetapi jangan tersesat tanpa batas ke cabang-cabang sampingan; investasikan waktu yang dihemat dengan cara yang bermanfaat bagi diri sendiri dan rekan kerja

Kami merekrut engineer masa depan, bukan produktivitas saat ini

  • Kriteria engineer senior dalam melihat junior secara garis besar terbagi menjadi tiga kategori
    • A menjadi agen perubahan yang juga sangat meningkatkan produktivitas orang-orang di sekitarnya
    • B menghasilkan kinerja stabil dan bertumbuh secara bertahap
    • C kemungkinan tidak lagi berada di organisasi setelah 1 tahun
  • Para senior harus menjalankan pekerjaan mereka sendiri sekaligus menilai setiap junior masuk kategori mana
    • Untuk A, mereka memberikan dukungan sebanyak mungkin
    • Untuk B, mereka memberikan dukungan secukupnya agar menjadi engineer yang matang
    • Untuk orang yang tidak akan bertahan di organisasi, mereka berusaha mengeluarkan upaya sesedikit mungkin
  • Tugas yang diberikan kepada junior bisa diselesaikan lebih cepat dan mudah jika dikerjakan langsung oleh manajer atau technical lead
  • Jika yang penting hanya produktivitas saat ini, tidak ada alasan untuk merekrut junior; perusahaan membayar gaji saat ini sebagai premi opsi untuk mendapatkan engineer yang akan menjadi dirinya kelak
  • Jika pembinaan berhasil, akan lahir generasi engineer berikutnya yang kuat; jika gagal, para senior masih harus terus mengerjakan pekerjaan engineering yang sama 10 tahun kemudian

Junior tidak bisa dinilai hanya dari jumlah tugas

  • Di antara junior yang menyelesaikan 40 tugas dalam satu kuartal dan junior yang menyelesaikan 20 tugas, siapa yang lebih baik tidak bisa dinilai hanya dari jumlah tugas
  • Bahkan jika tingkat kesulitan semua tugas sama, informasi yang dibutuhkan untuk membedakan A/B/C tetap kurang
  • Tujuan evaluasi bukan membandingkan output jangka pendek, melainkan memastikan junior sedang tumbuh menjadi engineer seperti apa

Sinyal dasar yang membedakan B dan C

  • Daripada menutup tugas dalam waktu sesingkat mungkin, kondisi berikut lebih penting
    • Kode yang ditulis benar-benar berjalan
    • Memberi tahu orang lain apa yang sedang dikerjakan
    • Menyelesaikan tugas dalam waktu yang masuk akal, misalnya dalam 3 kali estimasi awal
    • Tidak menciptakan pekerjaan tambahan yang secara tidak adil terlalu banyak bagi orang lain
  • Meminta bantuan sehingga memakan waktu orang lain masih dapat diterima, tetapi situasi berikut menjadi sinyal buruk
    • Membuat reviewer menghabiskan waktu yang tidak perlu terlalu banyak
    • Membuat petugas on-call harus merespons karena error
    • Membuat petugas DevOps turun tangan karena insiden yang disebabkan diri sendiri
  • Perilaku yang mencoba memanipulasi sistem evaluasi, seperti berbohong bahwa pekerjaan yang belum dilakukan sudah dilakukan, langsung menjadi sinyal C
  • Siapa pun bisa tanpa sengaja mengirim sinyal C, tetapi sinyal C yang sama tidak boleh diulang dua kali, dan secara keseluruhan sinyal yang termasuk B harus lebih banyak

Kecepatan belajar yang membedakan A dan B

  • Di antara junior yang minimal termasuk B, kriteria untuk membedakan A bukan jumlah tugas yang diselesaikan, melainkan seberapa banyak ia belajar dari setiap tugas
  • Produktivitas junior saat ini lebih rendah daripada senior adalah hal yang diharapkan; yang penting bukan produktivitas itu sendiri, melainkan kecepatan peningkatan produktivitas

Perilaku yang termasuk A

  • Perilaku berikut menjadi sinyal A yang melampaui sekadar menangani tugas, dengan memperluas pembelajaran dan produktivitas organisasi
    • Membuat alasan yang meyakinkan bahwa tugas tersebut sama sekali tidak perlu dilakukan
    • Menganalisis data dan menemukan 10% pekerjaan yang menghasilkan 90% manfaat keseluruhan
    • Mencoba mengimplementasikan tugas yang sama dengan beberapa cara
    • Menemukan desain yang lebih baik dan mengirim serangkaian diff yang tidak hanya mengimplementasikan tugas, tetapi juga menyederhanakan kode di sekitarnya
      • Jika sebelum implementasi membuat perubahan yang sulit menjadi mudah, lalu menjalankan perubahan yang sudah menjadi mudah itu, penilaiannya lebih baik
    • Mengirim beberapa diff kecil secara beruntun, alih-alih satu diff besar
      • Ada keuntungan tambahan jika mengunggah diff setiap hari
    • Menulis tool internal yang menyederhanakan tugas serupa
      • Jika tidak ada tugas serupa yang akan muncul lagi, ini justru menjadi faktor pengurang nilai
    • Mengirim diff yang juga berguna bagi tim lain atau area kode lain tanpa mengganggu penyelesaian tugas resmi
    • Mendokumentasikan hal yang dipelajari dengan menarik / bermanfaat / meyakinkan
    • Melakukan review secara penuh insight dan merespons feedback dengan cepat
    • Menyertakan unit test yang kokoh
  • Cara untuk menunjukkan kinerja luar biasa jauh lebih beragam daripada cara menghindari kesalahan

Waktu yang masuk akal lebih penting daripada waktu minimum

  • Aktivitas yang termasuk sinyal A memerlukan lebih banyak waktu daripada sekadar melakukan implementasi minimum yang dibutuhkan untuk menutup tugas
  • Ini bukan izin untuk menghabiskan waktu tanpa batas pada cabang sampingan yang menarik
  • Tugas resmi harus selalu diselesaikan dalam waktu yang masuk akal, tetapi tidak harus selalu selesai dalam waktu minimum absolut

Menginvestasikan kembali waktu yang dihemat kepada diri sendiri dan rekan kerja

  • Anda mungkin merasa tidak punya waktu untuk pembelajaran dan perbaikan tambahan, tetapi teknik seperti manajemen waktu / manajemen antrean tugas / manajemen antrean diff dapat mempercepat progres
  • Waktu yang dihemat dengan cara itu harus diinvestasikan untuk pertumbuhan diri sendiri dengan cara yang juga menguntungkan orang lain

4 komentar

 
loblue 2 jam lalu

Sepertinya yang perlu dibahas adalah bagaimana merekrut junior yang punya potensi menjadi A, dan pelatihan untuk mengembangkan junior yang punya potensi menjadi A.
Namun isi tulisannya sangat provokatif..

 
kimjoin2 1 jam lalu

A yang mengubah organisasi / B yang menghasilkan kinerja stabil / C yang kemungkinan akan pergi dalam 1 tahun
Saya bisa memahami pembagian antara A / B, tapi untuk C, sepertinya banyak juga yang termasuk A atau B sekaligus C...
Sepertinya perusahaan ini sangat tinggi kepuasan karyawannya, karena gaji langsung tercermin dengan baik sesuai kinerja dan dampaknya.

 
cartwheel8815 1 jam lalu

Perilaku yang mencoba memanipulasi sistem evaluasi, seperti berpura-pura telah melakukan pekerjaan yang sebenarnya tidak dilakukan, langsung menjadi sinyal C

Melihat bagian itu, sebenarnya kemungkinan pergi dalam satu tahun mungkin saja ungkapan halus untuk pemecatan...

 
kimjoin2 1 jam lalu

Oh begitu ya. haha Saya sama sekali tidak terpikir soal dipecat.