Keterampilan yang dibutuhkan untuk pekerjaan Linux yang baik [ditutup]

14

Saya bekerja sebagai Insinyur TI di sebuah perusahaan terkenal di India. Masalahnya adalah meskipun saya diberi tahu bahwa saya akan diberikan pekerjaan di Linux, saya diminta untuk melakukan pekerjaan di Jawa dan Windows. Saya tidak nyaman dengan Java dan membenci Windows.

Saya sudah mulai belajar Python sendiri tetapi sulit untuk memberinya waktu yang cukup karena pekerjaan yang sedang berlangsung. Terus terang, saya bukan ahli kode. Saya mencoba banyak untuk masuk ke pengembangan kernel Linux selama masa kuliah saya, tetapi menyadari bahwa saya bukan seorang programmer yang baik. Jadi saya memutuskan untuk melakukan RHCE dan pergi untuk manajemen server.

Yang ingin saya ketahui adalah bahwa set keterampilan apa yang diperlukan untuk mendapatkan pekerjaan di proyek Linux. Pada bulan Agustus 2011, saya berencana untuk istirahat dari pekerjaan jika perusahaan ini tidak memberi saya proyek Linux yang baik. Keterampilan apa yang harus saya peroleh untuk mendapatkan pekerjaan Linux yang baik. Satu hal yang saya putuskan untuk lakukan selama istirahat itu adalah mengejar RHCE. Setelah membaca pertama dari set tiga buku kursus RHCE, saya yakin bahwa saya dapat melewatinya.

Masukan dari para ahli di situs ini sangat berharga. Minat teknis saya saat ini adalah - Pemrograman Python, pemrograman C / C ++, Manajemen Server Linux dan Cloud Computing. Tetapi gelar sarjana yang saya miliki tidak berarti cukup untuk masuk ke perusahaan yang baik. Pengetahuan praktis yang saya miliki bukan dari tingkat ahli. Dan pengalaman kerja yang saya miliki cukup menyedihkan.

PS - Saya sangat frustrasi dalam pekerjaan saya saat ini. Meskipun saya pikir hampir tidak perlu menyebutkannya.

Dharmit Shah
sumber

Jawaban:

12

Ini telah disarankan beberapa kali sebelumnya dalam konteks ini, tetapi ... Saya sarankan mendapatkan pengalaman dalam proyek perangkat lunak bebas. Ini terlihat bagus di resume Anda, pengalaman berharga yang bekerja dengan orang-orang baik, dan berguna untuk kontak. Orang secara teratur mendapatkan pekerjaan melalui proyek perangkat lunak gratis. Kesan saya (yang mungkin salah) juga bahwa tidak umum bagi orang India untuk melibatkan diri dalam proyek perangkat lunak bebas, dan jika benar, itu akan membantu Anda menonjol.

Anda mengatakan Anda tertarik pada Python. Ada banyak proyek perangkat lunak gratis yang melibatkan Python, dengan berbagai tingkat penghalang untuk masuk. Salah satu yang saya kenal adalah Mercurial, di mana hambatan masuknya tidak terlalu tinggi, komunitasnya ramah, programmernya berbakat, dan ada peluang untuk berpartisipasi. Dan semua orang menggunakan kontrol versi. Anda bisa mengambil beberapa bug berukuran kecil dan / atau fitur wishlist dan mengatasinya.

Proyek lain di luar kepala saya adalah Django, Pylons, SQLAlchemy, meskipun saya pikir Mercurial sama baiknya atau lebih baik daripada semua ini dari POV peluang untuk berpartisipasi. Kemungkinan lain adalah pekerjaan distribusi komunitas Linux, mis. dengan Debian, yang juga akan memberi Anda kesempatan bekerja dengan orang-orang berbakat. Juga baik untuk membuat kontak dll. Juga, jika Anda tertarik pada C ++, proyek apt dan aptitude di Debian adalah penting dan sangat tidak permanen. Secara umum, sebagian besar proyek perangkat lunak gratis tidak memiliki tenaga kerja yang cukup, terutama yang lebih kecil, dan ingin sekali mendapatkan bantuan.

tidak diketahui
sumber
8

Anda memiliki beberapa jalur yang menawarkan peluang kerja yang berbeda

  • hal-hal berbasis web
  • proyek asli
  • pengembangan lintas platform
  • porting ke Linux

Secara umum bersiaplah untuk menggunakan Unix lain bersama dengan Linux (meskipun Linux benar-benar mendominasi sekarang).

Berbasis web

