Salah satu idiot idiot kelebihan beban adalah manajer yang mengelola pemrogram. Tidak semua, tetapi mereka yang bukan programmer itu sendiri. Mereka yang berpikir bahwa adalah mungkin untuk "meningkatkan" efisiensi (atau meningkatkan "efisiensi"?) Dengan metode dari buku. Tanpa repot-repot membaca buku-buku ini - Lagipula, Vidosik adalah seorang gipsi.
Mereka yang tidak pernah menulis kode. Mereka yang membuat film-film Hollywood tentang programmer - yah, mereka yang menonton email di baris perintah. Mereka yang tidak tertarik pada apa pun kecuali indikator, ketentuan dan gaji mereka sendiri.
Mereka yang paling banyak.
Tapi mereka idiot karena alasan lain. Mereka menginginkan efisiensi, atau setidaknya produktivitas (ayolah, manajer, google, apa bedanya), tidak memahami satu atau yang lain. Umumnya tidak memahami esensi, proses mendapatkan hasil, kerugian yang terjadi dalam proses ini, biaya pengembangan. Singkatnya, bekerja dengan programmer seperti halnya dengan kotak hitam.
Mereka bertemu dengan manajemen programer karena satu alasan: di sini ada hype, uang, pasar, dan sekelompok idiot yang sama. Ada tempat untuk tersesat.
Jika ada hype di industri perakitan mekanik, kami akan berlari di sana. Station wagon buruk. Saya tidak akan terkejut bahwa pria yang menjual pohon Natal di kuartal kami pada bulan Desember adalah seorang manajer TI yang sedang berlibur.
Singkatnya, jika mungkin, kejar orang-orang ini di leher. Jangan khawatir, mereka akan menemukan pekerjaan. Tak satu pun dari mereka akan melakukan apa pun yang layak sampai ia menjadi seorang programmer. Karena dia tidak mengerti esensi, mekanisme, logika dari proses yang dia kontrol.
Yah, itu cukup tentang para manajer. Sekarang, untuk programmer. Cara meningkatkan efisiensi pengembangan dengan belajar menulis kode berkualitas tinggi.
Untuk meningkatkan efisiensi, perlu untuk segera menyelesaikan masalah tanpa kehilangan kualitas. Untuk menyelesaikan masalah lebih cepat, Anda harus dapat segera menulis kode berkualitas tinggi. Dan "kualitas", dan "menulis", dan "segera". Saya akan menjelaskan dengan metafora.
Menulis kode berkualitas seperti berbicara dengan kompeten dalam bahasa asing. Ketika Anda tidak tahu bahasa itu, Anda menghabiskan banyak waktu untuk merumuskan pemikiran Anda tentang itu.
Jika Anda perlu mengatakannya dengan mendesak, Anda hanya perlu beberapa kata, seringkali bukan yang Anda butuhkan, lupakan artikel, urutan kata yang tepat, belum lagi bentuk kata kerja dan pengucapan yang buruk.
Jika ada waktu untuk pengkalimatan jawabannya, Anda harus membuka kamus, atau penerjemah Internet, dan menghabiskan banyak waktu untuk pengkalimatan pikiran Anda. Perasaan itu, bagaimanapun, akan tetap tidak menyenangkan: Anda mengatakan jawabannya, dan Anda tidak tahu apakah itu benar atau tidak. Demikian pula dengan kode - tampaknya telah ditulis, tampaknya berfungsi, tetapi kualitas atau tidak - HZ.
Ternyata kehilangan waktu ganda. Butuh waktu untuk menghasilkan jawaban. Juga perlu waktu untuk merumuskan jawaban ini - apalagi, tidak sedikit.
Jika keterampilan menulis kode berkualitas tinggi ada, maka jawabannya dapat segera dirumuskan, segera setelah ia matang di kepala, tanpa menghabiskan waktu ekstra untuk penerjemahan.
Keahlian menulis kode kualitas membantu dengan desain arsitektur. Anda tidak akan mempertimbangkan opsi yang salah, tidak dapat direalisasi atau dari tangan ke tangan di kepala Anda.
Meringkas: keterampilan menulis kode berkualitas tinggi secara signifikan mempercepat solusi masalah.
Tapi itu belum semuanya. Berkat valenki-manajer, ada satu hambatan - jadi kami tidak punya alasan untuk menulis kode berkualitas tinggi. Manajer kode tidak terlihat, kode klien tidak terlihat. Kami jarang menunjukkan satu sama lain kode, hanya sesekali, dalam beberapa proyek di mana ada "inspektur kode" yang ditunjuk atau refactoring berkala.
Ternyata, dalam banyak kasus, govnokod masuk ke produksi atau ke klien. Orang yang menulis govnokod membentuk koneksi saraf yang stabil - govnokod tidak hanya mungkin untuk menulis, tetapi juga diperlukan - diterima, dan bahkan dibayar untuk itu.
Akibatnya, keterampilan menulis kode berkualitas tinggi tidak memiliki peluang sama sekali untuk berkembang. Kode yang ditulis oleh karyawan kondisional tidak pernah diperiksa oleh siapa pun. Satu-satunya alasan dia belajar memprogram secara normal adalah motivasi intrinsik.
Tetapi motivasi intrinsik ini bertentangan dengan rencana dan persyaratan untuk efisiensi dan produktivitas. Kontradiksi ini dipecahkan jelas tidak mendukung kode berkualitas tinggi, karena mereka bahkan tidak menyalahkan govnokod. Dan karena tidak memenuhi rencana - bagaimana lagi.
Bagaimana menjadi Saya melihat dan menawarkan dua cara yang bisa digabungkan.
Yang pertama adalah menunjukkan kode Anda kepada seseorang di dalam perusahaan. Tidak secara reaktif (ketika diminta / dipaksa), tetapi secara proaktif (eh, Bung, lihat kode saya, tolong). Hal utama di sini adalah untuk tidak menggantung ingus, jangan mencoba untuk menempatkan kode sopan pada kritik terhadap kode. Jika kodenya adalah omong kosong, kami katakan demikian: kodenya adalah kotoran. Dengan penjelasan, tentu saja, dan rekomendasi tentang cara menjadikannya lebih baik.
Tapi cara ini juga biasa saja. Penerapannya tergantung pada titik di mana kontak terjadi. Jika pekerjaan sudah masuk ke dalam produksi, dan ternyata kode itu omong kosong, tidak ada gunanya mengulanginya. Lebih tepatnya, kejadian - metrik juga akan melorot. Manajer akan menyerang dan menghancurkan persyaratan untuk efisiensi. Dan bahkan tidak mencoba menjelaskan kepada mereka bahwa govnokod pasti akan kembali dalam bentuk bug - itu akan keluar kepada Anda ke samping. Seseorang hanya dapat membuat komitmen untuk tidak melakukannya lagi.
Jika pekerjaan belum diserahkan, atau baru saja dimulai, maka menuangkan kotoran pada kode (atau proyeknya, ide) dengan kotoran dapat memiliki makna yang cukup praktis - seseorang akan melakukannya secara normal.
Cara kedua, yang paling keren, adalah melakukan pengembangan open source setelah jam. Lagipula, apa tujuannya: untuk sekelompok programmer, yaitu programmer, untuk melihat kode Anda dan membicarakannya. Tidak ada waktu untuk semua orang di dalam perusahaan. Tetapi programmer di seluruh dunia masih belum melakukan apa-apa, dan jika Anda menulis sesuatu yang berguna dari sudut pandang aplikasi, maka mereka pasti akan mencari ke dalam.
Fitur utama, menurut saya, adalah menulis kode setelah jam, karena kontradiksi antara kualitas kode dan kecepatan hasilnya tidak akan berfungsi. Setidaknya satu tahun tulis perkembangan Anda. Baik jadwal, TK, uang, bos tidak akan menekan Anda. Kebebasan dan kreativitas penuh.
Hanya dalam kreativitas gratis Anda akan mengerti dan merasakan apa itu kode keren, melihat keindahan YaP dan teknologi, dan merasakan pesona tugas bisnis. Nah, Anda akan belajar cara menulis kode berkualitas tinggi.
Benar, ini akan mengharuskan Anda untuk menghabiskan waktu pribadi. Seperti, pada kenyataannya, perkembangan lainnya. Anggap ini bukan sebagai biaya, tetapi sebagai investasi dalam diri Anda.