Di dunia yang ideal:
Dalam sebuah artikel yang luar biasa, Jangan Menelepon Diri Anda Programmer, Dan Nasihat Karir Lainnya , Patrick McKenzie menjelaskan, antara lain, bahwa bahasa tidak masalah:
Pengembang adalah orang yang memecahkan masalah, secara umum. Pengembang bukan orang yang menulis kode dalam bahasa tertentu.
Bisnis tidak peduli dengan bahasa yang Anda tahu. Jika mereka perlu menyewa pengembang untuk proyek yang ditulis dalam bahasa tertentu, dan mereka memiliki kandidat yang sangat berpengalaman tetapi tidak pernah menulis garis kode dalam bahasa ini, ia masih akan dipekerjakan.
Menurut pengalaman saya baik sebagai pengembang maupun sebagai orang yang harus merekrut pengembang lain, pengamatannya sangat mirip:
Pengalaman N tahun di Jawa atau pengalaman N tahun di C # tidak masalah. Yang penting adalah bahwa kandidat tahu bagaimana menyelesaikan masalah, tahu perbedaan antara kode spaghetti dan kode bersih dengan arsitektur yang dipikirkan dengan matang, dll.
Saya tidak peduli dengan bahasa yang Anda gunakan sebelumnya. Untuk proyek C #, saya lebih suka menyewa pengembang profesional yang menghabiskan hidupnya menulis kode Java, Python dan Ruby on Rails daripada seorang pemula yang hanya tahu C #, dan sangat mengetahuinya.
Pengetahuan dan pengalaman yang Anda peroleh menggunakan satu bahasa sebagian besar dapat digunakan kembali dalam bahasa lain.
Pengembang berpengalaman yang menggunakan Ruby on Rails untuk pengembangan web dan menghabiskan sisa karirnya menulis aplikasi Java desktop menggunakan Oracle sangat cocok untuk proyek ASP.NET MVC menggunakan Microsoft SQL Server. Karena orang ini sudah mengetahui semua yang dia butuhkan untuk pekerjaan ini , selain beberapa hal khusus dan perbedaan sintaksis.
Di sisi lain, seseorang yang hanya melakukan beberapa situs web kecil ASP.NET MVC tidak cocok sama sekali, karena dia mungkin tidak sepenuhnya memahami arsitektur MVC, mungkin tahu tahu apa itu profil SQL, dan mungkin kekurangan beberapa hal penting lainnya. pengetahuan.
Jangan bilang bahwa saya tidak dapat memperbaiki masalah kecil dengan situs web PHP yang menggunakan CodeIgniter hanya karena saya tidak pernah menggunakan CodeIgniter sebelumnya.
Dalam praktek:
Dalam praktiknya, ketika saya mencari pekerjaan lepas dan ketika saya melihat penawaran pekerjaan secara umum, mereka sangat spesifik dalam bahasa.
Beberapa akan mencari pengembang PHP dengan pengalaman dua tahun di Magento. Orang lain akan mencari seseorang dengan pengalaman VB.NET setidaknya tiga tahun, dan jika Anda mengirim mereka resume yang menyebutkan bahwa Anda telah melakukan pengembangan C # selama enam tahun, tetapi tanpa menyebutkan VB.NET, mereka tidak akan repot-repot untuk menjawab. Jika mereka meminta orang yang berpengalaman dengan Firebird, mereka tidak akan mendengarkan pengalaman sepuluh tahun Anda dengan Oracle.
Mengapa ada perbedaan antara teori dan apa yang saya dan Patrick McKenzie gambarkan sebagai akal sehat, dan dunia nyata dari tawaran pekerjaan?
<rant>...</rant>
. Serius, apakah ada pertanyaan nyata di sini?
Don't tell me that I'm unable to fix a small problem with a PHP website which uses CodeIgniter just because I never used CodeIgniter before.
Meskipun Anda benar-benar mampu memperbaiki masalah, jika akar penyebabnya adalah CodeIgniter (salah satu dari beberapa quirks kerangka kerja, atau salah satu dari banyak bug terbuka), maka itu akan membawa Anda lebih banyak waktu untuk memperbaiki masalah.