Các kỹ năng cần thiết cho một công việc Linux tốt [đã đóng]


14

Tôi đang làm việc như một kỹ sư CNTT trong một công ty có uy tín ở Ấn Độ. Vấn đề là mặc dù tôi đã nói rằng tôi sẽ được giao công việc trên Linux, nhưng tôi được tạo ra để làm việc trên Java và Windows. Tôi không thoải mái với Java và ghét Windows.

Tôi đã bắt đầu tự học Python nhưng thật khó để cho nó có nhiều thời gian do công việc đang diễn ra. Thành thật mà nói, tôi không phải là một chuyên gia mã hóa. Tôi đã cố gắng rất nhiều để phát triển nhân Linux trong những ngày học đại học nhưng nhận ra rằng tôi không phải là một lập trình viên giỏi. Vì vậy, tôi quyết định làm RHCE và quản lý máy chủ.

Điều tôi muốn biết là bộ kỹ năng nào được yêu cầu để có được một công việc trong các dự án Linux. Vào tháng 8 năm 2011, tôi dự định nghỉ việc nếu công ty này không cho tôi một dự án Linux tốt. Những kỹ năng nào tôi sẽ có được để có được một công việc Linux tốt. Một điều mà tôi đã quyết định làm trong thời gian nghỉ đó là theo đuổi RHCE. Sau khi đọc đầu tiên trong bộ ba cuốn sách khóa học của RHCE, tôi tự tin rằng mình có thể lướt qua nó.

Đầu vào từ các chuyên gia trên trang web này là vô giá. Sở thích kỹ thuật của tôi hiện tại là - Lập trình Python, lập trình C / C ++, Quản lý máy chủ Linux và Điện toán đám mây. Nhưng bằng đại học mà tôi có không có nghĩa là đủ để vào một công ty tốt. Kiến thức thực tế tôi có không phải là một chuyên gia. Và kinh nghiệm công việc tôi có chỉ đơn giản là thảm hại.

Tái bút - Tôi vô cùng thất vọng trong công việc hiện tại. Mặc dù tôi nghĩ rằng hầu như không cần phải đề cập đến nó.

Câu trả lời:


12

Điều này đã được đề xuất nhiều lần trước đây trong bối cảnh này, nhưng ... Tôi khuyên bạn nên có một số kinh nghiệm trong một dự án phần mềm miễn phí. Điều này có vẻ tốt trong hồ sơ của bạn, là kinh nghiệm quý báu khi làm việc với những người tốt và rất hữu ích cho các liên hệ. Mọi người thường xuyên có được việc làm thông qua các dự án phần mềm miễn phí. Ấn tượng của tôi (có thể không chính xác) cũng là người Ấn Độ không thường xuyên tham gia vào các dự án phần mềm miễn phí và nếu đúng, điều đó sẽ giúp bạn nổi bật.

Bạn nói rằng bạn quan tâm đến Python. Có rất nhiều dự án phần mềm miễn phí liên quan đến Python, với nhiều cấp độ khác nhau để gia nhập. Một điều mà tôi quen thuộc là Mercurial, nơi rào cản gia nhập không quá cao, cộng đồng thân thiện, lập trình viên tài năng và có cơ hội tham gia. Và mọi người đều sử dụng kiểm soát phiên bản. Bạn có thể chọn một số lỗi nhỏ và / hoặc tính năng wishlist và làm việc với nó.

Các dự án khác ngoài đỉnh đầu của tôi là Django, Pylons, SQLAlchemy, mặc dù tôi nghĩ Mercurial tốt hoặc tốt hơn bất kỳ dự án nào trong số này từ POV về cơ hội tham gia. Một khả năng khác là công việc phân phối cộng đồng Linux, vd. với Debian, nó cũng sẽ cho bạn cơ hội làm việc với những người tài năng. Cũng tốt cho việc tạo danh bạ, v.v. Ngoài ra, nếu bạn quan tâm đến C ++, các dự án apt và aptitude trong Debian rất quan trọng và không bị ảnh hưởng nghiêm trọng. Nói chung, hầu hết các dự án phần mềm miễn phí không có đủ nhân lực, đặc biệt là các dự án nhỏ hơn và mong muốn được hỗ trợ.


8

Bạn có một số con đường cung cấp các cơ hội công việc khác nhau

  • công cụ dựa trên web
  • dự án bản địa
  • phát triển đa nền tảng
  • chuyển sang Linux

Nói chung, hãy chuẩn bị để sử dụng các Unix khác cùng với Linux (mặc dù Linux hiện đang hoàn toàn thống trị).

Dựa trên web

Khá nhiều thứ dựa trên web không sử dụng .NET là Linux (hoặc đa nền tảng). Bạn có thể tập trung vào bất kỳ ngôn ngữ nào được sử dụng rộng rãi: PHP, Python, Perl, Ruby

