Trong một thế giới lý tưởng:
Trong một bài viết xuất sắc Đừng gọi mình là lập trình viên, và lời khuyên nghề nghiệp khác , Patrick McKenzie giải thích, trong số những điều khác, ngôn ngữ đó không thành vấn đề:
Một nhà phát triển là một người giải quyết vấn đề, nói chung. Một nhà phát triển không phải là người viết mã bằng một ngôn ngữ cụ thể.
Các doanh nghiệp không quan tâm đến các ngôn ngữ bạn biết. Nếu họ cần thuê một nhà phát triển cho một dự án được viết bằng một ngôn ngữ cụ thể và họ có một ứng viên có kinh nghiệm cao nhưng không bao giờ viết một dòng mã bằng ngôn ngữ này, anh ta vẫn sẽ được thuê.
Theo kinh nghiệm của tôi cả với tư cách là một nhà phát triển và một người phải thuê các nhà phát triển khác, việc quan sát rất giống nhau:
Kinh nghiệm N năm về Java hoặc N năm kinh nghiệm trong C # không thành vấn đề. Vấn đề là ứng viên biết cách giải quyết vấn đề, biết sự khác biệt giữa mã spaghetti và mã sạch với kiến trúc được suy nghĩ kỹ, v.v.
Tôi không quan tâm đến các ngôn ngữ bạn đã sử dụng trước đây. Đối với một dự án C #, tôi sẽ thuê một nhà phát triển chuyên nghiệp dành cả đời để viết mã Java, Python và Ruby trên Rails chứ không phải là người mới bắt đầu chỉ biết C # và biết nó rất tệ.
Kiến thức và kinh nghiệm bạn có được khi sử dụng một ngôn ngữ hầu hết có thể sử dụng lại trong bất kỳ ngôn ngữ nào khác.
Một nhà phát triển có kinh nghiệm đã sử dụng Ruby on Rails để phát triển web và dành phần còn lại của sự nghiệp để viết các ứng dụng máy tính để bàn Java bằng cách sử dụng Oracle hoàn toàn phù hợp cho một dự án ASP.NET MVC sử dụng Microsoft SQL Server. Bởi vì người này đã biết tất cả mọi thứ cô ấy cần cho công việc này , bỏ qua một vài điều cụ thể và sự khác biệt cú pháp.
Mặt khác, một người chỉ thực hiện một vài trang web nhỏ ASP.NET MVC hoàn toàn không phù hợp, bởi vì cô ấy có thể không hoàn toàn hiểu kiến trúc MVC, có thể biết hồ sơ SQL là gì và có thể thiếu một số thiết yếu khác hiểu biết.
Đừng nói với tôi rằng tôi không thể khắc phục một sự cố nhỏ với trang web PHP sử dụng CodeIgniter chỉ vì tôi chưa bao giờ sử dụng CodeIgniter trước đây.
Trong thực tế:
Trong thực tế, khi tôi tìm kiếm các công việc tự do và khi tôi thấy các dịch vụ công việc nói chung, chúng rất cụ thể về ngôn ngữ.
Một số người sẽ tìm kiếm một nhà phát triển PHP có hai năm kinh nghiệm trong Magento. Những người khác sẽ tìm kiếm một người có kinh nghiệm VB.NET ít nhất ba năm và nếu bạn gửi cho họ một bản lý lịch đề cập rằng bạn đã thực hiện phát triển C # trong sáu năm, nhưng không đề cập đến VB.NET, họ sẽ không bận tâm để trả lời. Nếu họ yêu cầu một người có kinh nghiệm với Firebird, họ sẽ không lắng nghe về kinh nghiệm mười năm của bạn với Oracle.
Tại sao có sự khác biệt như vậy giữa lý thuyết và những gì Patrick McKenzie và tôi mô tả là lẽ thường, và thế giới thực của dịch vụ việc làm?
<rant>...</rant>
. Nghiêm túc mà nói, có một câu hỏi thực sự ở đây?
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.
Mặc dù bạn hoàn toàn có khả năng khắc phục sự cố, nhưng nguyên nhân gốc là CodeIgniter (một trong số ít các vấn đề của khung, hoặc một trong nhiều lỗi mở của nó), thì bạn sẽ mất nhiều thời gian hơn để khắc phục sự cố.