オープンソース デベロッパーの採用
経験豊富なオープンソース デベロッパーは常に不足しています。企業がトップレベルのタレントを採用するためには、リクルーターの利用や、有力な転職サイトへの広告掲示するだけでは不十分です。
企業・団体のオープンソース プログラムは、企業・団体の最も強力な採用ツールとなり得ます。本ガイドは、企業・団体等における、オープンソース文化の醸成・オープンソース コミュニティへの貢献・オープンソース プロジェクトの立ち上げを通じたデベロッパーの採用や内部育成について触れていきます。
このガイドの貢献者
Jeff Oiser-Mixon
Intel Corporation
オープンソース
コミュニティ マネージャー
Gil Yehuda
Oath
オープンソース担当
シニア ディレクター
Guy Martin
Autodesk
Open@ADSK
ディレクター
Nithya Ruff
Comcast
オープンソース プラクティス シニア ディレクター
Ian Varley
Salesforce
ソフトウェア
アーキテクト
セクション1
採用戦略の重要性
デベロッパーの不足が年々悪化している状況について、各メディアで取り上げられています。Cloud Foundryが最近作成したレポートによると、米国内だけで25万件の ソフトウェア デベロッパー採用枠と、テクノロジー スキルを要する職種で50万件の求人件数があるとされています。 また、同レポートでは、今後10年間でデベロッパーの需要は供給を100万件上回るとしています。
デベロッパーの不足
採用の難しさ
熟練したデベロッパーを、グローバルなレベルで充分に確保できている
強く同意する 18%
やや同意する 18%
現在、もしくは近い将来に熟練したデベロッパーが不足する
強く同意する 34%
やや同意する 30%
自社では、必要な数の熟練したデベロッパーを問題なく採用できている
強く同意する 20%
やや同意する 23%
自社では、必要とするスキルを持ったデベロッパーの採用に苦労している
強く同意する 27%
やや同意する 30%
オープンソース デベロッパー (オープンソースにおける充分な経験を持ったデベロッパー)は、ソフトウエア開発者の集団の一部です。彼らは引く手数多であり、オープンソースコミュニティは世界中の様々な場所で行われている性格上、リモートで作業するため、発見するのがとても困難です。つまり、企業・団体はこれらの人材の獲得に関して、世界中の企業と競合することになります。
この状況から容易に分かるように、これらの人材を獲得・維持するための競争の結果、人件費は継続的に上昇しています。直近のレポートによると、現在の平均的なデベロッパーの年収は $104,425となっています。また同レポートによれば、米国の高校のうち、AP(高校で受講できる大学レベルの授業)のコンピューター サイエンスの授業を提供しているのはわずか1/8程度(13.2%)であるため、この需要過多の状況はすぐには改善されそうにありません。
熟練したオープンソース デベロッパーは、平均以上の年収を要求することができます。2017 Open Source Jobs Report のアンケートに回答した採用担当者の89%が、必要としているオープンソースのスキルや専門性を持った人材の採用に苦労していると回答しています。Jobs Report の調査結果においても、採用担当者の60%がオープンソース系の人材を探しており、半数が何らかの認証を取得している人材を探していると回答しています。
これらの結果は、採用競争による賃金水準の上昇が今後しばらく続くことを示唆しています。
「エンジニアは最新のテクノロジーに触れ、学び、成長することを重要視し、お金には余り執着しない」という神話があります。これらは決して間違ってはいませんが、現実を見つめることも大事です。経済的なインセンティブなしでは、優秀な人材の採用は困難となります。充分な報酬を支払う用意がなければ、企業・団体で働きたがる人間を採用するのは難しいでしょう。」
Camille Fournier – Two Sigma マネージング ディレクター兼プラットフォーム エンジニアリング責任者で “The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change” の著者(Open Source Leadership Summit において)
以上のように、充分な経済的インセンティブを用意することはデベロッパー採用戦略の第一歩となりますが、これは入口にすぎません。ここで重要となるのが、企業のオープンソース プログラムです。これは、あらゆるスキル水準のオープンソース デベロッパーの採用においても有用となります。
企業・団体が必要とするオープンソース プロジェクトに対して戦略的に人材を送り込むことや、企業・団体のオープンソース技術ならびにコミュニティを育成することを含めて、企業・団体のオープンソース関連の目的達成においては、まず人材の育成、教育を行い、優秀な人材の供給力を満たすことが重要な役割を果たします。また、これらの実現には、戦略、プロセス、そして目的の設定が必要となります。
セクション 2
採用ツールとしてのオープンソース
採用戦略に触れる前に、なぜオープンソースへの参画が効果的な採用ツールとなり得るか、そしてなぜその行為がトップ人材の流出阻止における課題となるかについて議論します(詳細については次のセクションを参照)。
効果的な採用活動は、デベロッパーのモチベーションに訴えかけます。デベロッパーが企業・団体ならびに企業・団体のオープンソースプロジェクト(あるいはオープンソース全般)になぜ魅力を感じるかを理解することで、効果的な戦略を構築することができます。
Camille Fournier氏は、エンジニアは「報酬・敬意・目的」の3つを欲する、としています。
- 報酬:給与・福利厚生・その他特典を含むすべて。
- 敬意:無形ではあるものの確かに存在する概念であり、一般的にはプロフェッショナルとして認知されることである。
- 目的:目に見える、チャレンジングで測定可能な目標。これがなくては、敬意や認知は存在し得ない。
「お金は大事だが、これは価値ではなく認知の指標と受け止められている。だからこそ、6百万ドルのボーナスを得たヘッジファンドのマネージャーであっても、8百万ドルを期待していた場合、簡単に職を辞することがある。ブログで功績について触れられることや、プロジェクト リーダーからの個人的なメモが効果的であるのも、同じ理由からだ。金銭的な報酬も大事であることに間違いはないが、それを認知の度合いと捉えた場合、金銭的な価値と感情面での価値を分けて考えることができる。」
Jeff Osier-Mixon – Intel社 オープンソース コミュニティ マネージャー
興味深いことに、デベロッパーがオープンソース コミュニティで働くことに対して企業が対価を支払う場合、上記の3つのニーズはすべて満たされています。そして企業は、デベロッパーのアップストリームへの貢献に対価を支払うことに、複数の観点から価値を見出し始めています。
企業が自社の製品やサービスに寄与する分野における貢献を目指すオープンソース プロジェクトは多数存在します。正しいアプローチをもってすれば、これらの貢献はデベロッパー、ひいては採用企業が、コミュニティの敬意を獲得することにつながります。また、有用な貢献はデベロッパーの認知度向上にもつながり、彼らの能力を必要とする企業への将来的な転職の機会も拡大します。
ただし、オープンソース プロジェクトやコミュニティに貢献するための時間的な余裕や会社のリソースを提供するだけでは、トップ人材の採用には不十分です。採用者である企業は、ツールや文化、哲学、開発アプローチに至るまで、あらゆる面でオープンソースへの変革に焦点を当てた完全な戦略を立案する必要があります。
「我々は、優秀な人材が積極的に働きたくなるような作業環境の構築を目指しています。我々のエンジニアは、自分達がオープンソースにフレンドリーな環境で働いていて、自らの業務に関連するオープンソース コミュニティに携わることを奨励され、必要なサポートを受けられるということを理解しています 」
Gil Yehuda – Oath社 (Yahoo + AOL) オープンソース担当シニア ディレクター
セクション 3
オープンソース人材確保の課題
オープンソース分野での採用における最も大きな課題の1つとして、オープンソース プロジェクトがその性質上、企業間の壁を越えて広がっていくという点が挙げられます。デベロッパーはプロジェクトの関与を最重要視し、同じプロジェクトへの参画に賃金を支払う企業間で容易に転職することができます。
これは、オープンソースに貢献するデベロッパーのモチベーションについて重要な点を示唆しています。お金や特定の役職は、最終目的になり得ません。デベロッパーのキャリアパスは流動的で、プロフェッショナルとしての成長や個人の充足感の飽くなき追及に突き動かされます。それを、上記のFournier氏は「敬意」と称し、Osier氏は「認知」と呼んでいます。
最新のOpen Source Jobs Reportによると、オープンソース デベロッパーが自らの仕事の最も良いところとして、「興味深いプロジェクトに参加できること、グローバルなコミュニティと協業できること、そして最先端のテクノロジーに挑戦できること」を挙げています。
流動的な労働市場は、オープンな環境で働くということの自然な帰結であるといえます。貢献者の成果は、プロジェクトに参画している人間だけでなく採用先となり得る企業の目にも止まりやすく、GitHubにおけるアクティビティは、公開された履歴書のような機能を果たします。この状況は、企業・団体が採用者となる場合には有用ですが、人材流出を阻止する立場の場合は大きな課題となります。
「人事部門やエンジニアを統括する部門にとって、採用活動におけるオープンソースは諸刃の剣となりかねない。オープンな活動を支持し、オープンソースへの貢献を通じてエンジニアが自身の市場価値を高められるような職場を目指さなければならないが、企業は大抵「エンジニアが自らの市場価値を高めすぎると、他社にかすめ取られてしまう。」と反論する。それに対して、私は「そうだ、だから彼らが離職したくなくなるようなオープンな環境の醸成が必須となる」と答えている。」
Guy Martin – Open@ADSK ディレクター
ビジネスに最適化された企業は、特に人材に関しては投資に対するリターンを求める傾向が強く、一般的にデベロッパーを「換えが効くもの」と捉えていることが多いため、上記の事実に直面した際、当惑することになります。
新たな採用哲学
旧来の考えを改め、オープンソースのデベロッパーは複数の観点から企業・団体の成功に貢献している、と捉えることが重要になります。彼らは、会社の名において、戦略や製品開発に重要な外部プロジェクトに貢献し、企業・団体内のオープンソース プロジェクトにも貢献します。
企業・団体のオープンソース プロジェクトにデベロッパーを呼び込み、維持することは、企業・団体での雇用でそうすることと同様に重要です。最終亭な目標は、企業・団体内から社外まで拡がる各プロジェクトの商業的なエコシステムを維持・発展させることです。
企業・団体の雇用を維持する目的でオープンソース コミュニティから人材を奪い取ることは、最終的に企業・団体のメリットとなりません。一方で、各プロジェクトの経験者が存在するという意味では、オープンソース コミュニティからの採用は必然でもあります。ここでのカギは、彼らの社内外双方での仕事をサポートすることにあります。
「世界トップクラスの貢献者が我々のプロジェクトに貢献しているという確証が、我々にとって何よりも重要となります。彼らが我々の従業員であれば何よりですし、彼らが他社の社員なのであれば、プロジェクトにおける協業の成果を共有できるので、それもまた素晴らしいことです。
Gil Yehuda – Oath社 (Yahoo + AOL) オープンソース担当シニア ディレクター
人材の採用と維持に関連するこれらの哲学的な変化は、組織のオープンソースへの変革に伴う文化的な変化の一部です。
雇用者にとって一番の驚きは、オープンソース デベロッパー独特の同一プロジェクト内における転職が、当のデベロッパーだけでなく各雇用者にとっても、同じぐらいメリットがあるということかも知れません。
「Yoctoプロジェクトにおいて、数名のデベロッパーと、少なくとも2名のガバナンス チーム メンバーが、複数の異なる会社から同プロジェクトに従事しました。これにより、彼らには、ひとつの会社の内製された商品よりも、世間一般に対する同プロジェクトの価値を追求する傾向が強く見受けられます。」
Jeff Osier-Mixon – Intel社 オープンソース コミュニティ マネージャー
よって、最終的にはすべての関係者がメリットを享受できることになります。それがオープンソースの在り方であり、プロジェクトやデベロッパー独自の価値観でもあります。
セクション 4
採用か育成か?
企業・団体の採用ならびに雇用維持に係る戦略は、社内外双方の人材を念頭に置いた際に、企業・団体とそのデベロッパーにとってもっとも効果的なものとなります。しかし、本ガイドは企業・団体が雇用するデベロッパーの採用に焦点を当てます。
会社によって、デベロッパーの入退社の波をどのように採用・雇用維持の戦略に織り込むかの方法論は異なります。たとえば、採用率向上のために研修やプロジェクトへの参加をより強く打ち出す企業もあれば、デベロッパーのサポートにおいて画一性よりも柔軟性を重視する企業もあります。
「採用においては、オープンソースの経験を持っている候補者の採用を目指しています。そのため、当社ではオープンソース プロセスに関するフォーマルな研修よりも、状況に応じた軌道修正を行うことの方が多くなります。ただし、オープンソースに関する質問に直面するということは、すべてのデベロッパーに起こります。彼らの成功は我々の成功でもあるので、彼らを積極的に支援しています。我々は、プロジェクトのみならずプロジェクトの関係者をサポートするようにしています。」
Gil Yehuda – – Oath社 (Yahoo + AOL) オープンソース担当シニア ディレクター
企業・団体の戦略がどのようなものであっても、オープンソースの人材を充実させるための手法は、基本的に採用と育成の二つに集約されます。
経験豊富なデベロッパーの採用
経験豊富なデベロッパーの採用は、企業・団体の計画に必ず織り込む必要があります。デベロッパーがプロジェクト内で人間関係を構築し、影響力を持つようになるには時間がかかります。しかし、企業・団体にとって重要なプロジェクトにおいては、方向性への影響力の確立が遅れた場合、同プロジェクトの企業・団体内プロジェクトに対する有用性を大きく損ねる可能性があります。
特定のオープンソース コミュニティにおいて、企業・団体のデベロッパーが貢献しておらず発言力を持っていない状況で影響力を早急に確立する必要性がある場合、プロジェクト内でスキルと影響力を持った人材の採用が企業・団体のニーズを満たす唯一の方法となる場合があります。
「オープンソースの特定ドメインにおける専門性やリーダーシップの確立は、成熟した企業においてはかなりの時間がかかる場合があります。研修を策定し、社員をリーダーに育て上げる必要があります。しかし、軌道に乗せるために、場合によっては初期段階で、すでにそのようなコミュニティでリーダーとなっている人間を採用する必要性も生じることがあります。」
Guy Martin – Open@ADSK ディレクター
あるいは、主要プロジェクトのためにトップクラスのデベロッパーをすでに採用していたものの転職されてしまい、代わりの人材を育成する時間がない場合もあります。この場合、影響力は人材に帰属するもので、雇用主に帰属するものではないということを忘れてはなりません。
経験豊富なオープンソースのデベロッパーは、企業・団体内のオープンソース文化やオープンソース コミュニティにおけるリーダーシップの醸成に寄与することもできます。優れた戦略は、トップクラスの人材の採用に求めるメリットをすべて考慮し、それらのニーズを満たすための戦術を内包していなければなりません。
多くの採用担当者は、成功する採用戦略の秘訣として、マーケティングよりも口コミの重要性を挙げます。従来型のリクルーターも活用されているものの、人事部門や採用チームは、デベロッパーを求めて他の場所にも目を向けています。GitHubのプロジェクトや企業・団体が活用しているプロジェクト内において、貢献度が高く新天地を求めている人材やそのような人材を紹介できる人間を探すことがベストプラクティスとなっています。
プロジェクトのコミュニティにおいて、社内外の優れた、あるいは良いデベロッパーを特定した場合、彼らが一緒に働きたいという人材のリストを作成し、その人材も採用候補に加えます。
デベロッパーにオープンソース分野における開発・活動についての教育を実施する
オープンソースにおけるトップクラスの人材の採用は、需要過多であることから非常に難しく、各企業にとって大きな課題です。しかし、経験豊富なオープンソース デベロッパーの採用の難しさには、需要過多以外にも理由があります。たとえば、オープンソースへの新規参入企業は、人材によって魅力的に映らない場合があります。
企業は、人材不足の解消にむけた継続的な努力の一環として、社内の人材の育成に目を向けます。確かに、研修制度は不足しているスキルの穴埋めや主要な人材を失った際の後継者育成において重要な役割を果たします。また、研修制度は、オープンソースのスキルを開発したいデベロッパーにとって魅力的な制度にもなります。
プロジェクトのユーザーは、そのプロジェクトの次世代のメンテナとしては合理的な選択肢であるといえます。ただし、オープンソースに貢献したいという興味や意欲を示すデベロッパーの育成にも、一定の時間を割くべきです。これらの次世代のデベロッパーを育成し、オープンソースの意思決定に参画させることは、将来的に利益をもたらします。
デベロッパーは、オープンソース プロジェクトへの技術的な貢献やオープンソース コミュニティにおけるリーダーシップの発揮によって、敬意や認知を得ることができます。ただ、それ以外にも高い信頼関係を築くことができます。
認知度の高いプロジェクトや立ち位置において偉大なデベロッパーと協業することも効果的です。そのような機会は、経験と才能が豊富で著名なエンジニアを数多く抱える企業に優位性を与えます。
トップクラスのデベロッパーとのインフォーマルなOJTは、フォーマルな研修プログラムを加速したり、補完できることも可能です。
メンター制度も、直接的なコストや余分な負荷を抑制しつつ制度の構造化を図る上で有効な施策です。より多くの経験を有するシニア デベロッパーが、必要に応じて、経験の少ない若手デベロッパーの技術的課題の解決やオープンソースの手法や文化に関するトレーニングを支援します。
徒弟制度においては、階層化された環境で、トップクラスのデベロッパーのより直接的な管理下で日々の育成が実現されます。
企業・団体内における効果的なオープンソース育成のための8ステップ
- 企業・団体にとって重要となるオープンソース プロジェクトから、主要なデベロッパーやメンテナーを採用する。
- 製品に関連する作業を行っているデベロッパーに、作業時間の一部をアップストリームの開発に貢献するために充当することを許可する。
- 経験豊富なデベロッパーが、より経験の少ないデベロッパーを育成するメンター制度を策定する。
- 技術的な研修やオープンソース手法に関する研修を策定し、デベロッパーに提供する。
- オープンソースのイベントに参加する。デベロッパーを送り込み、作業内容の発表をサポートする。
- デベロッパーがグローバルなオープンソース コミュニティと制約なしで交流するために必要なITインフラを提供する。
- デベロッパーの貢献度を測る社内システムを構築し、影響度を測定する。
- 内部的に、複数の事業部門や製品ラインに活用できる分野に注力し貢献する計画を策定する。
Ibrahim Haddad, PhD @IbrahimAtLinux
セクション 5
オープンソース デベロッパーを採用・確保する5つの戦略
オープンソース デベロッパーを獲得する際にまず行うべき最も重要なことは、オープンソース コミュニティへの参加です。これにより、オープンソース コミュニティ内における自社の認知度や信頼性が高まります。
しかし、もっと効果的な採用戦略は、より完全なオープンソース開発環境の導入です。具体的には、オープンソース開発者が普段使用し、必要とする各種ツール、手法、文化などを採用することです。
「採用の方法論は、オープンソース コミュニティが持つ企業・団体に対する印象を如何に改善するかを意識的に考えることで導き出されるべきです。」
Guy Martin – Open@ADSK ディレクター
「企業は、オープンソース プラクティスを確立させることで、オープンソースに対する本気度や、オープンソースへの投資意欲に関する強いメッセージを発信することができます。」
Nithya Ruff – Comcast オープンソース プラクティス シニアディレクター
デベロッパーは、雇用者がデベロッパーの興味を引くためのもっとも効果的な方法として「面白いプロジェクトに参加できること」を挙げているため、自社が携わっているオープンソース プロジェクトについて、外部に発信していくことは、企業にとって最も肝要となっています。
以下の5つの主要戦略は企業・団体の採用活動や才能ある人材の流出阻止だけでなく、事業戦略に寄与するオープンソース関連投資全体をサポートします。
1. オープンソース プロジェクトに参加し、リーダーシップを確立する
- 戦略的なアプローチの採用。企業・団体が現在取り組んでいるプロジェクトや、近い将来取り組む可能性のあるプロジェクトに注力しましょう。オープンソース プロジェクトに参加したり、関与の度合いを高めることにより、企業・団体への注目度を高め、その分野で活躍しているデベロッパーの目に止まりやすい状況を作ります。そこで採用活動を行うことで、企業とデベロッパーの双方にとって最適の組み合わせとなる可能性があります。
将来的に必要となるプロジェクトに参加することにより、次期プロジェクトに必要となる人材の確保が容易になる可能性があります。たとえば、現在多くの企業がクラウドテクノロジー、大規模データ アナリティクス、マシン ラーニングなどの分野に投資しています。これらの分野のデベロッパーを採用したい場合は、それらのオープンソース エコシステムにおける有力企業としてのポジションを確立することが重要となります。
「クラウドの分野においてオープンソースを避けて通ることは不可能です。我々の今後の事業を推し進める上で、社内にオープンソースの人材を確保することは不可欠になります。」
Guy Martin – Open@ADSK ディレクター
大規模なデータ アナリティクスにおいても、状況は似ています。たとえば、ビッグデータ革命の中枢にいるHadoopと、その誕生に寄与したYahooがあります。現在はOathの一部であるYahooは、他の大規模演算プロジェクトへの関与で有名であり、 ビッグデータ関連のスキルを伸ばしたいデベロッパーにとって魅力的な雇用者です。
企業は、自らがオープンソース デベロッパーにとって魅力的な職場であるという印象を確立することで、特定の技術分野で成長したいと考えているデベロッパーを採用しやすい状況を作ることができます。. 自社の存在を極力明らかにしない「ステルス モード」にいるスタートアップであっても、公になっているオープンソース プロジェクトに参加し、製品・サービス群を公表する前の段階においても、信頼性や影響力を向上させることで人材を集めることが可能です。オープンソースにおいてデベロッパーは売り手市場で選択肢を複数持っているため、企業には自社をより魅力的にする努力が求められます。
オープンソース プロジェクトへの参加には、コミュニティに作用する力学の理解と、ほんの少しの経験が必要です。オープンソース コミュニティにおいて影響力を持つメンテナーは、それらのスキルを有し、また友好的に活用しています。そのような人材を採用することができれば、企業・団体内におけるオープンソース文化の醸成や、他のトップクラスのデベロッパーの採用に寄与することでしょう。また、これらの優秀なデベロッパーから学び、社内でガイダンスを作成することで、採用あるいは育成した他のオープンソース デベロッパーが各コミュニティで影響力を行使できるようにすることも重要です。
「オープンソース コミュニティやプロジェクトへの参画経験が無い企業に対して、法的あるいはコミュニティ的に問題となる「やってはいけないこと」、微妙に目的が異なる類似プロジェクトに参画している企業との協業に際して、”やるべきこと”など、オープンソース コミュニティとの関係作りに必要なノウハウを提供しています。」
Gil Yehuda – Oath社 (Yahoo + AOL) オープンソース担当シニア ディレクター
敬意を獲得し、リーダーシップを醸成するためには、一個人の努力を超えた企業としての参画を要します。長期に亘り信頼されるためには、一人の人間の意欲だけではなく、企業としてのコミットメントを示す必要があります。唯一の意欲的なオープンソース リーダーが退職してしまった場合、企業としてのプレゼンス確立に関しては、一からやり直しとなってしまうので、企業として、チームとして、長期的な取り組みを心がけてください。
- 意味のある関与を。これは、必要最低限のステップを踏むだけでなく、意味のある貢献にコミットする必要があるということです。デベロッパーのオープンソースへの関与を単なる業務上のメリットとするのではなく、業務上の成果物と結びつけることで、彼らの業務意欲を向上させると同時にコミュニティ内における認知度の向上を促し、同時に自社への更なるデベロッパーの誘致までも視野に入れます。
- さらに、企業・団体の貢献はオープンソース プロジェクトを企業・団体が望む方向に進めることをも意味します。デベロッパーの認知度向上や採用への貢献だけでなく、オープンソース プロジェクトが企業・団体の将来的な方向性をサポートすることにも同時に寄与します。これが、オープンソースの素晴らしいところです。
- デベロッパーのオープンソースへの貢献や、そのための時間を割く行為に対して対価を支払う。企業・団体の成功はプロジェクトやデベロッパーの成功に直接的に結びついているため、貢献のために時間を割く行為を職務上優先させることで全関係者の成功を確約することが、最善の戦略となります。具体的な数字で、確保する時間を明示しましょう。Guy Martin氏は、Ibrahim Haddad氏とともにSamsung内でオープンソース グループを立ち上げた際、上流への貢献に勤務時間の半分を割くことをあまりにも厳密に求めたことから「50%の暴君」と冗談半分に呼ばれていたそうです。それだけ重要だ、ということを示す事例です。必要な時間を前もって確保しましょう。
- 自社のコードをオープンソース化し、小さなパイロット プロジェクトを立ち上げ、成功体験を反復する。プロジェクトの形成において影響力を持つためには、リーダーシップを醸成する必要があります。そしてリーダーシップを醸成するためには、自ら手本を示さなければなりません。リーダーとして信頼を獲得するためには、自社のコードをオープンソース化し、小さなパイロット プロジェクトを立ち上げ、成功体験を反復します。自社コードやプロジェクトが面白いものであれば、自ずと開発者が集まってきます。コードやプロジェクトが「伝説級」のものでなくても、企業・団体のコミュニティに対する存在価値を示すことで、仲間は増えていきます。
「たとえばSalesforceのような会社である場合、エンジニアにとってどのような魅力がある雇用者であるのか、アピールが難しい場合があります。エンジニアはSalesforceのサービスを使用することはありませんし、何をしている会社なのかもわかりづらいかも知れませんが、関与しているオープンソース プロジェクトを見てもらうことにより、”面白い事に取り組んでいる会社だな”と思ってもらうことができます。社内で行われている普段は見えにくい素晴らしいエンジニアリングを見てもらう窓のような役割を果たしています。」
Ian Varley – Salesforce ソフトウェア アーキテクト
2. 社内のオープンソース文化を醸成する
- ツールとプラクティス。一般的な企業社会においてオープンソース文化は異質に感じるかもしれませんが、それを醸成する努力は無駄になりません。企業社会においては、開発のペースが乱れる可能性があるため、一般的には外部チームのデベロッパーのコードを取り入れることに否定的です。一方、オープンソース プロジェクトにおいては外部からの貢献を積極的に受け入れることが多く、より安定したコードと常に変更が行われているコードの2バージョンを管理します。オープンソースのプロセスを社内で取り入れることができれば、このような柔軟性が必須となる外部でのオープンソース プロジェクトにおいても成功を収めることができるでしょう。
オープンソースのデベロッパーが使用するツールも、他のものとは異なる場合が多く、一般的には別のインフラやプラットフォームを必要とします。デベロッパーのグローバルなオープンソース コミュニティとの円滑な協業を可能にするITインフラの開発は、重要な最初のステップです。オープンソースに関連するすべての事柄の中心にあるのが、協業の概念です。
- インセンティブと報酬。本ガイドでも述べている通り、オープンソース デベロッパーは報酬、敬意、目的の三つに動機づけられます。競争力のある報酬は採用に役立ちますが、繋ぎ止めるためには、オープンソースの分野における貢献の認知が重要です。
敬意は従業員自身が勝ち取る必要がありますが、彼らが一度勝ち取った敬意に関しては、常に示してあげる必要があります。このプロセスを、採用や流出阻止の戦略に組み込むことをお勧めします。採用において口コミは非常に重要なので、デベロッパー同士の会話でこのような話題が取り上げられるように仕向けましょう。
最後になりますが、Camille Fournier氏の談話にもあった通り、「リリースは頻繁に行いましょう。」デベロッパーは自らの仕事が開発工程に進むことや、何かを完成させたという達成感を好みます。デベロッパーが目的意識を持ち、また自身の仕事の成果を頻繁に目にする機会があるように自社戦略を構築しましょう。チャレンジングな仕事と、相対的に負担が少ない仕事を織り交ぜ、疲労の低減とモチベーションの維持を両立しましょう。
3. オープンソース イベントに参加し、支援する
- デベロッパーをカンファレンスやイベントに送り込み、プレゼンテーションを行わせる
良質なコードやコミュニティ内におけるリーダーシップが採用に役立つ評判に寄与することは間違いありませんが、採用活動においてはさらなるデベロッパーとのエンゲージメントが求められます。社内の優秀なデベロッパーに、社外の優秀なデベロッパー獲得に通じる戦略的なネットワーキング、カンファレンスにおける登壇、そしてオープンソース プロジェクトにおける他者との協業などを要請しましょう。
公開ベースでコードを書くトレーニングを行うように、外の環境でプレゼンテーションを行うトレーニングも実行しましょう。実験的なアイデアの共有や新規オープンソース プロジェクトの発表の場として、イベントを活用しましょう。そのような場で出会った人は、コードを書いたデベロッパーから直接話が聞けるため、プロジェクトを導入してくれる可能性も高まります。そうすることにより、将来的な貢献者や採用候補の募集にも貢献できます。
- オープンソース関連イベントでのスポンサーや、ブース出展
デベロッパーは、新しい開発や面白いプロジェクト、クールな会社などの情報を求めてカンファレンスに来場します。情報を求めているのであれば、大々的に宣伝してみてはいかがでしょうか?スポンサーやブース出展は、企業・団体そのものに加えて、オープンソース コミュニティをサポートする意欲やデベロッパーの活躍の機会を、採用の対象となる候補の方に直接アピールする絶好の手段です。
- ハッカソンの開催
誰の意見を聞いても、優秀で経験豊富なオープンソースのデベロッパーにとってもっとも魅力的なのは、チャレンジングなプロジェクトという答えが返ってきます。ハッカソンは楽しいチャレンジとともに魅力的な報酬(金銭や名声など)が提供されるため、採用活動の一環として申し分ない施策です。さらに、候補者の能力を直接査定することも可能です。
4. 職務内容にオープンソースを追加する
現在においては、オープンソースはほぼすべてのテクノロジーの中心に位置づけられているため、多くのテクノロジー関連の職種の職務内容に記載されるべきです。候補者には、オープンソース プロジェクトに関する貢献や管理が求められるかどうかを明示しましょう。
昨今においては、デベロッパーは自らのオープンソース関連のスキルを向上させようとする傾向があるため、経験を得られる仕事や、取得した経験を発揮できる仕事を求めます。企業・団体のオープンソースに対する本気度を示せば、企業・団体の最重要プロジェクトにおいてもメンテナー、貢献者、あるいはコミッターとして活躍してくれる人材を獲得することができるでしょう。職務にオープンソースの要素がある場合は、その旨を最初から明示しましょう。昨今のテクノロジーの大半がオープンソースであるため、ほぼすべての職務に何らかのオープンソース的な要素が存在するはずです。
5. 研修への投資:人材の内部育成
経験豊富なオープンソース デベロッパーの枯渇が進む中、内部育成を目的とした研修制度への投資に対する必要性が高まっています。従業員の離職により生じるリスクを回避するために、主要プロジェクトへの貢献者の後継者育成の観点からも、研修による積極的な育成が重要になります。
ライセンスに関するコンプライアンス、貢献のプロセス、コードのミラーリングといったオープンソースにおけ特定の課題に関するセッションの開催から、経験豊富なデベロッパーを若手と結びつける徒弟制度、あるいはコミュニティ内のウェットな問題の解決をサポートするメンター制度まで、研修プログラムの導入には様々な方法があります。これらはいずれもフォーマル・インフォーマル双方の形式で構築可能ですが、いずれにせよ重要となるのは、常に何らかの研修プログラムを実行し続けることです。
人材の採用や確保に関するさらなるアイデアをご希望の場合は、本ガイドの以前のバーションである How to Recruit and Hire Open Source Developers(2015年)も併せてご覧ください。
これらのリソースは、TODO (Talk Openly, Develop Openly) グループとの協力により作成されました。TODOグループは、The Linux Foundation傘下のプロフェッショナル オープンソース プログラム ネットワーキング グループです。 このような包括的なガイドを作成するために時間を割き、豊富な知識を提供してくれたオープンソース プログラム マネージャーのみなさんに感謝します。TODOグループの参加企業は、Autodesk、Comcast、Dropbox、Facebook、Google、Intel、Microsoft、Netflix、Oath (Yahoo + AOL)、Red Hat、Salesforce、Samsung、およびVMwareです。詳細については、todogroup.orgを参照してください。
この資料は、Creative Commons Attribution ShareAlike 4.0 International License (CC BY-SA 4.0:クリエイティブ・コモンズ 表示 – 継承 4.0 国際ライセンス) の下でライセンスされています。