Dự án bản địa

Đây chủ yếu là các công việc tính toán mã nguồn mở hoặc hiệu năng cao.

Ở châu Âu, việc thuê một lập trình viên toàn thời gian để sửa đổi một dự án nguồn mở (và cung cấp hỗ trợ) là điều phổ biến thay vì trả phí cấp phép điên rồ cho sản phẩm thương mại dù sao cũng không phù hợp.

Hiện tại, khu vực hiệu năng cao là loại Linux, do đó, các công việc trong lĩnh vực này rất có thể sẽ dẫn đến Linux.

Khu vực này rất nặng C, với một chút C ++ và rất nhiều Java.

Phát triển đa nền tảng

Loại diện tích lẻ. Có một số công ty cung cấp phần mềm đa nền tảng, một số có các nhóm đặc biệt cho các nền tảng cụ thể, một số có các nhóm đa nền tảng.

Nhưng nhiều công ty chỉ đơn giản sử dụng Java (không phải nó giúp nhiều).

Chuyển sang Linux

Những công việc này bật lên theo thời gian. Một số công ty nhìn thấy một thị trường mở và quyết định mở rộng. Cá nhân tôi sẽ chạy trốn khỏi những công việc như vậy.


+1 cho một nhận xét thú vị. quan tâm để mở rộng về những gì là xấu về công việc porting?
Faheem Mitha

1
@Faheem Vâng, các công việc porting thường có nghĩa là bạn kết thúc với một cơ sở mã khủng khiếp với đầy đủ các phần mở rộng không chuẩn và các vi phạm tiêu chuẩn (dường như chỉ hoạt động do một số phép lạ của MSVC). Thông thường các phần của mã sẽ được viết bởi những người từ công ty lâu năm và có đầy đủ các lỗi khác nhau sẽ xuất hiện trong quá trình chuyển. Điều này cũng có thể xảy ra ở các khu vực khác, nhưng nó không phổ biến (các dự án nguồn mở có xu hướng có cơ sở mã khá khủng khiếp, nhưng không có nhiều dự án lớn có lịch sử lâu dài và cộng đồng các nhà phát triển vừa và nhỏ).
Let_Me_Be

Tôi hiểu rồi. bạn chủ yếu đề cập đến các cơ sở mã nội bộ / độc quyền ở trên? MSVC có nghĩa là các cơ sở mã C ++ được viết bằng Visual C ++ và sau đó họ muốn chuyển nó sang gcc?
Faheem Mitha

@Faheem C và C ++ chịu đựng nhiều nhất, các ngôn ngữ theo kịch bản ít nhất. Vấn đề chính là trong khi chuyển bạn sẽ chạm vào mã hoạt động "ở đây và bây giờ" và thường phát hiện ra các lỗi trong mã đó.
Let_Me_Be

4

Một dự án có số lượng lập trình viên làm việc được trả lương rất cao là Gnome. Nếu bạn đến đó và làm công việc tuyệt vời, rất có thể bạn sẽ được ai đó tiếp cận. Lớn nhất trong số này có thể là Red Hat (Fedora) và những thứ khác tôi từng thấy bao gồm Canonical (Ubuntu), Novell (SuSE), một loạt các công ty mới khởi nghiệp hoặc thậm chí là nền tảng Gnome. Ồ, và có một số lượng lớn việc sử dụng Python trong dự án và số lượng LỘC có lẽ chỉ đứng sau C.

Các hành tinh của dự án là bình thường nơi các 'công ty GNOME' báo cáo việc làm của họ. Có một cái nhìn.


1

Tôi được tạo ra để làm việc trên Java và Windows.

Tin tốt, có vẻ như bạn đang viết / làm việc với mã ít nhất.

Nếu tôi ở trong đôi giày của bạn, tôi nghĩ rằng tôi sẽ có một cách tiếp cận thực tế và tìm hiểu cách chuyển ứng dụng Java đó sang Linux (khi ông chủ không tìm kiếm).

Đó là một bài tập tốt để làm cho một ứng dụng di động.

Tôi không thoải mái với Java

Đừng, trong thế giới Linux, bạn sử dụng ngôn ngữ tốt nhất cho nhiệm vụ. (Ngôn ngữ miễn phí tốt nhất ít nhất).

Do đó, bạn cần đảm bảo rằng bạn cảm thấy thoải mái với Java, C ++ / Qt, C, python, php, perl, v.v.


Cảm ơn. Chà, viết toàn bộ hồ sơ công việc của tôi là phi logic nên tôi chưa đề cập đến nó đầy đủ. đây. Nhưng sẽ giữ dòng trả lời cuối cùng của bạn trong tâm trí.
Dharmit
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.