DUICUO

これまでにオープンソース コードを書いたことがない場合は、履歴書を送らないでください。

[51CTO速報] 編集部注:以下の記事は、Oren Eini氏(オンライン名:Ayende Rahien氏)の最近のブログ記事を翻訳したものです。Oren氏はイスラエルを拠点とする開発者、アーキテクト、ソフトウェアコンサルタントであり、Microsoft MVP、Rhino MockやNHibernateといったプロジェクトの作者でもあります。彼は頻繁にブログを更新し、国際カンファレンスで自身の知見を共有しています。普段は主に技術そのものや技術カンファレンスに関する情報を紹介していますが、今回は苦言を呈しています。以下は記事の本文です。

本当に怒っています。その理由を説明する前に、少し背景を説明させてください。

通常、Hibernating Rhinos にプログラマーが応募する際は、書いたコードを提出していただきます。そのコードがオープンソースプロジェクトに関連するものであれば、ボーナスポイントが付与されます。

しかし、この要件を理解できない方もいらっしゃるようです。以下に、私が受け取った回答の一部をご紹介します。

  • コードを送ってもいいかわかりません。上司に聞いてみないと。(まあ、採用を希望している別の会社に自分の会社のコードを見せるなんて、本当に馬鹿げていますね。)
  • コードはこちらにありますが、誰にも言わないでください。(私は通常、このようなコードを見つけたらすぐに削除しますが、削除する前に、送信者に知的財産権の重要性を説明するメールを送信します。)
  • これは私が学生時代に完成させたプロジェクトのコードです。(この記事はこのコードから着想を得ています。)

以上です。情熱を持ってプログラミングをしていないなら、Hibernating Rhinos の開発者には向いていません。分かりやすくするために、現在取り組んでいるプロジェクトをいくつかご紹介します。

  • ユダヤ教聖書コードリポジトリ - 表示およびコメントシステム
  • ユダヤ教聖書コードリポジトリ - 検索および管理システム (これら 2 つのプロジェクトは 2 人の異なる開発者によって開始されたものであり、無関係であることに注意してください)。
  • Android、iOS、WP7向けの音楽ゲームアプリ
  • 個人財務管理アプリ
  • .NET のコードベースの自動更新
  • その他のオープンソースプロジェクト

私が知らないプロジェクトが他にもあるかもしれません。(ちなみに、これらのプロジェクトは勤務時間外のプライベートな時間に完成されたものです。しかも、誰も彼らにそれをやるように指示したわけではありません。)

これら2つのことの間にはどのような関係があるのでしょうか?それは、大学時代に書いた断片的なコードだけで、優れたプログラミングスキルを証明できると考えている人をよく見かけるからです。

ええ、不可能ではありませんが、考えてみてください。大学時代にはどんなプロジェクトをこなしましたか?たいていはごく小規模なプロジェクトで、コードが基準を満たしているかどうかを判断したのは、どこかの教授のような、ちょっと変わった人でした。一般的に言って、そういう応募者はあまり優秀ではありません。

以下に、最近受け取ったコードの一部を共有したいと思います。

  1. privatevoid doSwap(アルバム io_Album1を参照、アルバム io_Album2 を参照)

これはC#の1行です。この1行から、プロジェクト全体のコードが大まかに想像できます。しかし、この1行には少なくとも以下の問題が潜んでいます。

  • これは、.NET Framework の命名規則 (メソッド名) に違反しています。
  • これは、.NET Framework の命名規則 (引数名) に違反しています。
  • パラメータの入れ替え?これはカスタムソート方式の一種でしょうか?信じられないかもしれませんが、そうです。

後日、そのコードの作者に話を聞いたところ、コースの要件としてそうだったとのことでした。コースには厳格なカウントルールがあり、io_is は入出力パラメータとして使われていました。

また、他のルール (foreach を使用できないなど) もあり、その結果、このような魔法のようなコードが作成されました。

でも、それは問題ではありません。突飛なコーディング基準は理解できますが、就職活動中のプログラマーが、自分のチャンスに悪影響を与えるような大量のコードを提出するのは理解できません。

これはみんなの時間の無駄です。本当に迷惑です。

原文: これはオープンソースではない