İyi bir Linux işi için gerekli beceriler [kapalı]


14

Hindistan'da tanınmış bir şirkette BT Mühendisi olarak çalışıyorum. Sorun şu ki, bana Linux üzerinde çalışmam söylense de, Java ve Windows üzerinde çalışmam gerekiyor. Java ve Windows'dan nefret ediyorum.

Python'u kendim öğrenmeye başladım, ancak devam eden iş nedeniyle ona bol zaman vermek zor. Açıkçası ben uzman bir kodlayıcı değilim. Üniversite günlerim boyunca Linux çekirdek gelişimine girmek için çok uğraştım ama o kadar iyi bir kodlayıcı olmadığımı fark ettim. Bu yüzden RHCE yapmaya ve sunucu yönetimine gitmeye karar verdim.

Bilmek istediğim şey Linux projelerinde iş bulmak için hangi beceri setinin gerekli olduğudur. Ağustos 2011'de, bu şirket bana iyi bir Linux projesi vermezse işten ara vermeyi planlıyorum. İyi bir Linux işi elde etmek için hangi becerileri kazanmalıyım? Bu mola sırasında yapmaya karar verdiğim şeylerden biri RHCE'yi takip etmektir. Üç RHCE ders kitabı kümesinin ilkini okuduktan sonra, kitaptan geçebileceğime eminim.

Bu sitedeki uzmanların girdileri son derece paha biçilmezdir. Şu anda teknik ilgi alanlarım: Python Programlama, C / C ++ programlama, Linux Sunucu Yönetimi ve Bulut Bilişim. Ama sahip olduğum üniversite derecesi hiçbir şekilde iyi bir şirkete girmek için yeterli değil. Sahip olduğum pratik bilgi uzmanlık düzeyinde değildir. Ve sahip olduğum iş deneyimi basitçe acınası.

PS - Mevcut işimde çok sinirliyim. Bence bundan bahsetmek için neredeyse hiç gerek yok.

Yanıtlar:


12

Bu, bu bağlamda daha önce defalarca önerilmişti, ama ... Özgür bir yazılım projesinde deneyim kazanmanızı öneririm. Bu özgeçmişinizde iyi görünüyor, iyi insanlarla çalışmak değerli bir deneyimdir ve temaslar için yararlıdır. İnsanlar düzenli olarak özgür yazılım projeleri ile iş bulurlar. Benim izlenimim (ki bu yanlış olabilir), Hintlilerin kendilerini özgür yazılım projelerine dahil etmelerinin yaygın olmadığı ve eğer doğruysa, bu öne çıkmanıza yardımcı olacaktır.

Python ile ilgilendiğinizi söylüyorsunuz. Python'u içeren, girişe çeşitli engeller içeren birçok ücretsiz yazılım projesi var. Birlikte olduğum biri, giriş engelinin çok yüksek olmadığı, toplumun arkadaşça olduğu, programcıların yetenekli olduğu ve katılım fırsatları olduğu Mercurial. Ve herkes sürüm kontrolünü kullanıyor. Bazı küçük ısırık büyüklüğünde hata ve / veya istek listesi özelliğini alıp üzerinde çalışabilirsiniz.

Başımın üstündeki diğer projeler Django, Pilonlar, SQLAlchemy, ancak Mercurial'ın POV katılım fırsatından bunlardan daha iyi veya daha iyi olduğunu düşünüyorum. Başka bir olasılık Linux topluluk dağıtım çalışmasıdır. Debian ile size yetenekli insanlarla çalışma fırsatı da verecek. Ayrıca iletişim kurmak için de iyidir. Ayrıca, C ++ ile ilgileniyorsanız, Debian'daki apt ve yetenek projeleri önemli ve ciddi bir şekilde yetersiz kalmaktadır. Genel olarak, çoğu özgür yazılım projesinde, özellikle küçük olanlar için yeterli insan gücü yoktur ve yardım istemektedir.


8

Farklı iş fırsatları sunan çeşitli yollarınız var

  • web tabanlı şeyler
  • yerli projeler
  • platformlar arası geliştirme
  • Linux'a taşıma

Genel olarak Linux ile birlikte diğer Unix'leri kullanmaya hazır olun (Linux şu anda tamamen hakim olsa da).

Web tabanlı

.NET kullanmayan web tabanlı hemen hemen her şey Linux şeyleridir (veya çapraz platform). Yaygın olarak kullanılan dillerden herhangi birine konsantre olabilirsiniz: PHP, Python, Perl, Ruby

