こんにちは。Findyで副業をしている、@k-kuwaharaです。
様々なツールのソースコードが公開されることが、今や当たり前になってきています。代表的なもので言うと、Swift, Ruby
などのプログラミング言語、Angular、React, Vue.js
などのJavaScriptフレームワーク、Linux, Android
などのOSやディストリビューションが挙げられます。
有償のサービスの多くはクローズドソースではありますが、無償のサービスですとオープンソースのものが増えてきており、オープンソースの文化はより主流になって行くのではないかなと感じています。
エンジニアのキャリアやステップアップを考える上で、コミュニティ活動やOSS活動をすることをおすすめされることはないでしょうか?これにはもちろん理由があります。今回はその理由やメリットをご紹介したいと思います。
※注意:本記事は筆者の個人的見解です。
目次
OSS活動ってなに?
近年「OSS」という言葉を目にする機会はかなり増えてきたように思います。これは「Open Source Software(オープンソースソフトウェア)」の略で、修正・拡張・再配布などを認められたソフトウェアのことです。
1970年ころからソフトウェア(のソースコード)は商品としての評価がされることが多く、再配布を禁じる「クローズドソース」な文化が形成されていました。しかし、ソースコードはオープンにすべきだと訴える人々がフリーソフトウェア財団などの団体を作り、オープンなソフトウェア開発の基準や規定を定めました。(※)ここから徐々にオープンソースの文化が形成され始め、今や日本だけでなく、全世界でもオープンソースの文化が進んできていると感じます。
前置きが長くなりましたが「OSS活動」とは、まさにこのオープンソースのプロダクトを開発・保守することを指します。それは新規に開発しても良いですし、既存のライブラリやサービスをメンテナンスすることでも良いです。またそれらのドキュメントの更新も立派なOSS活動となります。
※ 開発されたプロダクトにはライセンス(MIT, Apache-2.0など)を使用することを推奨
コミュニティ活動について
従来のOSS活動はクローズドソースの文化が主流でした。それに付随して、様々な分野のエンジニアも経験や知見もいわゆるクローズド(非公開)にする企業が多く、何か躓いたり問題が起きた場合は、自分たちで解決するしかありませんでした。そのせいで、時間がかかることも多く、非常に不便な時代だったと言えると思います。
しかし、現代はオープンソースの時代となり、企業が様々な勉強会で自分たちの経験を語ってくれることが非常に増え、また各社固有の技術ブログや Qiita などの知見共有サービスにもたくさん投稿されるようになり、困ったらインターネットで調べれば解決策が見つかり、すぐに問題解決ができることようにもなりました。
このような勉強会や、投稿するサービスを運営する団体のコミュニティが多く形成されており、その団体の活動全般をコミュニティ活動と言います。ほとんどのコミュニティはボランティアで運営が行われており、本当にその技術やサービスが好きな人達が集まっています。参加はWelcomeな団体ばかりですので、気軽に参加できると思います。
どんなコミュニティがあるのか探す場合、筆者は以下のようなサイトを参考にしていることが多いです。
活動するメリットとは?
セルフブランディングになる
OSS活動やコミュニティ活動は、自身のブランディング・自身のエンジニアとしての価値を高めていくことに直結します。また、「あなたは誰で、どんな事ができますか?」という質問に対する一番の回答材料にもなります。
これは、もし今後転職するとき、フリーランスに転向するとき、または副業する予定がある場合、とても良い武器になると思いますね。筆者も何度か転職をしましたが、その際に公開したライブラリで高評価をいただくことがあり、面接が有利に進んだことがあります。
もしOSS活動がしたいけど、何も思いつかない、またちょっとスキルが足りない、と感じるのであれば、「翻訳」から入ることをオススメします!筆者もあるライブラリの公式サイトの翻訳からOSS活動を始めましたが、ライブラリの本体に影響もないため、かなりハードルは低く、始めやすいです!
Findy では、GitHubのリポジトリから、エンジニアのスキル偏差値を計算する機能がありますので、OSS活動を頑張られているのであれば、是非一度試してみてください!
様々な知見を得る機会が増える
普段自分が慣れ親しんだ技術についても、深い造詣を持っている人がコミュニティに所属していることがあり、自分が知らない知見を共有してくださることがあります。
また自分たちが使ったことはなくとも、関係する or 自分たちの現場に使える技術を教えてくれることもありますので、コミュニティに除属して活動すると、どんどん知見が増えていきます。
引き出しの量が増えることは、エンジニアとしての成長に直結するので、是非活動してみましょう!
客観的な評価を得られる
これは私も多々経験してきましたが、自分自身の評価、普段仕事をしている職場の人の評価以外に、第三者からの評価を得られる機会は普通に生活していると意外と少ないと思います。
しかし、コミュニティには第三者が多いため、客観的な評価を得やすいです。その中には凄腕エンジニアがいることもあり、そのような方からのフィードバックは本当に貴重ですし、自分が成長できるヒントを頂けると思います!
筆者の経験としても、評価の一つとして Findy でのスキル偏差値(以下の画像参照)が話題にもなったことがあります。凄腕エンジニアのスキル偏差値はやはりかなり高く、まだまだ頑張らないといけないな、と感じました。
筆者のスキル偏差値
いろいろなパイプを持つことができる
エンジニア同士の横のつながりが増えることは、この先のエンジニア人生においてとてつもなく大きな財産であり、武器でもあります。自分が困ったときに助けてくれる人が多いのはやっぱりメリットですね。
また逆に助けてほしいと言われることがありますが、その際は是非協力しあいたいですね!困ったときはエンジニアもお互い様です。(もちろん限度はありますし、ビジネスの世界では少々異なります)
そうすることで、助けた人が自分の価値を拡げてくれることが多く、お互いにメリットもあります。
私自身もコミュニティの知人に仕事で助けられたこともあり、私自身の宣伝もしていただくこともありました。逆に私もしっかりとそういう活動を今後も行いたいと考えています。
予想外なチャンスを得ることができる
OSS活動・コミュニティ活動をしていると、横の広がり、人のパイプが増えていき、上記以外にも思わぬところでチャンスが転がり込んでくることがあります。例えば、
- 翻訳業を頑張っていると、出版社から翻訳のお仕事の依頼がある
- ライブラリのcollaboratorに入れてもらえる
- 副業のお仕事の依頼がかかる
- 高待遇での転職のお話をいただく
- 勉強会での登壇の依頼が来る
このような事例は、エンジニア業界では枚挙に暇がありません。エンジニアとして大きなキャリアアップのチャンスとなりますので、是非OSS活動をすることをおすすめします!
私自身もコミュニティのパイプから登壇の依頼を頂いたり、「弊社なら高待遇で迎えますよ」というお声がけをいくつか頂いたり、書籍執筆の機会を頂くこともありました。
大変なこと
さて、これまで楽しいことばかり語りましたが、もちろんデメリットと言いますか、大変なこともあります。ざっくり大別すると、
「関わる方が増えるため、活動に割く時間が増える」
「自分のリソースがパンクする」
の2点だと思います。
多くの方は会社勤めをされているかと思います。したがって、こういう外部での活動は業務時間外、休日、祝日に活動されることが多いことでしょう。そこで犠牲になるのは、自信の「休憩時間」であったり、「家族との時間」「遊ぶ時間」だと思います。
セルフマネジメントが得意な方、苦手だけど日常からやられている方は問題ないと思いますが、筆者のようなセルフマネジメントが下手な人間は、時期によっては頑張らないといけません(笑)
また筆者は好奇心旺盛なため、おもしろそうと思ったらついつい手を出してしまい、土日もフルで活動にコミットしないと間に合わないことが何度もありました。時には会社の業務って楽だな、と感じることもありました…(笑)
まとめ
いろいろ語ってきましたが、まとめますと、
コミュニティ活動・OSS活動は良いぞ
という一言に尽きます。
もしエンジニアとして伸び悩んでいる方も、今からエンジニアになろうとしている方も、どんどん外部でこういった活動をしてみてください!自身のキャリアが拡がっていくことは間違いないと思います!
とは言え、「絶対!」とは言いましたが、皆さんの状況もありますので時間作ってやってください!(…本当は超オススメしたいんですけどねw)
Findy では、成長したいという方向けにエンジニアの転職やキャリア作りに貢献できるような情報提供を行っています。
また、Findy Freelance というフリーランス・副業エンジニア向けのサービスでも、フリーランスとして、または副業としてどうキャリアを作っていくかのサポートも行っております。
何か小さな事からでもチャレンジしてみたい!という方は、まずはこちらから自身のスキル偏差値を計測して、自分の実力を見てみてください!