Ada variasi luas dalam tingkat keterampilan pengembang. Dan apa yang disebut "seigniority" seringkali tidak mengatakan apa-apa tentang kemungkinan nyata seorang programmer. Apa yang membuat beberapa pengembang secara obyektif lebih baik daripada yang lain? Apa yang membedakan mereka dari kerumunan abu-abu?
Jika seorang programmer memiliki lima, sepuluh atau bahkan lima belas tahun "pengalaman praktis", ini tidak selalu menjamin bahwa ia adalah senior yang efektif dan produktif. Bahkan, ini tidak berarti bahwa itu bahkan dapat disebut demikian.
Tentu saja, ada juga orang-orang yang kurang beruntung, karena itu reputasi buruk telah ditetapkan untuk senior yang sukses, yang biasanya tidak muda. Tapi seigneur muda juga tidak mudah. Namun, ada sifat-sifat dan pengetahuan tertentu yang umum bagi berbagai programmer senior.

Ini bukan untuk mengatakan bahwa bangsawan sejati mengetahui beberapa rahasia keterampilan profesional. Sebaliknya, mereka dibedakan oleh struktur pengetahuan khusus, pemikiran khusus. Keduanya setuju untuk pengembangan.
Penulis bahan, terjemahan yang kami terbitkan hari ini, mengatakan bahwa ia ingin berbicara tentang beberapa tanda yang membantu membedakan programmer-senior yang nyata dari seorang programmer dengan "seigniority".
Pemrograman paradigma
Prinsip-prinsip SOLID, berorientasi objek dan pemrograman fungsional - ini adalah tiga paradigma pemrograman, tiga metodologi penulisan kode bersih, yang merupakan bagian penting dari pendekatan konseptual di balik pembuatan program.
Banyak programmer junior kehilangan satu hal penting dalam pekerjaan mereka, yaitu pemrograman adalah bahasa. Ini berarti bahwa pemrograman lebih dari seperangkat aturan tata bahasa. Ini adalah sarana komunikasi, sebuah fenomena yang dapat disusun dalam banyak cara. Pemrograman paradigma membantu membentuk posisi tertentu mengenai bagaimana kode dirasakan dan bagaimana menyampaikan informasi.
Siapa pun dapat menulis kode - sama seperti siapa pun dapat menulis pesan di messenger atau ulasan singkat sebuah buku di Amazon. Tetapi teks-teks semacam itu tidak bisa disejajarkan dengan novel-novel Stephen King. Pemrograman paradigma bertindak sebagai kekuatan penuntun di belakang kode yang senior menulis. Ini membuat paradigma mirip dengan struktur plot yang diikuti penulis fiksi. Semua bahasa diisi dengan formula. Pengembang senior memahami mereka pada level yang dalam, yang belum dicapai oleh Joons dan MIDLs.
Kemampuan untuk membuat
Ketika kami pertama kali datang ke dunia
for
loop dan
if else
, kami mengajukan pertanyaan dan mencoba untuk menemukan jawaban kepada mereka dalam bentuk kode yang dapat disalin dan ditempelkan ke proyek kami dari suatu tempat. Tingkat pemahaman kode ini adalah apa yang mencirikan kualifikasi junior yang baru memulai dan pemula.
Lanjut usia, lebih dari sekadar menyalin. Mereka dapat membuat sesuatu yang baru tanpa bantuan khusus dari Google yang maha kuasa. Mereka tahu apa yang mereka lakukan, mereka mengerti bagaimana keputusan mereka mempengaruhi hasil pekerjaan mereka. Mereka dapat melihat, atau setidaknya mengantisipasi situasi abnormal. Mereka memahami masalah kode mereka dan tahu cara menghadapinya.
Jika mereka tidak tahu sesuatu, mereka mengisi kesenjangan pengetahuan, dengan serius memahami pertanyaan tidak jelas, tidak terbatas pada studi dangkal mereka. Mereka sangat memahami semua alat yang mereka gunakan. Dunia kode tidak terlihat di mata para senior seperti halnya di mata Juni atau Pertengahan.
Kritik obyektif
Semua orang lebih suka apa yang mereka ketahui. Junior dan middles menunjukkan kecenderungan yang kuat untuk fokus pada pengalaman mereka sendiri, bukan pada apa yang terkait dengan kode yang mereka analisis. Jika mereka membuat proposal, atau jika mereka menghargai sesuatu - dasar dari semua ini adalah preferensi pribadi mereka. Ini adalah gaya penulisan kode, cara penamaan entitas, metode berpikir.
Tidak ada yang salah dengan itu. Semua ini adalah bagian dari proses pertumbuhan profesional. Untuk mencapai objektivitas penilaian yang sebenarnya, seorang programmer perlu pergi ke banyak situasi dan melihat sendiri bagaimana sesuatu yang tidak dapat diterima dalam satu kasus, dalam kasus lain dapat menjadi solusi terbaik untuk suatu masalah. Ini mengembangkan pandangan netral tentang berbagai hal. Tidak ada cara yang benar untuk menulis kode. Hanya ada cara yang efektif dalam situasi tertentu dan dalam skenario tertentu. Pemrogram senior memahami hal ini. Mereka siap menerima bahwa kode mereka mungkin bukan semacam kode "terbaik", dan itu bisa diperbaiki.
Lansia sering menjadi pengendali kualitas kode yang produktif, menunjukkan kekacauan yang dibuat rekan mereka dalam program dan mencatat kelemahan dalam arsitektur aplikasi. Mereka dapat melihat gambaran keseluruhan proyek, untuk menilai kemungkinan masalah yang sama sekali tidak terduga. Namun, mereka tidak terikat dengan gaya penulisan kode atau paradigma pemrograman apa pun. Fokus perhatian mereka bukanlah alat, tetapi hasilnya.
Perbedaan antara program yang bagus dan program yang bekerja
Pengembang membuat kode yang tugas utamanya adalah memulai. Beberapa dari mereka berkutat pada hal ini, dan percaya bahwa hanya kode kerja yang mereka butuhkan. Yang lain melangkah lebih jauh dan berusaha untuk memastikan bahwa kode tersebut tidak hanya berfungsi, tetapi juga ditulis dengan kualitas tinggi. Pengembang terbaik adalah para profesional yang mengedit dan menulis ulang kode kami dalam proses. Mereka mungkin setuju untuk menggunakan beberapa desain yang gagal, tetapi begitu mereka memiliki kesempatan untuk memperbaikinya, mereka akan melakukannya. Pengembang semacam itu memahami perbedaan antara program yang baik dan yang bekerja.
Sebagian besar manajer hanya tertarik pada kinerja program. Tetapi pengembang senior yang baik melihat situasinya lebih dalam. Mereka memahami biaya tersembunyi dari utang teknis dan mampu mengenali kode yang menunjukkan adanya masalah yang mendalam dalam sistem. Mereka tahu bagaimana menggabungkan kebutuhan bisnis untuk program kerja dengan kualitas kode. Hal ini memungkinkan mereka untuk menemukan keseimbangan antara pengiriman proyek tepat waktu dan dimasukkannya mereka dalam fitur tambahan yang diingat pelanggan jauh dari awal pekerjaan.
Luasnya pengetahuan mereka, pemahaman tentang kerangka kerja dan bahasa pemrograman, membuat mereka ahli dalam hal menemukan perbedaan antara program kerja dan program berkualitas tinggi. Mereka bisa menciptakan keduanya. Ini memberi para senior sejati kesempatan untuk menemukan solusi kreatif untuk berbagai masalah dalam berbagai situasi.
Kemampuan untuk belajar
Pose guru yang biasa-biasa saja. Seorang guru yang baik menjelaskan. Seorang guru yang luar biasa menunjukkan. Guru yang hebat sangat menginspirasi.
William Arthur WardPengembang senior nyata memiliki hasrat terhadap teknologi yang menginspirasi rekan satu tim mereka yang kurang berpengalaman, membantu pemula menjadi profesional papan atas.
Pemrograman itu sendiri merupakan serangkaian ide tertentu. Lansia memiliki kemampuan untuk mengekspresikan ide-ide ini secara ringkas dan jelas. Kemampuan senior untuk mentransfer kode antara antarmuka dan lingkungan yang berbeda menunjukkan pemahaman yang benar tentang bahasa pemrograman pilihan mereka.
Untuk mengajarkan sesuatu kepada seseorang, Anda membutuhkan tingkat pengetahuan tertentu tentang subjek tersebut. Apa yang disebut "pengalaman kerja" dapat muncul dalam resume seorang programmer sebagai daftar proyek yang diselesaikannya, atau saat ia bekerja di perusahaan yang berbeda. Tetapi kemampuan untuk mengajar orang lain adalah keterampilan yang hanya tersedia bagi seseorang yang benar-benar memiliki keahlian mereka.
Ringkasan
Seorang pengembang senior sejati adalah makhluk yang memiliki banyak segi, yang kadang-kadang, ketika menyangkut area di luar bisnis intinya, mungkin terlihat seperti gimnasium atau perantara. Tetapi tuan memiliki basis yang kuat di bidang filsafat pemrograman.
Namun, fitur senior di atas - inilah yang hadir dalam kepribadian mereka dan dalam pengetahuan profesional mereka. Ini memungkinkan mereka mempelajari teknologi baru lebih cepat daripada programmer "biasa". Seringkali manula adalah orang yang mampu menangkap sekilas gambaran umum tentang apa yang terjadi. Mereka dapat melihat kode tanpa prasangka dan takhayul.
Tuan yang sebenarnya akan membawa teman-teman sekerjanya ke kebiasaan menciptakan kode yang bersih. Pada saat yang sama, itu tidak akan menjadi kekuatan destruktif yang mencoba untuk memeras segala sesuatu yang dihadapinya ke ranjang Procrustean dari pengalamannya sendiri. Orang ini dengan tenang menerima kesalahan rekan-rekannya, dan juga kesalahannya sendiri. Dia berusaha belajar dan belajar dari kesalahan, dan tidak mempermalukan rekan yang kurang berpengalaman.
Pengembang senior dapat menjadi orang dari segala usia, ia dapat berasal dari cabang teknologi informasi apa pun, "pengalaman praktisnya" dapat dihitung dalam beberapa tahun. Fitur utama dari orang-orang seperti itu adalah bahwa mereka benar-benar tahu bagaimana menyelesaikan masalah, dan bahwa mereka mampu berpikir dalam jangka panjang.
Pembaca yang budiman! Jika Anda terlibat dalam pemilihan personel di bidang teknologi informasi - tolong beri tahu kami bagaimana Anda "melacak" para senior.
