
Tingkat pengembang tidak harus ditentukan oleh pengalaman pemrograman bertahun-tahun: "Juni" mungkin lebih tua dari "senior," semuanya tergantung pada keterampilan profesional. Ini tidak berarti bahwa pengembang senior harus menjadi spesialis dalam segala hal, tetapi dapat dikatakan dengan keyakinan bahwa keterampilannya jauh lebih berkembang dibandingkan dengan para pengembang tingkat junior dan menengah.
Tetapi pengembang dari berbagai tingkatan dibedakan oleh sesuatu yang lebih dari kemampuan untuk benar-benar memprogram. Jadi apa sebenarnya perbedaannya?
Diterjemahkan ke AlconostPengetahuan
Jelas, pengembang senior memiliki pengetahuan yang jauh lebih luas. Untuk pengembang junior, mempelajari pola desain, arsitektur, pengujian otomatisasi, metode untuk meningkatkan produktivitas dan memastikan keamanan, dll. Adalah cara yang bagus untuk menjembatani kesenjangan pengetahuan ini.
Penting untuk mengetahui bagaimana perangkat lunak harus dibuat. Tetapi hanya dengan mengetahui semua ini tidak berarti menjadi pengembang tingkat yang lebih tinggi. Pengetahuan bukanlah perbedaan utama, tetapi hanya salah satu faktor.
Foto - Clem Onojeghuo , UnsplashPemrograman
Meskipun pendapat kebanyakan orang biasa, pemrograman tidak berbicara dengan komputer. Pemrograman berarti
berkomunikasi dengan orang-orang dan
memberikan instruksi kepada komputer. Bagaimanapun, kode akhirnya mengkompilasi dan berubah menjadi nol dan yang.
Kode harus masuk akal bagi mereka yang akan bekerja dengannya di masa depan. Tim yang mengambil proyek untuk orang lain harus dapat membuka kode sumbernya dan mulai bekerja pada fitur-fitur baru atau perbaikan bug. Dan di sinilah letak perbedaan mendasar antara "Juni" dan "Senior".
Saya tidak akan mempertimbangkan pengembang tingkat menengah dalam perbandingan ini, sejauh menyangkut keterampilan pemrograman, mereka mewakili semacam area transisi - agak lebih dekat dengan tingkat pengembang senior. Pada dasarnya, posisi "perantara" ditentukan oleh pengalaman, karena biasanya "perantara" berhasil melalui seluruh siklus pengembangan setidaknya sekali, serta membuat banyak kesalahan sederhana dan belajar darinya.
Cara menghitung "Juni"
Pengembang yang lebih muda tidak berpengalaman: kadang-kadang mereka adalah lulusan yang baru mulai bekerja penuh waktu. Di kepala mereka, tugas utama adalah membuat kode berfungsi. Jika aplikasi berfungsi, maka itu bagus.
Menulis kode sederhana adalah tugas yang sulit. Dan pengembang yang lebih muda tidak dapat melakukan ini: biasanya kode mereka cukup aneh. Anda dapat mengenalinya dengan satu kalimat yang aneh dan abstraksi yang sangat rumit - ini adalah bagaimana "jones" berusaha untuk menunjukkan diri mereka dan mencoba membuat orang lain memahami seberapa baik mereka dapat memprogram. Tapi ini pendekatan yang salah.
Pengembang junior fokus pada bagian "komputer" dari kode, menghadap ke bagian "manusia".
Cara menulis kode "senior"
Melihat kode pengembang senior, Anda mungkin berpikir: apakah hanya itu? Di mana sisanya? Pengembang yang cukup berpengalaman menulis kode yang sederhana, mudah dimengerti, dan, mungkin, kadang-kadang bahkan terlalu mudah - dan ini adalah salah satu kualitas paling penting dalam hal pemrograman. "Senior" mengikuti prinsip KISS, yang menyatakan bahwa kode harus sederhana dan jelas:
"Tetap sederhana, bodoh"Oleh karena itu, pengembang senior memiliki pendekatan yang sama sekali berbeda untuk menulis kode: memperhitungkan kenyamanan dukungan dan skalabilitas lebih lanjut. Ini benar-benar berbeda dari pemikiran pengembang junior: "senior" berpikir tentang mereka yang akan bekerja dengan kode, dan "Juni" penting di tempat pertama untuk membuat kode bekerja.
Bukan pemrograman satu
Selain keterampilan pemrograman, ada faktor-faktor lain yang dapat memberi tahu pengembang seperti apa yang ada di depan Anda.
Pengembang junior, biasanya, melakukan tugas yang paling sederhana dan paling penting; mereka tidak mengembangkan arsitektur. Pengembang tingkat menengah juga tidak mengembangkan solusi, tetapi hanya melakukan tugas, tetapi mereka kurang terkontrol - jika tugasnya cukup khas. Tetapi "senior" dapat mengembangkan aplikasi sepenuhnya secara mandiri.
Ini tidak berarti bahwa pengembang senior tidak memiliki pertanyaan apa pun di sepanjang jalan: setiap dari kita memiliki banyak pertanyaan setiap hari, dan "senior" tidak terkecuali.
Perbedaannya adalah bahwa yang terakhir tahu bagaimana mengajukan pertanyaan yang tepat dan apa yang harus dilakukan dengan jawaban yang diterima. Pengembang yang kurang berpengalaman dapat mengajukan pertanyaan yang tepat ketika datang ke tugas-tugas biasa mereka, tetapi dalam kasus yang lebih kompleks mereka harus mencari bantuan.
Pengembang senior tidak pernah hilang dan tahu bagaimana harus bertindak dengan benar, setelah menerima jawaban atas pertanyaan. Ini tidak berarti bahwa dia tidak akan meminta nasihat orang lain - kadang-kadang solusi terbaik adalah mencari bantuan dari mereka yang memiliki lebih banyak pengalaman di bidang ini.
Pengembang tingkat menengah juga harus dapat mengajukan pertanyaan yang tepat, kecuali jika itu adalah tugas yang sangat sulit yang membutuhkan tingkat pengetahuan yang mendalam.
Tetapi dalam kasus "Juni" seharusnya tidak diharapkan bahwa mereka akan dapat mengajukan pertanyaan yang tepat: mereka tidak memiliki cukup latihan, sehingga mereka harus dipimpin oleh rekan yang lebih berpengalaman. Pengembang junior harus diberi sumber daya yang diperlukan atau dorongan yang baik ke arah yang benar.
Pergi ke level selanjutnya
Kita semua ingin meningkatkan, termasuk secara profesional. Tapi langkah apa yang bisa diambil untuk pindah ke level selanjutnya?
Dari Juni hingga Pertengahan
Pengembang pemula tidak memiliki pengalaman yang kaya, jadi penting untuk melalui seluruh siklus pengembangan setidaknya beberapa kali - dengan cara ini Anda dapat bertemu banyak perangkap di jalan Anda dan belajar untuk menghindarinya.
Sedangkan untuk pemrograman, Anda harus belajar cara menulis kode sederhana: bayangkan bahwa orang lain akan mengerjakan proyek setelah Anda. Selain itu, Anda harus belajar cara men-debug - ini akan memperdalam pemahaman Anda tentang apa yang terjadi selama program.
Anda juga perlu membiasakan diri dengan praktik terbaik dan mempelajari lebih lanjut tentang arsitektur, kinerja, keamanan, dll. Tutup celah pengetahuan yang memisahkan Anda dari tingkat menengah.
Dari "menengah" - ke "senior"
Pengembang tingkat menengah bisa sulit untuk mendapatkan yang lebih tinggi: beberapa tetap pada tingkat itu sepanjang karier mereka.
Pengembang senior tahu dalam kasus apa kompromi dapat dilakukan, dan kapan hal ini tidak dapat dilakukan dalam kasus apa pun - karena ia berhasil mengujinya pada pengalaman pahitnya sendiri.
Untuk menuju ke tingkat "senior", Anda harus siap untuk menyelesaikan tugas yang tidak ada yang tahu cara mengatasinya. Anda perlu tahu dan bisa melakukan lebih dari sekedar melakukan pekerjaan Anda.
Selain itu, sebagai pengembang senior, Anda harus membantu yang kurang berpengalaman: Anda selebihnya adalah penyelamat yang dapat Anda raih ketika Anda tidak tahu bagaimana melakukan sesuatu.
Mengingat hal ini, tidak mengherankan bahwa "senior" sepenuhnya memiliki tumpukan teknis mereka. Anda tidak hanya perlu dapat memprogram, tetapi untuk mengetahui semua alat dan aplikasi yang digunakan di perusahaan yang mempekerjakan Anda.
Kesimpulan
Perbedaan antara "Juni", "Tengah" dan "Senior" tidak hanya dalam pengalaman bertahun-tahun. Ya, aman untuk mengatakan bahwa yang terakhir memiliki keterampilan yang jauh lebih berkembang daripada pengembang junior dan menengah. Tetapi pengetahuan bukanlah faktor yang paling penting.
Pengembang berpengalaman menulis kode yang lebih sederhana dan mendekatinya secara berbeda. Tetapi selain bisa memprogram, juga sangat penting untuk mengetahui pertanyaan apa yang harus diajukan dan apa yang harus dilakukan dengan jawaban yang diterima. Ini adalah pengembang senior - orang yang pengalamannya yang kaya memungkinkan untuk tidak bingung dan menemukan solusi dalam situasi apa pun.
"Juni", untuk tumbuh lebih jauh, Anda perlu mencoba mempelajari cara menulis kode sederhana dan menjalani beberapa siklus pengembangan lengkap. Untuk naik di atas rata-rata, Anda harus fokus mempelajari sesuatu yang lebih dari sekadar tugas rutin memperbaiki kesalahan. Anda harus siap untuk mengambil tugas yang paling kompleks dan sepenuhnya menguasai tumpukan teknis Anda. Tanggung jawab lain dari pengembang senior adalah membantu yang kurang berpengalaman.
Mengutip Martin Fowler:
“Orang bodoh mana pun bisa menulis kode yang dimengerti komputer. Seorang programmer yang baik menulis kode yang bisa dimengerti orang ”
Tentang penerjemahArtikel ini diterjemahkan oleh Alconost.
Alconost
melokalkan game ,
aplikasi ,
dan situs dalam 70 bahasa. Penerjemah asli bahasa, pengujian linguistik, platform cloud dengan API, pelokalan berkelanjutan, manajer proyek 24/7, segala format sumber daya string.
Kami juga membuat
video iklan dan pelatihan - untuk situs yang menjual, gambar, iklan, pelatihan, permainan asah, penjelajah, trailer untuk Google Play dan App Store.
→
Baca lebih lanjut