Hampir semua berbasis web yang tidak menggunakan .NET adalah hal-hal Linux (atau lintas-platform). Anda dapat berkonsentrasi pada salah satu bahasa yang banyak digunakan: PHP, Python, Perl, Ruby

Proyek asli

Ini sebagian besar pekerjaan open source atau komputasi kinerja tinggi.

Di Eropa agak umum untuk menyewa seorang programmer penuh waktu untuk memodifikasi proyek open-source (dan memberikan dukungan) alih-alih membayar biaya lisensi gila untuk produk komersial yang tidak cocok.

Area berkinerja tinggi adalah semacam Linux saja sekarang, oleh karena itu pekerjaan di daerah ini kemungkinan besar akan mengarah ke Linux.

Daerah ini sangat C berat, dengan sedikit C ++ dan banyak Jawa.

Pengembangan lintas platform

Agak aneh. Ada beberapa perusahaan yang menyediakan perangkat lunak lintas platform, beberapa memiliki tim khusus untuk platform tertentu, beberapa memiliki tim lintas platform.

Tetapi banyak perusahaan hanya menggunakan Java (tidak banyak membantu).

Porting ke Linux

Pekerjaan-pekerjaan ini muncul dari waktu ke waktu. Beberapa perusahaan melihat pasar terbuka dan memutuskan untuk melakukan ekspansi. Saya pribadi akan lari dari pekerjaan seperti itu.

Let_Me_Be
sumber
+1 untuk komentar yang menarik. peduli untuk memperluas apa yang begitu buruk tentang pekerjaan porting?
Faheem Mitha
1
@Faheem Nah, pekerjaan porting biasanya berarti Anda berakhir dengan basis kode yang mengerikan yang penuh dengan ekstensi non-standar, dan pelanggaran standar (yang sepertinya berfungsi karena beberapa keajaiban MSVC). Biasanya bagian dari kode akan ditulis oleh orang-orang yang sudah lama hilang dari perusahaan dan penuh dengan berbagai bug yang akan muncul selama porting. Ini dapat terjadi di area lain juga, tetapi itu tidak umum (proyek open-source cenderung memiliki basis kode yang cukup mengerikan, tetapi tidak ada banyak proyek besar dengan sejarah panjang dan komunitas pengembang kecil hingga menengah).
Let_Me_Be
Saya melihat. Anda sebagian besar mengacu pada basis kode internal / eksklusif di atas? MSVC berarti basis kode C ++ ditulis dalam Visual C ++ dan kemudian mereka ingin port ke gcc?
Faheem Mitha
@Faheem C dan C ++ paling menderita, paling sedikit bahasa yang ditulis. Masalah utama adalah bahwa ketika porting Anda akan menyentuh kode yang berfungsi "di sini dan sekarang" dan biasanya menemukan bug dalam kode tersebut.
Let_Me_Be
4

Salah satu proyek yang memiliki jumlah coders sangat tinggi yang melakukan pekerjaan berbayar adalah GNOME. Jika Anda pergi ke sana dan melakukan pekerjaan luar biasa, kemungkinan besar Anda akan didekati oleh seseorang. Yang terbesar di antaranya kemungkinan Red Hat (Fedora), dan yang lainnya yang pernah saya lihat termasuk Canonical (Ubuntu), Novell (SuSE), sekelompok perusahaan baru, atau bahkan yayasan GNOME. Oh, dan ada banyak sekali penggunaan Python dalam proyek ini, dan jumlah LOC mungkin yang kedua setelah C.

The planet proyek biasanya di mana ini 'GNOME perusahaan' melaporkan perbuatan mereka. Silahkan lihat.

Tshepang
sumber
1

Saya dibuat untuk melakukan pekerjaan di Jawa dan Windows.

Kabar baik, sepertinya Anda menulis / bekerja dengan kode setidaknya.

Jika saya berada di posisi Anda, saya pikir saya akan mengambil pendekatan pragmatis, dan belajar cara port aplikasi Java ke Linux (ketika bos tidak melihat).

Ini latihan yang bagus untuk membuat aplikasi portabel.

Saya tidak nyaman dengan Java

Jangan, di dunia Linux Anda menggunakan bahasa terbaik untuk tugas itu. (Setidaknya bahasa gratis terbaik).

Karena itu Anda perlu memastikan bahwa Anda merasa nyaman dengan Java, C ++ / Qt, C, python, php, perl, dll.

Johan
sumber
Terima kasih. Ya, menulis seluruh profil kerja saya tidak masuk akal, jadi saya belum menyebutkannya secara lengkap. sini. Tetapi ingatlah kalimat terakhir balasan Anda.
Dharmit