前回に続き今回も、グリー CTOの藤本真樹氏の話を基に生涯エンジニアへの道を探っていく。
前回は、藤本氏の学生時代の活動内容やPHPコミュニティに参加した経緯などを紹介したうえで、当時の活動がソフトウェアエンジニアとしてのスキルアップに大きく貢献したという話をお伝えした。続いて藤本氏には、同じように飛躍を遂げようと努力している若手エンジニアへのアドバイスをお願いしたので、今回はその内容を紹介する。
関連インタビュー
【インタビュー】言語は思考にも影響を及ぼす、だからRuby開発を選んだ--まつもとゆきひろ氏
【インタビュー】Rubyが大きくなれたのは、私に隙があるからかな - まつもと氏(後編)
【インタビュー】PHPでの活動がなければ今日の私はない - グリー CTO 藤本真樹氏
――前回、AquaやPHPコミュニティでの活動を通じて飛躍的にスキルアップしたというお話を伺いました。同じようにOSSコミュニティに参加して、実力をつけようと考えている開発者にアドバイスをお願いしたいのですが、まず、コミュニティの選び方について何か指針などはありますか?
藤本真樹 - グリー CTO。学生時代からアルバイトなどでソフトウェア開発に従事。卒業後、OSSのコンサルティング企業等に勤務しながら、PHPコミュニティに携わる。PHPコミュニティでは、イベントの主催やパッチの製作など、さまざまな活動を展開。同コミュニティで現 グリー 代表取締役社長の田中良和氏に出会い、CTOとして迎え入れられる。 |
藤本: コミュニティ活動によって得られるポジティブな効果をたくさん挙げておいてこんなことを言うのもおかしいかもしれませんが、無理にOSSのコミュニティに参加する必要はないと思うんです。興味のあるプロダクトがあったり、やりたいことがあったりするのであれば、それに適したコミュニティを選んで参加するというかたちでよいのではないでしょうか。興味のないものに参加することほど辛いことはありませんから。
そのうえで選択の余地があるのであれば、多くの国の開発者が参加しているコミュニティを選ぶとよいかもしれませんね。いろいろな国の方と関われる機会はそう多くありませんし、英語の勉強にもなります。また、世界的に使われているプロダクトであれば、イベントを開催するときに人が集まりやすいなんていう利点もあります。
――初心者がOSSコミュニティに馴染むうえでのコツのようなものがあれば教えてください。
藤本: 一口にコミュニティ活動と言ってもいろいろな形態がありますが、一般的なのはプロダクトのメーリングリストに参加して発言することですよね。これに関しては、自由に活動すればよいと思いますが、私の場合は、教える方から入りました。質問を見つけてはいろいろと調べて、回答したりアドバイスしたりしていましたね。
OSSのコミュニティでは、仮に間違ったとしても、大きな問題にはなりません。正解じゃなきゃいけないなんてルールがあるわけでもありませんし、間違いがあれば指摘があったり、議論になったりするでしょう。思い切って活動すればよいと思います。
――OSSコミュニティでの活動は直接お金につながるわけではないので、素人考えでは、モチベーションの維持が難しいように思えます。藤本さんは当時どう考えていらっしゃったんでしょうか?
藤本: 私の場合、学生時代から参加していたので自由な時間が比較的多かったですし、社会人になった後も、OSSをベースにしたコンサルティング企業に勤めたりして、業務との関わりも深かったので、モチベーションが落ちることはそれほどありませんでしたね。ソフトウェアを作ること自体も好きでしたし。
ただし、常に意識していたことが1つだけありました。それは、「果たして自分はソフトウェアエンジニアとして食べていけるのか」という点です。
20代前半のころは、ソフトウェアエンジニアを生業としてやっていけるのかと常に不安を抱えていました。周囲のエンジニアには全然問題ないと映っていたようですが、私自身はなかなかそうは思えませんでした。まっとうな対価が得られるエンジニアになるには、どんなスキルが必要で、何を勉強しなきゃいけないのか、ということはいつも考えていて、その勉強の場としてOSSのコミュニティは有効だと思っていました。
実際、ソフトウェアの世界は広くて、知らないことが山ほどありますし、次々と新しい技術が出てきますが、そうした新技術や未知の領域を知るうえでPHPコミュニティでの活動は大いに役立ちました。活動を続けているとわからないことがたくさん出てきますが、私は何事も一通りわかるようにならないと不安になる性分なので、それらをすべてノートに書き出して、調べたり実装したりしながら、1つ1つ潰していましたね(笑)
――若いころからソフトウェアエンジニアとしてのプロ意識が非常に高かったんですね! 技術の蓄積があると、新しい技術が出てきても早く対応できますよね。
藤本: たしかにそうですね。技術を抽象化できるようになるので、新しい技術が出てきても大枠を掴んで、すぐに使いこなせるようになることが多いですね。
ただし、そのような状況になると、新しい技術が出てきたときに、わかった気になって、技術の詳細を学ばなくなってしまうというケースも多いんです。それにより本質を見失うこともあるかもしれません。最近は、その部分を危惧しています。
――最後に、若手エンジニアにアドバイスがあればお願いします。
藤本: エンジニアとしてレベルアップするためには、他人の言いなりになって作業をしていては絶対にいけません。自分で考えて、正しいと思ったことをやるべきです。
私が働いていた職場には、思わず感心してしまうようなすごいエンジニアがたくさんいましたが、当時から「10歳上は乗り越えなきゃいけない壁だ」と考えて、スキルアップに励んでいました。5年後、10年後に先輩達を上回るにはどうすればよいのか、この点を考えて業務に取り組む必要があると思います。
"とても敵わない"などと諦めてはダメです。少なくとも、ここでは絶対に負けないという分野は作るべきでしょう。そうしたスキルアップを遂げるうえで、OSSでの活動は役に立つのではないかと思います。