36 poin oleh frogred8 2022-08-01 | 1 komentar | Bagikan ke WhatsApp

Good Developer Experience

  • TL;DR
    Jangan lupa membuat pengembang bahagia, dan menjaga kebahagiaan itu tetap bertahan.

# Apa itu pengalaman pengembang yang baik (Developer Experience, DX)

Pengalaman pengembang adalah pengalaman yang dirasakan pengembang saat menggunakan atau mengembangkan produk.
Namun, di banyak perusahaan, hal ini sering kalah prioritas dibanding UX (User Experience). Pengembang juga adalah pengguna, dan mereka menggunakan produk.
Kepuasan dan kebahagiaan mereka sangat penting bagi keberhasilan proyek. Pengembang yang bahagia membangun perangkat lunak yang luar biasa dan mengurangi kemungkinan mereka meninggalkan tim.
Kami mendefinisikan pengalaman pengembang yang baik melalui 4 elemen berikut.

  1. Arsitektur yang tepat
    Jika arsitektur terlalu sederhana, Anda akan menderita nanti; jika terlalu rumit, Anda akan menderita sekarang.
    Arsitektur harus dipilih dengan mempertimbangkan proyek dan ukuran tim. Arsitektur yang baik sulit rusak, memiliki siklus umpan balik yang pendek, dan tangguh.

  2. Alat yang baik
    Otomatisasi direkomendasikan untuk bagian yang memungkinkan. Pekerjaan yang berulang itu melelahkan.

  3. Proses yang melengkapi tahap setelah pengembangan
    Proses ini harus berfungsi sebagai daftar periksa otomatis dan menyediakan langkah-langkah yang konsisten. Proses yang terdefinisi membantu pelatihan tim.
    Jika perusahaan Anda cukup besar, gunakan proses seperti QA, deployment, umpan balik, onboarding, dan sebagainya.

  4. Budaya tim yang tidak merusak
    Tentukan tujuan perusahaan. Menghasilkan uang tidak boleh menjadi satu-satunya sasaran.
    Budaya adalah brainware terpenting (perangkat lunak yang berjalan di kepala) yang bisa Anda pasang di perusahaan dan tim.
    Semua keputusan yang diambil pengembang disaring melalui brainware yang terpasang itu.
    Jika mereka tidak setuju dengan brainware tersebut, mereka akan mengabaikannya.

# Mengapa pengalaman pengembang yang baik diperlukan

## Tim dengan pengalaman pengembang yang baik memiliki produktivitas tinggi dan menunjukkan karakteristik berikut:

  1. Rasa akan dampak
    Mereka memahami bahwa ini bukan semata-mata soal menghasilkan uang. Mereka tahu bahwa pekerjaan mereka penting dan memperbaiki kehidupan orang lain.

  2. Rasa kepemilikan dan tanggung jawab
    Mereka bertanggung jawab atas keberhasilan. Setiap anggota tim harus merasa bertanggung jawab atas keberhasilan perusahaan.

  3. Tujuan bersama
    Tim, departemen, dan seluruh perusahaan memiliki tujuan yang sama.

  4. Kebaikan hati dan kejujuran
    Kami menyebut ini budaya 'hey bro'. Kami sangat menjunjung rasa hormat dan menekankan ketulusan.

  5. Toleransi terhadap kegagalan
    Pengembang harus berani dan mau mengambil risiko. Namun, risiko harus selalu diperhitungkan, dan pengembang harus memahami seberapa banyak masalah yang bisa ditimbulkan oleh setiap pekerjaan.

## Karakteristik budaya dengan pengalaman pengembang yang buruk:

  1. Saling menyalahkan
    Anggota tim saling menyalahkan atas pekerjaan yang salah. Ini sangat merusak, tetapi sering terjadi.

  2. Hukuman besar atas kegagalan
    Misalnya, atasan yang mengatakan bahwa Anda bisa dipecat jika tidak memenuhi tenggat waktu..

  3. Crunch time yang tak pernah berhenti dan tim yang terus-menerus kelebihan beban

  4. Permusuhan dan ketidakpastian
    Persaingan tidak sehat antartim. (Misalnya, orang ini dipromosikan karena lebih baik daripada saya)

  5. Tanggung jawab yang terdilusi
    Di perusahaan besar, bisa terasa seperti tidak ada seorang pun yang bertanggung jawab. Dibutuhkan keberanian untuk berkata, 'Maaf, aku yang merusaknya.' Penting untuk bisa bertanggung jawab.

# Masalah yang bisa diselesaikan oleh pengalaman pengembang yang baik

  • Akumulasi pengetahuan
  • Product-market fit yang salah
  • Tim yang tidak termotivasi
  • Pola pikir 'ini bukan masalahku'
  • Produk yang gagal
  • Klien yang tidak bahagia
  • Terputusnya hubungan antara bisnis dan TI
  • Budaya tim yang merusak
  • Kualitas kode yang buruk
  • Biaya yang meningkat
  • Pekerjaan yang tidak bermakna

# Cara menerapkan pengalaman pengembang yang baik

Ada 'Scope Triangle' yang dibuat oleh Dr. Martin Barnes pada pertengahan 1980-an. Ini menunjukkan hubungan antara tiga kekuatan dasar.

waktu, uang, kualitas

Segitiga ini berarti bahwa untuk meningkatkan kualitas, Anda harus menyesuaikan uang atau waktu. Namun, kami berpikir bahwa bukan begitu cara kerjanya di dunia nyata. Kita perlu menambahkan biaya emosional ke dalam segitiga itu.

Jika pengembang harus lembur hingga larut untuk menyelesaikan pekerjaannya, yang mereka investasikan bukan hanya waktu. Bagian lain dari investasi itu adalah biaya emosional. Memiliki pengalaman pengembang yang luar biasa membantu mengendalikan biaya emosional ini. Jika Anda ingin membuat pengembang bahagia, jaga agar biaya emosional tetap rendah.

# Jebakan umum dalam pengalaman pengembang yang baik

  1. Memberikan terlalu banyak informasi kepada pengembang pada tahap yang terlalu awal.
  2. Memberikan terlalu sedikit informasi kepada pengembang ketika mereka membutuhkan lebih banyak informasi.
  3. Penggunaan proses yang berlebihan dapat memunculkan pola pikir bahwa 'semuanya cocok'.
  4. Kecenderungan over-engineering
  5. Agile = alasan untuk membuat pengembang bekerja lebih banyak

1 komentar

 
youngiggy 2022-09-19

Terima kasih atas terjemahannya!