Yerel projeler

Bunlar çoğunlukla açık kaynaklı veya yüksek performanslı bilgi işlem işleri.

Avrupa'da, zaten uygun olmayan ticari ürün için çılgın lisans ücretleri ödemek yerine açık kaynaklı bir projeyi değiştirmek (ve destek sağlamak) için tam zamanlı bir programcı kiralamak yaygındır.

Yüksek performanslı alan şu anda sadece bir çeşit Linux'tur, bu nedenle bu alandaki işler büyük olasılıkla Linux'a yol açacaktır.

Bu alan biraz C ++ ve çok fazla Java ile çok C ağır.

Çapraz platform geliştirme

Bir tür garip alan. Bazı platformlar arası yazılım sağlayan bazı şirketler var, bazılarının belirli platformlar için özel ekipleri, bazılarının platformlar arası ekipleri var.

Ancak birçok şirket sadece Java kullanır (çok fazla yardımcı olmaz).

Linux'a taşıma

Bu işler zaman zaman açılır. Bazı şirketler açık bir pazar görür ve genişlemeye karar verir. Şahsen bu tür işlerden kaçardım.


İlginç bir yorum için +1. işleri taşımakla ilgili neyin kötü olduğunu genişletmek ister misiniz?
Faheem Mitha

1
@Faheem Eh, işleri taşıma genellikle standart dışı uzantıları ve standart ihlalleri (bazı MSVC mucizesi nedeniyle işe yarıyor gibi görünüyor) dolu korkunç bir kod tabanı ile sonuçlandığı anlamına gelir. Kodun bölümleri genellikle şirketten uzun süre önce ve taşıma sırasında ortaya çıkacak çeşitli hatalarla dolu kişiler tarafından yazılır. Bu, diğer alanlarda da olabilir, ancak bu yaygın değildir (açık kaynaklı projeler oldukça kötü kod tabanlarına sahip olma eğilimindedir, ancak uzun tarihe ve küçük ila orta ölçekli geliştiriciler topluluğuna sahip pek çok büyük proje yoktur).
Let_Me_Be

Anlıyorum. çoğunlukla yukarıdaki dahili / özel kod tabanlarına mı atıfta bulunuyorsunuz? MSVC anlamı C ++ kod tabanları Visual C ++ ile yazılır ve sonra gcc için bağlantı noktası istiyorlar?
Faheem Mitha

@Faheem C ve C ++ en az komut dosyası verilen dillerden en az acı çekiyor. Asıl sorun, taşıma sırasında "burada ve şimdi" çalışan koda dokunmanız ve genellikle bu koddaki hataları keşfetmenizdir.
Let_Me_Be

4

Ücretli iş yapan çok fazla kodlayıcıya sahip bir proje GNOME'dur. Oraya gidip inanılmaz işler yaparsanız, büyük olasılıkla birileri size yaklaşacaktır. Bunların en büyüğü muhtemelen Red Hat (Fedora), ve gördüğüm diğerleri arasında Canonical (Ubuntu), Novell (SuSE), bir grup start-up ve hatta GNOME vakfı var. Oh, ve projede bir sürü Python kullanımı var ve LOC sayısı muhtemelen sadece C'den sonra.

Projenin gezegen bu 'GNOME şirketleri' onların amellerini rapor nerede normalde. Bir bak.


1

Java ve Windows üzerinde çalışmam gerekiyor.

İyi haber, en azından kodla yazıyor / çalışıyormuşsunuz gibi geliyor.

Eğer senin yerinde olsaydım pragmatik bir yaklaşım sergileyecektim ve bu Java uygulamasını Linux'a nasıl taşıyacağımı öğreneceksin (patron bakmadığında).

Bir uygulamayı taşınabilir hale getirmek iyi bir alıştırmadır.

Java ile rahatsız oldum

Olmayın, Linux dünyasında görev için en iyi dili kullanıyorsunuz. (En az en iyi ücretsiz dil).

Bu nedenle Java, C ++ / Qt, C, python, php, perl, vb.Ile rahat olduğunuzdan emin olmanız gerekir.


Teşekkürler. Tüm iş profilimi yazmak mantıksız, bu yüzden tam olarak bahsetmedim. buraya. Ancak cevabınızın son satırını aklınızda bulundurmalısınız.
Mart'ta
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.