Selain judul dan gaji, apa bedanya?
Apa tanggung jawab berbeda yang mereka miliki.
Seberapa luas pengetahuan mereka?
Apa ukuran dasar untuk menentukan di mana pengembang cocok dengan struktur dasar ini?
Selain judul dan gaji, apa bedanya?
Apa tanggung jawab berbeda yang mereka miliki.
Seberapa luas pengetahuan mereka?
Apa ukuran dasar untuk menentukan di mana pengembang cocok dengan struktur dasar ini?
Jawaban:
Ini akan bervariasi tetapi ini adalah bagaimana saya melihatnya di tempat yang cukup besar untuk memiliki perbedaan antara jenis programer.
Saya akan mengatakan entry level dan Junior adalah hal yang sama. Mereka baru lulus sekolah dan memiliki pengalaman kerja kurang dari dua tahun. Mereka diberi tugas yang paling tidak rumit dan harus diawasi dengan cukup cermat. Umumnya mereka tahu sekitar 10% dari apa yang mereka pikir tahu. Biasanya mereka belum melalui seluruh siklus pengembangan dan seringkali membuat beberapa pilihan yang sangat naif jika diberi kesempatan untuk memilih. Sayangnya banyak dari mereka tidak benar-benar peduli apa persyaratannya, mereka ingin membangun sesuatu dengan cara mereka. Mereka sering memiliki keterampilan debugging yang buruk.
Tingkat menengah adalah tempat banyak programmer jatuh. Mereka memiliki lebih dari dua tahun pengalaman dan umumnya kurang dari sepuluh, meskipun beberapa dapat tetap pada tingkat ini sepanjang karir mereka. Mereka dapat menghasilkan kode kerja dengan sedikit pengawasan selama mereka ditugaskan untuk tugas-tugas yang relatif rutin. Mereka umumnya tidak ditugaskan dengan desain tingkat tinggi atau tugas yang sangat rumit yang membutuhkan tingkat pengetahuan yang mendalam. Mereka mungkin ditugaskan dengan desain sepotong aplikasi, terutama karena mereka berada di zona untuk menjadi pengembang senior. Mereka pandai tugas pemeliharaan atau tugas di mana mereka dapat fokus hanya pada potongan puzzle mereka, tetapi biasanya tidak diharapkan untuk mempertimbangkan aplikasi secara keseluruhan kecuali bekerja dengan pengembang senior atau sedang dipersiapkan untuk promosi ke senior. Mereka biasanya dapat melakukan pekerjaan pemecahan masalah dan debugging yang baik, tetapi mereka harus benar-benar bekerja keras untuk mendapatkan yang sulit. Mereka belum memiliki pengalaman yang cukup untuk melihat pola dalam masalah yang mengarahkan mereka ke tempat yang memungkinkan mereka terjadi. Tetapi mereka mendapatkan keterampilan itu dan jarang perlu meminta bantuan debugging. Mereka mungkin telah melalui seluruh siklus pengembangan setidaknya sekali dan melihat hasil dari masalah desain dan belajar bagaimana menghindarinya di masa depan. Biasanya mereka cenderung lebih cenderung untuk mengambil persyaratan pada nilai nominal dan tidak mendorongnya kembali ketika memiliki masalah atau kesenjangan yang jelas. Mereka telah belajar cukup banyak untuk mengetahui apa yang tidak mereka ketahui dan mulai mendapatkan pengetahuan itu. Mereka adalah workhorses dari dunia pemrograman,
Tidak seorang pun yang tingkat senior bahkan perlu mengajukan pertanyaan ini. Mereka ahli dalam tumpukan teknologi yang mereka pilih. Mereka diberi tugas-tugas sulit (yang tidak ada yang tahu bagaimana menyelesaikannya) dan sering mendapatkan tanggung jawab desain. Mereka sering bekerja secara independen karena mereka memiliki rekam jejak yang terbukti dalam pengiriman barang. Mereka diharapkan untuk menjadi mentor bagi pengembang menengah dan menengah. Seringkali mereka adalah pemecah masalah yang luar biasa. Mereka telah mengalami masalah yang sama sebelumnya dan memiliki ide yang sangat bagus dari mana harus mencari pertama. Lansia sering menjadi mentor di luar tempat kerja juga. Mereka umumnya memiliki setidaknya sepuluh tahun pengalaman dan hampir selalu berada di setidaknya satu mars kematian dan tahu persis mengapa beberapa hal harus dihindari. Mereka tahu bagaimana mengirimkan produk yang berfungsi dan memenuhi tenggat waktu. Mereka tahu sudut apa yang bisa dipotong dan sudut apa yang tidak boleh dipotong. Mereka tahu setidaknya satu dan sering beberapa bahasa di tingkat ahli. Mereka telah melihat banyak "teknologi baru yang panas" menghantam tempat kerja dan menghilang, sehingga mereka cenderung sedikit lebih konservatif tentang melompat pada kereta musik untuk alat pengembangan baru yang menarik berikutnya (tetapi tidak sepenuhnya tahan terhadap perubahan - itu akan menjadi pengembang Menengah yang lebih tua yang tidak pernah melakukan lompatan ke Senior). Mereka mengerti bahwa tugas mereka adalah memberikan perangkat lunak yang berfungsi sesuai keinginan pengguna, bukan untuk bermain dengan alat yang menyenangkan. Mereka sering memilih di mana mereka akan bekerja karena mereka dapat dan karena mereka telah melihat secara langsung betapa buruknya beberapa tempat. Mereka mencari tempat-tempat yang memiliki tugas paling menarik untuk dilakukan. Seringkali mereka tahu lebih banyak tentang produk perusahaan mereka daripada orang lain, bahkan jika mereka telah berada di sana hanya beberapa bulan. Mereka tahu mereka membutuhkan lebih dari pengetahuan pemrograman dan pandai mendapatkan pengetahuan tentang domain bisnis yang mereka dukung juga. Mereka sering menyadari masalah yang tidak pernah dipertimbangkan oleh junior dan perantara tidak sering berpikir seperti masalah regulasi dan hukum dalam domain bisnis yang mereka dukung. Mereka dapat dan akan mendesak kembali suatu persyaratan karena mereka tahu masalah apa yang akan terjadi dan dapat menjelaskan hal yang sama kepada orang awam.
Level Awal - harus memberi mereka instruksi eksplisit, memeriksa semua yang mereka lakukan, sedikit atau tidak ada tanggung jawab desain, tidak ada tanggung jawab analisis
Junior - instruksi kurang eksplisit, kurang memeriksa, beberapa desain kecil dan tanggung jawab analisis; membantu orang entry-level menemukan kompiler dan menggunakan repositori
Disain senior dan tanggung jawab analisis utama, diharapkan untuk memperbaiki pengawasan sendiri, sedikit / tanpa pemeriksaan, sedikit / tanpa instruksi; membantu orang-orang tingkat junior belajar / meningkatkan keterampilan analisis dan desain
Sungguh, saya pikir itu hanya sampai berapa lama Anda telah bekerja. Jika Anda memiliki 10 tahun pengalaman, Anda adalah seorang dev senior, jika Anda seorang lulusan maka Anda mungkin entry level. Saya telah melihat banyak dev senior yang hampir tidak bisa kode dan tidak benar-benar tahu apa yang mereka lakukan dan banyak dev junior yang fantastis.
Saya pikir slot pengrajin sekolah tua magang, pekerja harian dan master cocok dengan slot ini dengan baik untuk entry level, junior (atau hanya tidak ada awalan) dan senior.
Seseorang entry level diberikan tugas yang relatif sederhana yang tidak memiliki konsekuensi mendalam dan pekerjaan mereka diperiksa oleh junior atau senior. Seiring waktu mereka mendapat lebih banyak tanggung jawab dan diberi tugas yang lebih kompleks, mempelajari tali sepanjang jalan.
Di junior (atau hanya penghapusan "entry level" / "junior" dari judul / deskripsi) Anda telah menyelesaikan magang Anda dan telah mencakup bidang utama pengembangan untuk perusahaan Anda, setelah masuk ke setiap area utama sehingga Anda akrab dengan masing-masing. Anda sekarang membantu memberikan panduan dan masukan untuk siswa magang yang setara, tetapi pekerjaan Anda sendiri masih ditinjau oleh master / senior, meskipun mungkin tidak sebanyak ketika Anda masih junior.
Seiring waktu dan pengiriman proyek yang sukses, Anda akhirnya menjadi senior. Pada tingkat senior, Anda telah menguasai segala sesuatu yang tercakup di wilayah Anda, yang mencakup seluruh proses pengembangan dan semua alat dan teknologi yang terlibat. Anda diberdayakan untuk membuat keputusan teknis yang signifikan dan diharapkan dapat memberikan wawasan kepada manajemen tentang proses pengembangan perangkat lunak.
Jadi, dengan memberikan panduan itu, Anda harus dapat melihat seseorang atau suatu posisi dan menentukan di mana dari ketiga tempat sampah mereka.
Ini akan bermuara pada harapan perusahaan terhadap programmer.
Jika saya adalah perusahaan yang mempekerjakan dan saya menyewa seorang programmer Entry Level, saya tahu bahwa orang itu tidak tahu apa-apa dan kita akan menganggap dia perlu mempelajari segalanya. Jika saya mempekerjakan orang tingkat senior, secara teori, mereka akan mandiri, dari sudut pandang teknis.
Ini sangat tergantung pada perusahaan. Tetapi kata-katanya cukup jelas: entry level adalah seseorang yang baru saja memasuki bidang, junior adalah seseorang yang berada di luar entry level dan tahu ada cara di sekitar beberapa teknologi bahasa. Yang terakhir senior adalah mereka yang lebih bertanggung jawab atas proyek dan duduk di tingkat yang lebih tinggi. Mereka biasanya dapat mendelegasikan sebanyak kode mereka.
Seperti yang dikatakan kebanyakan orang, ini bervariasi dari perusahaan ke perusahaan, dan pekerjaan ke pekerjaan.
Misalnya, saya pernah bekerja di sebuah perusahaan yang menganggap siapa saja yang bekerja di sana selama lebih dari 5 tahun sebagai "Insinyur Perangkat Lunak Senior". Di sisi lain, tempat lain tempat saya bekerja memiliki definisi yang sangat ketat (dan skala upah terkait).
Beberapa tempat mungkin menganggap "entry level" dan "junior" memiliki arti yang sama.
Ini dapat bervariasi berdasarkan pengalaman bertahun-tahun, pengetahuan umum, pengetahuan khusus (yaitu mengetahui fitur-fitur dari bahasa tertentu), pengalaman manajerial dan / atau kepemimpinan, semua kombinasi darinya, dan tentu saja lebih banyak.
Saya akan menjawab dengan sangat sederhana di sini: pengembang senior (secara umum) adalah orang-orang yang dapat melihat hutan untuk pepohonan. Mereka berpikir di luar masalah langsung di depan wajah mereka dan memiliki pemahaman tentang perubahan arsitektur apa yang bisa atau harus terjadi sebagai akibat dari memperbaiki masalah yang mereka hadapi.
Sebagian besar perusahaan perangkat lunak yang pernah saya lihat memiliki orang-orang entry level yang melakukan pengkodean sehari-hari sementara para senior dev mengawasi apa yang dilakukan orang-orang baru dan menangani masalah yang benar-benar jelek dan sulit.
Jelas ini hanya pendapat saya, dan bukan aturan yang keras dan cepat. YMMV.
Sederhananya dan dari pengamatan pribadi yang ditemukan di situs posting pekerjaan dan hanya mengenai tingkat pengalaman.
Entri = Baru Anda mungkin pekerjaan pertama Anda.
Junior = Anda baik tetapi tidak seharusnya menjadi yang terbaik, Anda juga biasanya memiliki kurang dari 5 tahun dan lebih dari 2 tahun pengalaman.
Senior = Anda seharusnya menjadi yang terbaik dan memiliki pengalaman lebih dari 5 tahun.