2009-05-06 24 views
5

Giả sử tôi tìm thấy một nhà phát triển Windows với hơn 10 năm kinh nghiệm, các kỹ năng tuyệt vời trong C/C++ và các tài liệu tham khảo tuyệt vời như một coder linh hoạt, những người gets things done. Tôi có thể thuê anh ta để phát triển trên nền tảng Linux và hy vọng anh ta có hiệu quả trong sản xuất trong vòng một vài tuần? Hoặc là ngưỡng quá cao khi nói về môi trường phát triển và tất cả các công cụ phổ biến được sử dụng trong công việc hàng ngày? Những trở ngại chính cho người này là gì? Lưu ý, đây là một câu hỏi chung, nơi tôi về cơ bản giả định môi trường Windows và Linux điển hình (Visual Studio so với Eclipse hoặc EMACS, Thêm/Loại bỏ chương trình so với apt-get, trình hướng dẫn hộp thoại so với dòng lệnh, v.v.)Các chuyên gia Windows có thể làm việc hiệu quả trên nền tảng phát triển Linux không?

+2

Tôi chưa bỏ phiếu để đóng (nhưng) chủ quan, không phải là một câu hỏi thực tế, để đặt tên nhưng hai. Nếu bạn làm cho nó CW nó có thể ở lại mở. –

+0

Có gì khó khăn khi nhắc nhở về những điều như vậy trong trường nhận xét? (Đừng bận tâm, đó là một câu hỏi retorical). – sharkin

+1

Điều gì là khó khăn như vậy về việc nhớ đặt câu hỏi mà không có câu trả lời rõ ràng, chẳng hạn như các cuộc thăm dò ý kiến ​​như thế này, cộng đồng wiki? –

Trả lời

5

Nó thực sự phụ thuộc vào rất nhiều yếu tố.

Nhà phát triển thực sự giỏi sẽ có thể tìm hiểu mọi thứ họ cần biết khá nhanh. Ngôn ngữ chính là như nhau.

Tuy nhiên, tùy thuộc vào những gì bạn đang phát triển trên Linux, có thể có một số đường cong học tập chính cần khắc phục.

Một vài ví dụ:

  • Toàn bộ API hệ điều hành khác nhau.
  • Nếu bạn đang sử dụng bất kỳ thư viện lớn nào, sẽ có đường cong học tập đến thư viện.
  • Nếu bạn đang sử dụng nhiều hệ thống xây dựng unix truyền thống, sẽ có thể là một đường cong học tập để sử dụng chúng so với cách "Windows" bình thường làm việc trong IDE như Visual Studio.

Tôi nghĩ rằng mong muốn có một nhà phát triển hoàn hảo. trong 2 tuần có lẽ là một chút tham vọng - nhưng nếu chúng tốt, chúng sẽ có hiệu quả nhanh chóng.

4

Tôi đã cố gắng chuyển sang Linux/Unix nhiều lần. Tôi về cơ bản có thể tìm đường của tôi xung quanh hộp và làm phát triển [nếu tôi đã có Mono]. Bây giờ, tôi có thể có hiệu quả như nhau về các yêu cầu cơ bản của người dùng trên bất kỳ hộp nào trong một khoảng thời gian ngắn, nhưng nếu bạn mong đợi tôi có thể tìm ra tất cả cài đặt, cấu hình và tất cả các thứ khác đi kèm bảo trì hệ thống trong một khoảng thời gian ngắn, tôi dám nói rằng tôi sẽ kéo hết tóc ra trước khi hai tuần trôi qua. Luôn luôn, một người nào đó sẽ yêu cầu tôi làm điều gì đó mà tôi không có ý định làm trong Linux/Unix và sẽ kết thúc trở lại Windows vì tôi có thể dễ dàng làm điều đó trong một thời gian ngắn.

Tôi muốn nói nếu họ có người khác đặt câu hỏi, chắc chắn, đó là một miếng bánh. Nếu bạn mong đợi họ đánh vào mặt đất đang chạy như một người tự khởi động, thì đó là nghi ngờ.

+3

Điều này rất quan trọng. Một dev tốt sẽ có thể sản xuất mã, tuy nhiên các khía cạnh sysadmin của env sẽ là một yếu tố làm chậm ban đầu. –

+0

@Preet ngoài ra, các khía cạnh sysadmin thường đến một phần và bưu kiện phát triển quá. IIS đến Apache; SQL Server sang MySQL; Cấu hình ASP.NET để cấu hình PHP; Visual Studio để Vi/Vim/Emacs/Dù. Vì vậy, bạn phải về cơ bản học lại hầu hết các bộ công cụ của bạn quá, mà không giúp đỡ mọi thứ. – BenAlabaster

+0

Mã hóa được mã hóa, điều đó tương tự trên các nền tảng, nó bị cản trở bởi sự khác biệt nền tảng vô cùng để bắt đầu. – BenAlabaster

3

Nhà phát triển tuyệt vời sẽ tuyệt vời trên mọi nền tảng. Có thể mất một thời gian ngắn, nhưng nếu anh ta là "sắp xếp mọi thứ", anh ta có thể bắt kịp tốc độ và đóng góp tích cực cho dự án.

5

Tôi đã chính xác như một nhà phát triển cách đây không lâu (nhưng tôi đã có một số cách trải nghiệm * nix).

