Jika saya bekerja sebagai Pengembang dalam satu bahasa (mis. Java) dan bekerja sampai ke Pengembang Senior, apakah itu memenuhi syarat saya untuk menjadi Pengembang Senior untuk posisi yang menggunakan bahasa lain (mis. Ruby)?
Jika saya bekerja sebagai Pengembang dalam satu bahasa (mis. Java) dan bekerja sampai ke Pengembang Senior, apakah itu memenuhi syarat saya untuk menjadi Pengembang Senior untuk posisi yang menggunakan bahasa lain (mis. Ruby)?
Jawaban:
Cara terbaik untuk menjawab ini adalah dengan melihat perbedaan antara Pengembang dan Pengembang Senior. Dengan anggapan bahwa ini bukan hanya masalah waktu, umumnya saya berharap Pengembang dan Pengembang Senior dapat:
Selain itu, saya berharap Pengembang Senior untuk:
Jadi, pertanyaannya adalah apakah Anda memenuhi kriteria yang diperluas untuk bahasa kedua (atau ketiga atau keempat) Anda? Saya menyarankan bahwa selama Anda cukup kompeten secara teknis dalam bahasa yang Anda pindahkan maka ya karena sebagian besar hal Pengembang Senior cenderung dapat ditransfer.
Saya mencari kualitas berikut ketika saya mewawancarai Sr. Developers.
Ada banyak hal lain yang saya cari, tetapi ini adalah poin utama.
Sementara saya merekomendasikan untuk mempekerjakan Sr. Pengembang yang bukan ahli dalam bahasa yang digunakan di tempat kerja, mereka adalah ahli dalam bahasa yang serupa.
Anda bisa melamar, tetapi setidaknya jika saya melakukan perekrutan, saya mungkin atau mungkin tidak mempekerjakan Anda.
Senioritas berhubungan dengan (setidaknya) dua bidang. Keahlian pengembangan umum dan keahlian bahasa / kerangka kerja. (Saya sengaja meninggalkan pengetahuan bisnis-ruang) saat ini. Menjadi pengembang senior dalam buku-buku saya juga akan mencakup tingkat keahlian desain / arsitektur. Bagaimana membangun sistem yang baik / dapat diuji, dll.
Mendapatkan ke tingkat ini di Jawa akan memberi Anda manfaat yang baik untuk bahasa lain (serupa / prosedural).
Tetapi di era produktivitas langsung yang diharapkan ini, Anda tidak mungkin tahu tentang Ruby sebanyak Java. Cara membagi sistem Anda menjadi konstruksi ramah-Ruby alih-alih konstruksi ramah-Java. Anda mungkin tahu beberapa kerangka kerja Java dan bukan Rails atau hal-hal khusus Ruby lainnya.
Jika saya meminta Anda untuk melakukan pengkodean papan tulis di Ruby selama wawancara, dapatkah Anda melakukannya?
Semua ini akan menjadi keputusan saya untuk mempekerjakan Anda atau tidak, pada tingkat apa pun; tetapi khususnya untuk peran senior .
Semoga berhasil
Nggak.
Itulah salah satu perbedaan besar antara profesi kita dan profesi yang lebih 'formal' lainnya. Jika Anda telah bekerja sebagai pengacara yang melakukan surat wasiat & wasiat selama 20 tahun, maka Anda akan mendapatkan tingkat tinggi karena Anda memiliki 20 tahun pengetahuan yang dibangun di domain itu .
Jika Anda telah melakukan C ++ / Win32 / MFC selama 15 tahun, itu tidak benar-benar memenuhi syarat Anda untuk posisi senior sebagai pengembang Rails, bahkan jika Anda masih menyelesaikan masalah yang sama dalam domain yang sama ... katakanlah medis penagihan, misalnya.
Lebih buruk lagi, sebagian besar perusahaan bahkan tidak akan mempertimbangkan Anda untuk posisi yang kira - kira sama ... Misalnya, jika Anda telah melakukan C ++ / MFC selama 5-7 tahun, Anda harus dapat meningkatkan kecepatan pada C # /.NET sangat cepat, setidaknya untuk desktop. Sayangnya sebagian besar perusahaan tidak melihatnya seperti itu.
Tergantung
Keluarkan "pemrograman" dari situ. Sebaliknya, berpura-puralah Anda seorang penerjemah profesional.
Anggaplah bahasa Inggris adalah bahasa pertama Anda, dan Anda juga mahir berbahasa Prancis. Anda cenderung belajar bahasa Spanyol dengan mudah.
Namun, Anda tidak akan cepat menguasai banyak dialek Cina. Sementara pengalaman Anda sebagai ahli bahasa akan membantu Anda mempelajari bahasa, memberi Anda keuntungan lebih dari seseorang yang tidak pernah belajar bahasa asing, itu masih akan membawa Anda waktu lebih lama untuk menjadi seorang "ahli" (yaitu "senior" ) penerjemah dalam bahasa itu.
Iya dan tidak.
Jika bahasanya mirip , katakanlah C ++, Java atau Ruby yakin Anda harus dipertimbangkan. Bergantung pada seberapa fleksibel orang-orang yang duduk di kantor itu, Anda memiliki peluang untuk bertarung.
Namun jika bahasanya sangat berbeda , dan maksud saya Anda adalah orang COBOL yang suka dengan Haskell, maka terlepas dari 10+ tahun peluang COBOL Anda tersebar luas bahwa Anda mungkin tidak dapat melakukan banyak hal seperti mengamankan wawancara.
PASANGAN HAL-HAL YANG AKAN PERGI DALAM FAVOR ANDA DALAM SITUASI TERSEBUT:
Saya jarang melihat judul "senior" berdasarkan bahasa. Saya tahu beberapa programmer sistem senior , beberapa programmer web senior dan satu programmer COBOL senior.
Pemrograman memiliki banyak segi dan memiliki beberapa disiplin ilmu untuk ditawarkan. Saya berharap pengembang web senior (dalam judul, programmer dan pengembang tampaknya dapat dipertukarkan) menjadi mahir dalam beberapa bahasa utama yang digunakan dalam pengembangan web. Apakah itu membuat guru Python dan PHP ahli instan dalam C #? Tidak. Di sisi lain, tidak semua guru C # telah menguasai seni manajemen dan kepemimpinan proyek.
Saya melayani peran CTO di sebuah perusahaan, selain menjadi programmer sistem senior. Namun, saya dengan senang hati akan menunda skema atau ahli LISP jika kami menemukan proyek yang mengharuskannya. Bagian dari menjadi pemimpin yang baik adalah memahami batas dan kekurangan Anda sendiri terlebih dahulu .
Saya tidak yakin ingin bekerja di perusahaan, atau bahkan departemen yang fokus pada satu dan hanya satu bahasa. Kedengarannya seperti itu akan melakukan apa yang selalu mereka katakan merokok akan lakukan: menghambat pertumbuhan Anda ketika kenyataannya sebenarnya jauh lebih buruk.
Jangan mengejar gelar, kejar ilmu. Tetapi, agar adil, peran Anda dalam posisi kepemimpinan sebelumnya mungkin akan memberi Anda keunggulan tambahan, asalkan Anda menunjukkan kompetensi dalam bahasa yang ada.
Saya pikir itu tergantung pada apa yang Anda anggap sebagai pengembang Senior? Jika ini lebih merupakan peran arsitek, banyak prinsip desain dan pola desain akan siap membantu Anda dari pengalaman Anda sebagai pengembang, terlepas dari bahasa. Jadi itu plus ;-)
Namun, ketika melihat membuat aplikasi atau kode seproduktif dan terpelihara mungkin (menggulung bit sleaves Anda), saya tidak berpikir Anda bisa masuk pada tingkat pengalaman yang sama ketika beralih bahasa, IDE dan / atau kerangka kerja.
Tapi seperti yang dikatakan runrun, ini tidak menghentikan Anda dari melamar apa pun
Ini akan sangat tergantung pada perusahaan tempat Anda mewawancarai karena biasanya prosedur sumber daya manusia internal yang mendorong bagaimana karyawan baru diangkat. Perusahaan besar cenderung sangat kaku dan jika mereka mengatakan Anda harus memiliki n tahun mengalami dalam bahasa tertentu untuk dianggap sebagai tingkat senior maka Anda mungkin menemukan bahwa mereka hanya akan membawa Anda di aa pengembang tingkat menengah.
Walaupun begitu, ini seharusnya tidak mencegah Anda dari melamar posisi dan jika mereka membawa Anda untuk wawancara itu adalah sesuatu yang harus Anda diskusikan.
Saya akan mengatakan bahwa semakin rendah tingkat bahasa atau mesin-ramah, semakin ahli Anda.
Keahlian Java / C # lebih murah daripada keahlian ASM / C / C ++.
Bahasa-bahasa yang terakhir melakukan manajemen memori dan hal-hal lain yang sebenarnya MASALAH saat pemrograman.
Tetapi untuk bahasa "mudah" lainnya, Anda perlu membuat perbandingan cepat tentang fitur yang membuatnya "lebih mudah", tetapi saya merasa tidak berguna. Pengalaman dengan bahasa yang mudah lebih baik diukur dengan CMS / kode buatan lainnya yang Anda gunakan untuk bekerja, seperti penyala kode atau Django atau Apache atau RoR.
Bagi saya, pengembang senior adalah orang yang memprogram kernel, sistem, perangkat keras tertanam, dll. Pemrogram yang menggunakan bahasa yang tidak ramah mesin bukan senior bagi saya. Mereka hanya melakukan pekerjaan itu, tetapi itu saja.