Pembukaan
Artikel ini adalah analisis dari artikel lain: Jika Anda tidak menyewa joon, maka Anda tidak layak untuk senior
Perlu disebutkan segera bahwa saya tidak tahu apa yang ada di sana dan bagaimana di Netflix. Itu hanya menjadi memalukan bagi akal sehat dan logika, di mana penulis begitu mengejek mengejek seluruh artikel.
Jika memungkinkan, saya meninggalkan desain aslinya, dan mencatat komentar saya secara terpisah.
Yah, dia juga meninggalkan judul kuning, sedikit memodifikasinya.
Ayo pergi .
Izinkan saya menceritakan sebuah kisah tentang satu perusahaan yang sangat sukses yang membuat kesalahan besar, bodoh:
Kami tidak mempekerjakan programmer dan magang yunior ... Jika Anda tidak memiliki anak anjing, Anda tidak perlu membersihkan genangan air.
--Netflix
Komentar Judulnya berwarna kuning dan kata pengantar mengatakan bahwa esensi kesalahan dan penurunan cepat perusahaan ini akan semakin terungkap. Tidak juga.
Saya benar-benar kagum bagaimana beberapa perusahaan berhasil menyajikan anak-anak anjing dalam cahaya negatif, dan bahkan seseorang meyakinkannya. Anak anjing adalah makhluk terbersih di Bumi, hidup dengan sukacita yang lembut! Sinar cahaya di dunia yang sepi. Tapi mari kita langsung ke intinya.
Komentar Anak anjing tidak bisa menjaga diri mereka tetap bersih dan makan sendiri.
Banyak perusahaan telah mengikuti strategi "rekrut saja senior" ini. Mereka membenarkannya seperti ini:
- Kami tidak punya waktu dan sumber daya untuk menyewa programmer junior; kami berkembang terlalu cepat.
- Perusahaan kami mampu membayar manula, jadi tidak perlu untuk joon.
- Pada tahap saat ini, kita tidak mampu membayar kesalahan. Taruhannya terlalu tinggi.
- Proses kami memberikan otonomi yang lebih besar kepada karyawan. Kami tidak siap untuk memegang jones dengan pegangan, karena mereka membutuhkannya.
- Kami ingin meletakkan dasar untuk produk sebelum kami mulai merekrut karyawan yang tidak berpengalaman.
Pesannya adalah bahwa programer junior menimbulkan risiko, langkah yang diambil perusahaan baik karena rasa hutang publik atau karena kurangnya anggaran.
Komentar Itu selalu menarik jari mana yang mengisap apa yang tidak ada dalam frasa asli. Di mana itu tentang utang dan tentang anggaran? Kita berbicara tentang gangguan pengembang senior: alih-alih membuat produk, mereka akan melatih (meninjau, menjelaskan, membimbing, memperbaiki, dll.) Pengembang junior. Yaitu bodohnya menghemat waktu untuk pengembang senior.
Ternyata perusahaan lain harus mampu membayar amal perusahaan dan hasil kelas dua, tetapi tentu saja bukan kita.
Komentar Bukan fakta bahwa orang lain juga mampu. Mereka hanya berpikir mereka bisa. Lagipula, belum ada yang melakukan eksperimen, setidaknya saya belum pernah mendengarnya.
Ngomong-ngomong, di AS ada lebih dari 100.000 perusahaan IT, dan saya tidak mendengar sesuatu untuk setidaknya satu CEO mengatakan, "pikirkan, kesalahan!" atau "perlu untuk menurunkan anggaran tambahan di suatu tempat." Jadi perhatian, organisasi, di mana "entri dilarang hingga Juni"! Tidak peduli bagaimana Anda melihat manfaat Anda, tidak peduli bagaimana Anda membenarkan peretasan hidup Anda, kenyataannya adalah bahwa Anda menciptakan semua ini untuk diri Anda sendiri. Tidak ada keunggulan kompetitif dalam menyingkirkan Juni. Dan Anda baru saja menunjukkan kepada dunia manajemen masalah Anda.
Komentar Sejauh ini, tidak ada bukti bahwa 100.000 perusahaan IT ini mewakili lingkungan pengembangan yang efisien, lebih efisien daripada Netflix. Semua ini menyulap spekulasi dan emosi.
Permusuhan terhadap pengembang junior adalah cara mudah untuk menemukan budaya perusahaan yang beracun.
- April Wensel (@aprilwensel) 1 Agustus 2017
Permusuhan terhadap programmer yang lebih muda adalah tanda yang jelas dari budaya perusahaan yang beracun.
Komentar Di mana permusuhan itu? Tidak ada yang mengatakan junior adalah musuh. Mereka tidak dipekerjakan. Dan masih tidak mempekerjakan, misalnya, tukang kunci dan artis. Tunjukkan permusuhan juga? Ini disebut "substitusi konsep."
Cara Anda merekrut dan menangani programmer junior adalah indikator tidak langsung penting bagi kesehatan organisasi Anda, lini produk Anda, dan budaya internal Anda. Lansia memperhatikan hal ini. Dan jika ini saja tidak terdengar cukup meyakinkan, maka mempekerjakan sejumlah programmer junior yang seimbang juga memberikan keuntungan finansial.
Komentar Mari kita terapkan logika ini pada pustakawan yang tidak direkrut, dan pahami absurditas penalaran logis.
Pencegahan masalah
Jika Anda menolak programmer junior karena mereka βmembuat masalahβ, maka Anda juga secara otomatis mengirim pesan penting kepada karyawan Anda tentang budaya perusahaan: kesalahan tidak diperbolehkan. Anda membuat gambar perusahaan yang memecat seseorang kapan pun server mati. Tidak peduli berapa banyak Anda membayar, tidak ada yang mau bekerja di lingkungan yang tidak memberi kepercayaan di masa depan. Dan upaya untuk mengintimidasi programmer sehingga mereka tidak membuat kesalahan, melipatgandakan budaya ketakutan dan ancaman, yang secara serempak memengaruhi kesehatan psikologis dan produktivitas.
Komentar Kebodohan logis lainnya. Setiap orang salah. Hanya seorang idiot yang bisa mengatakan yang sebaliknya. Satu-satunya pertanyaan adalah siapa yang membuat mereka lebih dan siapa yang bisa memperbaikinya sesegera mungkin. Dan kemudian juga mencegah mereka di masa depan. Oleh karena itu, pertanyaan tentang "pesan" meninggalkan nurani penemu. Dari kenyataan bahwa seseorang tidak dipekerjakan, itu tidak mengikuti sama sekali, karena orang-orang yang dipecat. Nah, perikop tentang intimidasi, kesehatan psikologis dan banyak lagi hanya membingungkan.
Anda mungkin berpendapat bahwa sikap ini mendorong programmer untuk berhati-hati dan membuat proses pemeriksaan kesalahan: misalnya, pengujian otomatis, QA, failover, perlindungan akses, dan perubahan kode yang dapat dibalik. Tetapi teori ini menempatkan kereta di depan kuda. Jika kebijakan perusahaan mendorong penciptaan asuransi semacam itu dan perusahaan itu sendiri menyediakan waktu dan sumber daya yang cukup bagi programmer untuk hal ini, maka budaya kesalahan yang tidak dapat diterima tidak perlu dan tidak berguna; sebagian besar masalah akan terperangkap jauh sebelum produksi. Dan setiap programmer, baik junior atau senior, lebih suka lingkungan di mana proses yang dapat diandalkan melindungi terhadap kesalahan bencana.
Komentar Berdasarkan tempat yang salah, Anda bisa mendapatkan konsekuensi mengerikan yang sewenang-wenang.
Dan bagaimana dengan kesalahan yang menerobos semua lindung nilai yang ada? Anggap saja sebagai peluang berharga untuk memperkuat pertahanan Anda. Programmer yang lebih muda, harus diakui, biasanya membuka peluang seperti itu lebih cepat daripada senior. Jadi pertanyaannya adalah: apakah Anda lebih suka men-debug proses Anda cepat atau lambat? "Tidak pernah" itu baik, seperti yang akan dikonfirmasi oleh programmer mana pun. Jika ada yang salah, cepat atau lambat akan hilang. Tidak ada stok pengalaman yang akan mencegah kesalahan manusia.
Komentar Ya, mari kita bawa monyet ke reaktor nuklir dan lihat seberapa andal sistem keamanannya. Nah, untuk segera membuka pertahanan. Saya sudah mulai khawatir tentang kemampuan mental penulis.
Tentu saja, Anda akan memerlukan beberapa programmer senior dan ops lead untuk meletakkan dasar dan menciptakan preseden untuk siklus pengembangan failover. Tidak ada yang menawarkan untuk mempekerjakan hanya programmer junior. Tetapi jika kantor Anda benar-benar serius tentang kesalahan - dengan kata lain, kesalahan diketahui lebih awal dan sering - maka programmer yang lebih muda akan berguna. Dan semua tingkatan programmer akan lebih puas dengan pekerjaan mereka, karena toleransi kesalahan membebaskan mereka untuk membuat perangkat lunak yang baik (bukannya terus-menerus memadamkan kebakaran) dan melindungi malam dan akhir pekan mereka.
Komentar Ini bukan tentang takut kesalahan, ini tentang efisiensi dan produktivitas. Penulis mengulangi konstruksi salah ini dari waktu ke waktu, membuktikan bahwa semuanya buruk. Semuanya buruk, ya, tetapi hanya dengan tempat asli.
Menyimpan uang
Menurut Memang, Insinyur Perangkat Lunak Junior rata-rata mendapat $ 55.394 per tahun, sedangkan Insinyur Perangkat Lunak Senior mendapat $ 117.374 per tahun. Usia lanjut lebih dari dua kali lebih mahal dari bulan Juni.
Biaya-biaya ini seringkali dibenarkan. Produktivitas yang lebih tinggi diharapkan dari pemrogram yang lebih tua daripada yang lebih muda.
Komentar Diketahui bahwa perbedaan produktivitas antara pemrogram yang berbeda dapat mencapai hingga 25 kali lipat. Karena itu, 2 kali saja.
Tapi ini bukan akhir dari gambar, dan Anda akan mendapatkan satu sen untuk pembenaran biaya tambahan yang malas dan malas sebagai biaya melakukan bisnis.
Komentar Bahkan jika Anda menyewa petugas kebersihan untuk pemrograman, termasuk pengembang junior, ini selalu benar, terlepas dari itu.
Tidak semua kode aplikasi membutuhkan pengalaman bertahun-tahun untuk menulis atau bahkan untuk pekerjaan yang dilakukan dengan baik. Setiap program memiliki "lem perangkat lunak" yang menghubungkan berbagai input dan output dengan cara yang benar-benar biasa. Faktanya, tidak masalah siapa yang menulisnya. Anda dapat membayar $ 28 per jam untuk menulis kode ini - atau Anda dapat membayar $ 59 per jam untuk menulis kode yang sama. Dengan satu atau lain cara, hasilnya tidak akan banyak berbeda. Jika Anda hanya mempekerjakan senior, maka Anda membayar terlalu tinggi untuk sejumlah besar pekerjaan sederhana.
Komentar Jika sejumlah besar pekerjaan di perusahaan cukup sepele, maka ya. Tetapi tidak mungkin perusahaan tersebut dapat dianggap berteknologi tinggi. Kompleksitas infrastruktur menetapkan penghalang awal yang serius yang mungkin tidak dapat diatasi oleh pengembang junior (atau mengatasi).
Selain itu, basis kode sangat bervariasi antara aplikasi, dan keakraban dengannya merupakan faktor kunci dalam produktivitas. Dalam kebanyakan kasus, seorang programmer junior yang telah bekerja dalam tim selama enam bulan akan lebih efisien dalam mengatasi tugas-tugas daripada seorang programmer senior yang baru direkrut - hanya karena tingkat keakraban dengan logika proyek.
Komentar Tergantung pada kompleksitas proyek. Kebetulan lebih mudah memecat dan menyewa spesialis yang baik daripada menunggu "junior" mulai menumpulkan proyek.
Lem perangkat lunak yang disebutkan sebelumnya dan kode khusus domain terdiri setidaknya setengah dari seluruh pengembangan. Sisanya adalah kode yang benar-benar membutuhkan perhatian spesialis senior dengan manfaat untuk hasilnya. Tetapi bahkan dengan kode ini, seorang programmer junior dapat melakukan pekerjaan luar biasa dengan akses yang cukup ke sumber daya pendidikan dan saran dari seorang mentor yang berpengalaman.
Komentar Kebetulan jamur tumbuh di bulan. Argumen dalam gaya "mungkin begitu", tentu saja, itu bisa terjadi, tapi saya tidak melihat alasan untuk ini.
Dalam pandangan ini, sepasang programmer junior dan senior biasanya bekerja dengan efektifitas dari dua programmer senior dan kurang dari 75% dari biaya. Jika sasaran Anda adalah produktivitas maksimum dengan biaya minimum, maka pasangan Juni + Senior tersebut harus menjadi molekul fundamental organisasi Anda.
Komentar Atau mungkin juga tidak.
Perlu dicatat satu lagi, faktor tak terukur: kecenderungan programmer senior untuk debat konstan pada topik yang pada akhirnya tidak signifikan - tentang algoritma, optimasi mikro, dan gaya kode. Jika perusahaan hanya merekrut senior dan tidak memiliki proses pengambilan keputusan yang ketat, maka ratusan jam kerja dapat menuju ke perselisihan tersebut. Pengembang junior biasanya kehilangan masalah seperti itu.
Komentar Pemrogram senior tidak akan menghancurkan air dalam mortar, tetapi akan melakukan pekerjaannya. Itu sebabnya mereka lebih tua. Kalau tidak, saya punya berita buruk untuk Anda: programmer senior Anda berpura-pura senior, Anda sebaiknya mempekerjakan lebih banyak "junior" untuk membayar lebih sedikit gaji, karena tidak akan ada perbedaan di antara mereka.
Pengembangan karir
Jika Anda tidak menyewa programmer junior, maka kirim pesan lain ke staf - bahwa Anda tidak tahu bagaimana pengembangan karir bekerja.
Kadang-kadang ketika perusahaan mengatakan mereka tidak mempekerjakan pengembang junior saya ingin mengguncang mereka dengan hoodies dan berteriak, dari mana Anda pikir pengembang senior berasal?!
- Kate Heddleston (@ heddle317) 13 September 2018
Kadang-kadang, ketika perusahaan mengatakan mereka tidak mempekerjakan programmer junior, saya ingin meraihnya dan berteriak: dari mana Anda pikir programmer senior berasal?!
Komentar Jika perusahaan tidak memiliki pengembang junior, lalu bagaimana mereka bisa mengirim sinyal? Dalam hal ini, Anda hanya dapat mengirim sinyal di luar. Penulis memiliki banyak masalah dengan menerima dan menafsirkan sinyal. Untuk beberapa alasan, saya mendapatkan sinyal seperti ini: "spesialis keren akan bekerja di sebelah Anda, Anda akan dapat belajar banyak, dan Anda tidak perlu menjelaskan yang sudah jelas."
Sekali lagi, ini bukan tentang memenuhi utang sipil perusahaan dan bukan tentang "berpartisipasi dalam pengembangan" komunitas TI. Ini tentang mengubah perusahaan Anda menjadi tempat kerja yang layak di mana pemrogram ingin menetap dan tinggal cukup lama untuk memberikan kontribusi nyata.
Komentar Tanpa bazar. Hanya untuk!
Saya kebetulan mendengar dari pemrogram: βBosan berganti jabatan. Saya hanya ingin selamanya menjadi programmer senior. β Namun, belum ada yang mengatakan kepada saya: "Saya harap saya tidak akan pernah menerima kenaikan gaji, saya tidak akan belajar sesuatu yang baru dan tidak akan diakui untuk layanan saya." Dan, anehnya, sumber daya yang dibutuhkan untuk mendukung para karieris yang ambisius dan tekun, tetapi programmer senior yang antusias hampir sama. Kita membutuhkan cara untuk mengubah dan mengenali pekerjaan yang dilakukan dengan baik, sumber daya pendidikan yang cukup dan berbagai proyek dari berbagai usia dalam pipa pembangunan. Anda perlu menciptakan rasa pengembangan, bahkan bagi mereka yang tidak tertarik dengan promosi.
Komentar Seorang programmer senior adalah awal dari perjalanan panjang. Dan di antara mereka juga ada gradasi. Dalam setiap proyek yang kompleks, seorang programmer senior akan berkembang. Dalam perkembangan modern, praktis tidak ada langit-langit dalam pembangunan.
Tapi jangan mengunci orang-orang ini. Minoritas mereka. Sebagian besar pekerja TI tidak akan menjadi programmer senior selama 40 tahun. Mereka bermimpi menjadi arsitek perangkat lunak, pemimpin tim, direktur teknis dan pendiri studio. Dan sebuah perusahaan yang membanggakan ketidakpeduliannya terhadap pertumbuhan karier akan mendapati dirinya berada di bagian bawah daftar pengusaha yang menjanjikan.
Komentar "Menemukan dirinya di bagian bawah daftar" - apakah ini tentang Netflix? Netflix menempati urutan teratas dalam daftar "50 Tempat Terbaik untuk Bekerja bagi Ayah Baru," dengan beberapa perusahaan teknologi Lembah Silikon lainnya yang masuk dalam jajaran dan menawarkan persaingan ketat untuk merayu ayah yang bekerja .
Saya hanya merekrut senior devs.
Kuncinya adalah, saya merekrut beberapa dari mereka sebelumnya dalam karir mereka.
- Reginald Braithwaite (@raganwald) 17 September 2018
Saya hanya mempekerjakan programmer senior.
Kuncinya adalah saya mempekerjakan beberapa dari mereka di awal karir saya.
Komentar Ini adalah trik yang paling luar biasa. Dan aku hanya untuk itu. Orang-orang ini benar-benar memutuskan dan dapat melakukan banyak hal untuk perusahaan. Namun, ada masalah kecil: bagaimana menemukannya? Kira-kira bisa dimengerti bagaimana melihat "senior" dalam programmer: jumlah pengetahuan yang dia miliki. Dalam seorang programmer pemula yang menjanjikan, Anda perlu melihat ke bola kristal dan melihat masa depan. Saya belum melihat skala pendekatan seperti itu dengan baik dan bekerja di dalam sebuah perusahaan besar. Ini selalu risiko dan Anda dapat dengan mudah masuk ke dalam susu.
Salah satu ungkapan paling mengesankan yang dapat didengar oleh seorang programmer pada saat wawancara adalah "Halo, saya seorang pemimpin tim, saya bekerja di sini selama delapan tahun, dimulai dengan magang." Sangat mengesankan dan sangat jarang. Orang seperti itu sangat penting bagi perusahaan - dia tahu segalanya tentang lini produk, dia melihat kode untuk semua proyek dalam radius seratus meter, dan dia bekerja dengan semua karyawan perusahaan. Dia mampu menawarkan inovasi dalam perusahaan tidak seperti yang lain. Dan perusahaan mendapatkan dividen yang tidak terhitung dari pekerjaan orang ini, karena ia dapat memahami bagaimana mempertahankan minatnya selama delapan tahun - sekitar 1/10 dari rata-rata harapan hidup. Ini adalah bukti keberhasilan budaya perusahaan. Ini adalah tanda kantor di mana semangat juang berkuasa, di mana pengakuan menemukan pekerjaan yang dilakukan dengan baik, dan proyek-proyek menarik menunggu di setiap sudut.
Komentar Salah satu ungkapan yang paling mengesankan adalah "kami membayar gaji yang luar biasa, Anda membangun proyek sendiri dari awal, mengundang orang yang tepat dan menggunakan alat apa pun yang Anda inginkan." Wow, itu keren. Tapi ini dari ranah fiksi. Seperti apa yang penulis tulis.
Mengklaim "kami tidak merekrut Juni" adalah, sebaliknya, pengakuan terbuka bahwa perusahaan tidak siap untuk memainkan peran dalam karier siapa pun. Ini sebenarnya merupakan demonstrasi stagnasi: perusahaan ingin menarik programmer yang berpengalaman dan berbakat yang akan memberikan kontribusi mereka hanya demi satu gaji. Beberapa akan menyetujui kondisi seperti itu, tetapi Anda tidak akan melihat karya terbaik mereka.
Komentar Klaim "Klaim" kami tidak mempekerjakan orang "adalah, sebaliknya, pengakuan terbuka bahwa perusahaan tidak siap untuk memainkan peran dalam karier siapa pun." - Ini adalah pengakuan terbuka bahwa penulis memiliki masalah dengan rantai dan hubungan logis.
Namun, jika perusahaan Anda benar-benar serius tentang pertumbuhan karier, maka pembatasan buatan pada programer junior hanya mempersempit batas waktu perekrutan dan mempersingkat waktu karyawan di perusahaan Anda.
Komentar Saya bertanya-tanya mengapa google dan facebook memiliki bar yang tinggi? Mereka mungkin "mempersempit pipa (?) Dari mempekerjakan dan mempersingkat waktu karyawan di perusahaan."
Menulis perangkat lunak yang hebat
Programer junior memiliki sejumlah sifat unik yang biasanya hilang oleh rekan yang lebih berpengalaman. Salah satunya adalah optimisme yang jelas. Lain adalah kesediaan untuk mengikuti pemimpin. Tapi mungkin fitur paling penting yang ditawarkan oleh programer junior adalah kurangnya barang bawaan. Pemrogram senior melihat naik turunnya teknologi, kegagalan proyek, tim-tim yang dilanda konflik internal, dan kehidupan industri TI lainnya. Mereka telah mengumpulkan kepercayaan yang kuat dan sering menarik kesimpulan yang luas, menunjukkan bahwa satu skenario keberhasilan (atau kegagalan) akan terungkap dengan cara yang sama untuk proyek atau tim lain. Yang dapat menyebabkan keengganan untuk memahami nuansa bidang masalah baru.
Komentar Baik itu bisnis junior. Ini dapat memunculkan satu ton kode bazhy yang rusak dengan optimisme yang rapi dan kurangnya bagasi tanpa kesimpulan yang luas. Hanya mimpi!
Perusahaan-perusahaan yang begitu bersemangat hanya mempekerjakan orang-orang senior sering lupa bahwa tidak mempelajari apa yang tidak berlaku bisa memakan waktu lebih lama daripada mempelajari apa yang berlaku.
- DHH (dhh) 31 Juli 2017
, , , β , .
. ( ), . , .
- β Β« , , , , Β». β , : , , . , , , , . , . ; , ; , . , .
. . . , .
, , - . β , β , .
. , . Borland.
, , : , , .
. , . , : , .. , . . , , .
One underrated programmer attribute is the ability to write code that average or mediocre engineers can easily read, modify, and extend.
β Jamon Holmgren (@jamonholmgren) 17 2018 .
β , , .
. !
Β« Β» «», . β . , .
. , . Yaitu , , , ? - , . , , . Yaitu , .
: IT Β« Β» . , , . , - .
. : , , .
β , , β , . , , . . , , . β .
. , β .
Kesimpulan
β . β . , , , .. , .
, - β . . β .
. - . . , , . .
, . . , , Netflix , , , .
PS , ?