Đối với cá nhân tôi, tôi thấy quá trình chuyển đổi ban đầu rất dễ dàng. Có đầy đủ các công cụ cho tất cả mọi thứ bạn cần làm để ít nhất có được mã hóa. Giai đoạn thứ hai là rất khó khăn - tìm chính xác các công cụ phải cho những gì tôi đang làm và cách sử dụng các công cụ đó. Tôi đã bị rơi vào dự án cụ thể này một mình, vì vậy tôi không có ai ngoài Google hỏi, và phải mất một thời gian dài để học các phím tắt và không có gì mới của các IDE và các trình biên dịch trình biên dịch.

Tôi cảm thấy, vào thời điểm đó, rằng nếu tôi có ai đó để đặt câu hỏi, toàn bộ điều đó sẽ tốn ít thời gian hơn nhiều.

Vì vậy, câu trả lời dài ngắn: Tôi nghĩ bất kỳ lập trình viên giỏi nào cũng sẽ không gặp khó khăn với công cụ dễ dàng, nhưng hãy đảm bảo rằng nhà phát triển mới được thông báo thường xuyên và thân thiện với mọi người.

1

Vâng, nếu anh ấy thực sự là một guru, tôi sẽ nói có. Nhiều nghiên cứu cho thấy rằng một lập trình viên giỏi tạo ra nhiều hơn gấp 10 lần công việc hữu ích trong một ngày với tư cách là một lập trình viên trung bình. Một guru thực sự có thể tạo ra gấp 100 lần.

Vì vậy, được lựa chọn giữa một guru WIndows và một anh chàng Linux trung bình, tôi sẽ ttake guru bất cứ ngày nào.

2

Tôi nghĩ có, nhưng bạn có thể cần phải kiên nhẫn trong thời gian dài hơn. Một ý tưởng: cho anh ta một hộp Windows với một máy ảo Linux chạy bên trong (hoặc ngược lại), vì vậy nếu anh ta chạy vào một cái gì đó anh ta không thể làm một cách nhanh chóng trong Linux, anh ta có thể chuyển sang Windows cho nhiệm vụ cụ thể đó cho đến khi anh ta trở thành thành thạo hơn về phía Linux. Điều này có thể giảm thiểu một số "sự lo lắng về tách" một số người dùng windows có khi chuyển sang Linux. Hãy nghĩ về nó như là "Linux với bánh xe đào tạo."

Người lập trình giỏi là người lập trình giỏi và khó tìm. Bạn có thể làm cho nó hoạt động nếu bạn muốn.

1

Tại sao bạn không thể thuê một chuyên gia Linux thay thế?

Điều đó thật buồn cười có bao nhiêu người đã tuyên bố "Có chắc chắn anh ấy có thể".

Tại sao không ai hỏi liệu anh ấy có muốn không?

+2

Nếu anh ta không muốn, anh ta sẽ không áp dụng cho công việc, hoặc anh ta sẽ từ chối lời đề nghị. – mjfgates

+1

Tôi sẽ rất may mắn khi tìm được rất nhiều kinh nghiệm, tôi nghĩ, và câu hỏi này là nếu tôi có thể sử dụng "guruism" bất kể trải nghiệm liên quan đến máy trạm. – sharkin

+0

Tôi đã luôn luôn nghĩ rằng rất kinh nghiệm không áp dụng cho một công việc, họ đang khá bị săn đuổi bởi các nhà tuyển dụng. Vì vậy, câu hỏi liệu anh ấy muốn nó đứng. – User

1

Không có nghi ngờ rằng Windows guru (nếu đó là sự thật) có thể xử lý các công cụ Linux. Điều duy nhất bạn nên tự hỏi là bạn dành bao nhiêu thời gian cho dự án, vì bạn không thể mong đợi một người nào đó không bao giờ phát triển trong Linux nhanh như người khác làm điều đó trong một thời gian.

Nếu bạn có thể đủ khả năng để cho người đàn ông có thời gian để có một lập trường chạy, bạn nên cho anh ta một đi.

0

Nếu tôi có thể nhớ lại thời đại đồ đồng, khi tôi học lập trình trên Unix, kỹ thuật tôi đã sử dụng là học những thứ gần nhất với từng người một. Tôi đã không học vi cho đến khi tôi đã được hợp lý thoải mái với C. Sau đó, tôi đã học được thực hiện, và sau đó nghiên cứu API Unix. Cuối cùng, nó đã đến mức mà tôi chỉ đang học những gì tôi cần biết khi tôi cần biết, nhưng phải mất hàng tháng trời.

Ít nhất anh chàng bạn đang nói về là thành thạo trong C và C++. Nhận anh ta một IDE nửa chừng nếu anh ta không muốn giải quyết vi hoặc Emacs và thực hiện. Câu hỏi lớn sau đó là các API được sử dụng; họ có thể mất chút thời gian để tiếp thu. Và chắc chắn rằng bạn đã có ai đó trả lời các câu hỏi nhỏ đơn giản và làm một số điều nhỏ hơn nhưng có khả năng gây nhầm lẫn trong một thời gian.

1

Tôi nghĩ điều đó phụ thuộc. Nếu bạn lấy đi Visual Studio của một người đàn ông, bạn đang giảm một nửa năng suất của mình ngay tại đó. Nếu bạn đang làm tất cả mọi thứ trong emacs với trình biên dịch dòng lệnh, bạn có thể chỉ cần cắt giảm một nửa năng suất của mình. Bây giờ, một số điều này sẽ leo lên theo thời gian khi ông trở nên quen thuộc hơn, nhưng bạn có thể đặt cược khá nhiều rằng guru này sẽ không bao giờ làm việc hiệu quả trên Linux mà không có IDE.

+1

Tôi gọi shenanigans về điều này. Không "guru" dựa trên một IDE cho 3/4 năng suất của mình. –

Các vấn đề liên quan