優れたLinuxジョブに必要なスキル[終了]


14

私はインドの評判の良い会社でITエンジニアとして働いています。問題は、Linuxで作業するように言われたのに、JavaとWindowsで作業するように作られていることです。私はJavaに不快で、Windowsが嫌いです。

私は自分でPythonを学び始めましたが、進行中の仕事のために十分な時間を与えるのは難しいです。率直に言って、私は専門のコーダーではありません。私は大学時代にLinuxカーネルの開発に多くのことを試みましたが、私はそれほど優れたコーダーではないことに気付きました。そこで、RHCEを実行してサーバー管理に進むことにしました。

私が知りたいのは、Linuxプロジェクトで仕事を得るために必要なスキルセットです。2011年8月に、この会社が私に良いLinuxプロジェクトを与えてくれなかったら、仕事を休むつもりです。良いLinuxの仕事を得るには、どのようなスキルを身につけなければなりませんか。その休憩中に私が決めたことの1つは、RHCEを追求することです。3つのRHCEコースブックのセットの最初を読んだ後、私はそれを通して航海できると確信しています。

このサイトの専門家からの情報は非常に貴重です。現時点での私の技術的関心は、Pythonプログラミング、C / C ++プログラミング、Linuxサーバー管理、クラウドコンピューティングです。しかし、私が持っている大学の学位は、良い会社に入るために決して十分ではありません。私が持っている実践的な知識は、専門家レベルのものではありません。そして、私が持っている仕事の経験は単に哀れです。

PS-私は現在の仕事に非常に不満を感じています。言及する必要はほとんどないと思いますが。

回答:


12

この文脈ではこれまで何度も提案されてきましたが、...フリーソフトウェアプロジェクトで経験を積むことをお勧めします。これは履歴書では良さそうに見え、良い人と仕事をする貴重な経験であり、連絡先にも役立ちます。人々はフリーソフトウェアプロジェクトを通じて定期的に仕事を得ています。私の印象(これは間違っているかもしれません)は、インド人がフリーソフトウェアプロジェクトに参加することは一般的ではないということです。

あなたはPythonに興味があると言います。Pythonを含む多くのフリーソフトウェアプロジェクトがあり、さまざまなレベルの参入障壁があります。私が馴染みのあるものはMercurialです。Mercurialは、参入障壁が高すぎず、コミュニティが友好的で、プログラマーが才能があり、参加する機会があります。そして誰もがバージョン管理を使用しています。あなたは、いくつかの小さな一口サイズのバグやウィッシュリスト機能を手に入れて、それに取り組むことができます。

私の頭の一番上にある他のプロジェクトはDjango、Pylons、SQLAlchemyですが、Mercurialは参加の機会のPOVのこれらのどれよりも優れていると思います。別の可能性は、Linuxコミュニティの配布作業です。Debianを使用すると、才能のある人々と協力する機会も得られます。また、連絡先などを作成するのにも適しています。また、C ++に興味がある場合は、Debianのaptおよびaptitudeプロジェクトが重要であり、人手不足です。一般に、ほとんどのフリーソフトウェアプロジェクトは、特に小規模なプロジェクトでは十分な人材がなく、支援を熱望しています。


8

さまざまな雇用機会を提供するいくつかのパスがあります

  • ウェブベースのもの
  • ネイティブプロジェクト
  • クロスプラットフォーム開発
  • Linuxへの移植

一般に、Linuxとともに他のUnixを使用する準備をします(ただし、Linuxは現在完全に支配しています)。

ウェブベース

.NETを使用しないWebベースのほとんどは、Linuxのもの(またはクロスプラットフォーム)です。PHP、Python、Perl、Rubyなど、広く使用されている言語に集中できます。

ネイティブプロジェクト

これらは主にオープンソースまたは高性能コンピューティングの仕事です。

ヨーロッパでは、とにかく収まらない商用製品に対して非常識なライセンス料を支払う代わりに、オープンソースプロジェクトを変更するためにフルタイムのプログラマーを雇う(そしてサポートを提供する)のが一般的です。

高パフォーマンスの領域は、たった今Linuxのようなものです。したがって、この領域の仕事は、おそらくLinuxにつながるでしょう。

この領域はCが非常に多く、C ++とJavaが少しあります。

クロスプラットフォーム開発

奇妙な領域の種類。クロスプラットフォームソフトウェアを提供する会社、特定のプラットフォーム用の特別なチームを持つ会社、クロスプラットフォームチームを持つ会社があります。

しかし、多くの企業は単純にJavaを使用しています(Javaが大いに役立つわけではありません)。

Linuxへの移植

これらのジョブは時々ポップアップします。一部の企業は、開かれた市場を見て、拡大することを決定します。私は個人的にそのような仕事から逃げ出します。


興味深いコメントのために+1。仕事を移植することの何がそんなに悪いのかを拡大する気がしますか
ファヒムミタ

1
@Faheemまあ、移植ジョブは通常、非標準の拡張機能と標準違反(MSVCの奇跡のために機能しているように見える)でいっぱいのひどいコードベースになることを意味します。通常、コードの一部は、会社から長く離れた人々によって書かれ、移植中にポップアップするさまざまなバグでいっぱいになります。これは他の分野でも発生する可能性がありますが、一般的ではありません(オープンソースプロジェクトはかなりひどいコードベースを持つ傾向がありますが、長い歴史と中小規模の開発者コミュニティを持つ大きなプロジェクトはそれほど多くありません)。
Let_Me_Be

そうですか。あなたは主に上記の内部/独自のコードベースを参照していますか?MSVCは、C ++コードベースがVisual C ++で記述されており、それをgccに移植することを意味しますか?
ファヒムミタ

@Faheem CとC ++は、スクリプト言語が最も多く苦しみません。大きな問題は、移植中に「ここで」動作するコードに触れ、通常そのようなコードのバグを発見することです。
-Let_Me_Be

4

非常に多数のコーダーが有給の仕事をしているプロジェクトの1つがGNOMEです。そこに行って素晴らしい仕事をすると、ほとんどの場合、誰かからアプローチされるでしょう。これらの最大のものはRed Hat(Fedora)である可能性が高く、私が見た他のものにはCanonical(Ubuntu)、Novell(SuSE)、多くの新興企業、またはGNOME財団さえ含まれます。ああ、そしてこのプロジェクトでは多くのPythonが使用されており、LOCカウントはおそらくCに次いで2番目です。

プロジェクトの惑星は、これらの「GNOME会社は」自分の行為を報告している通常です。ご覧ください。


1

JavaとWindowsで作業するようになりました。

良いニュースですが、少なくともコードを書いている/作業しているようです。

私があなたの立場にあったなら、私は実際的なアプローチを取り、そのJavaアプリをLinuxに移植する方法を学ぶと思います(上司が見ていないとき)。

アプリケーションを移植可能にすることは良い練習です。

私はJavaに不快です

Linuxの世界では、タスクに最適な言語を使用しないでください。(少なくとも最高の自由言語)。

したがって、Java、C ++ / Qt、C、python、php、perlなどに慣れていることを確認する必要があります。


ありがとう。まあ、私の仕事のプロフィール全体を書くことは非論理的ですので、私はそれを完全に述べていません。ここに。ただし、返信の最後の行を念頭に置いてください。
ダルミット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.