HOME>キャリア論>技術のスマートなキャッチアップは、 コミュニティへの貢献にあり

キャリア論

技術のスマートなキャッチアップは、
コミュニティへの貢献にあり

一般社団法人 DroidKaigi  <br />
代表理事 日高 正博

  • 2016.06.13
  • 一般社団法人 DroidKaigi

    代表理事 日高 正博

Androidアプリエンジニアなら誰もが知っているカンファレンス「DroidKaigi」。その代表理事を務める日高氏は、コミュニティ運営の傍ら、サラリーマンとしての顔も持ちます。コミュニティ運営から見えてきたものやこれまで歩んできたキャリア、エンジニアがこれから学ぶべきスキルについて語っていただきました。

DSC_017780-4002

組み込み開発からアプリ開発へ

 

────まず日高さんにお尋ねしたいのはエンジニアとしてのルーツについてです。どんないきさつでエンジニアを目指したのか、何がきっかけでプログラミングを始めたのかお話を聞かせてください。

 

日高 「PCは何でもできるハコ」と中学生のときに思ったのが、PCに触れたきっかけです。当時Windows95が発売され、PCに何となく憧れを持っていたのでお小遣いをためて買いました。しかし、プログラミングは存在を知っているレベルで「ディアブロ」「エイジ オブ エンパイア」といったゲームにはまっていましたね。本格的にプログラミングに触れたのは、大学で体系的に学び始めてからです。

 

────PCとの出会いのきっかけはゲームだったのですね。そこからなぜ、プログラミングを学ぼうと思ったのでしょうか。

 

日高 情報処理学部に入学し、歴史やコンピューターサイエンスの基礎の学習からスタートしました。プログラミングを学んだ理由は、私自身がコツコツとモノを作り上げていく性格で、ロジックを組んでいくのが好きだったんですね。レゴブロックみたいに少しずつ組み上げて完成形を目指していくイメージに近いです。

 

────では、就職もモノづくりの会社に。

 

日高 そうですね。大阪のとある家電メーカー系の子会社に就職し、家電の組み込み開発を手掛けていました。そこでは親会社に所属しているエンジニアと一緒に、ビデオカメラなどの家電に組み込むソフトウェアを開発していましたね。

 

────エンジニアとしてのキャリアのスタートは組み込み開発だったのですね。てっきりWebアプリケーション開発だと思っていましたので、驚きでした。メーカーではエンジニアとしてどのようにキャリアを構築されたのでしょうか。

 

日高 メーカーの開発では、新商品を発表するスケジュールが年間で決まっていますので、商品リリースに合わせてプロジェクトが進んでいきます。ウォーターフォール型の開発スタイルではありましたが、仕様をガチガチに決めるわけではなかったので、割と融通が利くといいますか、自分の裁量の範囲であれば、自由に開発ができました。

 

────当時どんなキャリアパスがあったのでしょうか。

 

日高 プログラマ、シニアエンジニアなど、スキルを伸ばすと職位が上がっていくキャリアがありました。私自身、退職時には、複数のプロジェクトのマネジメントに関わっていましたね。

 

────現在は転職されて、東京の会社でプロダクトの研究開発を手掛けられています。順調にキャリアを構築されていた中で、なぜ転職されたのでしょうか。

 

日高 私自身が新しいプロダクト開発にチャレンジしたいと思ってきたからです。それまで開発業務や複数のコミュニティ活動を通して、Webやモバイル開発における知見も溜まってきましたし、その頃親会社が変わったという経緯もあって、「東京でチャレンジしてみるか」と思い、上京しました。

 

 

 

DSC_0105800-400

オープンの世界がオモシロい

 

────なるほど。コミュニティ活動の話がでてきましたが、どのようなコミュニティをいつから運営されていたのでしょうか。

 

日高 前職に在籍中からですね。Androidに関するブログを書き始めたのが今のコミュニティ活動の原型ですし、Mozillaのコミュニティへ参加するなどモバイルとWebに興味がありました。

 

────きっかけは。

 

日高 Androidが発表された際に、これまでの組み込みの技術スキルが活かせそうと感じたため、飛びついたんですね。

 

────どのあたりが活かせそうと思ったのでしょうか。

 

日高 製品の開発プロジェクトにおいてCPUやメモリなどのリソースに制限があるケースがあります。そのためソフトウェアが無駄な処理をしないようにリッチなコードを書かないなど、開発者側で工夫する必要があるのですが、その知見がAndroid開発でも活かせそうな気がしたんですね。

しかし、実際にAndroidを触ってみると、ドキュメントは英語ですし、ググっても解答はでてこないしと途方にくれるケースが多くて…。同じようにAndroid開発で困っている方もいるだろうと。だから、そういった方に向けて解説書の変わりになってくれたらいいなという気持ちで「TechBooster」というブログを開設し、情報を発信していきました。

 

────そうだったのですね。

 

日高 当初は数名の有志でスタートし、現在は執筆コミュニティとして運営しています。SDKのインストールやライフサイクルの仕組み、Intentを使ってアプリを連携させるなど、基礎的なことからAndroidの最新情報、テスティングなど応用編まで、解説しています。

 

────そもそも、なぜAndroid開発にハマったのでしょうか。先ほど、組み込みの開発環境が似ているということがありましたが、他にも何かありますか。

 

日高 メーカーでの開発はクローズドな環境でしたので、社外の人と情報を共有しお互いに技術者として高め合い、モダンな方法を積極的に取り入れるということは少ないんですね。それと比較するわけではないのですが、Androidはオープンソースじゃないですか。コードを心行くまで眺めることもできますし、他の大勢のエンジニア同士とも共有できます。ちょうどその頃は家電でもLinuxが浸透しつつあり、クローズドな環境からオープンソースの世界へ転換が進んでいました。タイミングがよかったことも、のめり込んだ要因かもしれません。

 

あとブログでの発信を続けていたところ、社内からは「家電と連携するスマホについて技術的意見を聞きたい」や、社外からは「Androidに関する講演をお願いしたい」といった、お声掛けが増えてきました。記事を書くためにインプットしてそれをブログで発表し、そこから講演や社内サポートの場でも発表するというサイクルが楽しくなりましたね。

 

────ブログでの発信、講演、共通の課題を持ったエンジニアとの交流などコミュニティ活動を通して、良質なインプットとアウトプットのサイクルを作られたのですね。

 

日高 そうですね。ブログでの発信は誤った情報を載せられませんから、これまで以上にインプットには気をつけていましたし、Androidの調査ついでにサーバサイド、フロントエンド、DBなどの見識をこれまで以上に広げるようにしました。ちょうどAndroid、 iOSが盛り上がり、スマホへのシフトが始まっていましたから、うまく市場の潮流に乗り、コミュニティが盛り上がっていきましたね。

 

 

 

コミュニティへの貢献のススメ

 

DSC_0179300-300

 

────日高さんは“サラリーマン業”とは別に独学とコミュニティ活動を通してスキルアップにつなげてきました。エンジニア全員に言えるかどうかは別として、コミュニティ活動への参加はエンジニアのキャリアに大きく関与しそうです。

 

日高 そうですね。あんまり私が言うと宣伝みたいになっちゃうんですけど(笑)。無理に参加する必要はないですが、コミュニティをもっともっと有効に活用しても良いかと思います。その理由は大きく2つあります。

 

────何でしょうか。

 

日高 まず、開発環境の変化のサイクルが早く、ご存知の通り技術は日々進化しています。例えば、言語やプラットフォームなど技術そのもののバージョンアップがありますし、トレンドになる技術の移り変わりも激しいですよね。そのため、エンジニアは最新の情報を常にキャッチアップし続けなければなりません。職場の開発環境において、最新のライブラリやプラグインが利用できないとなると死活問題に発展しかねませんよね。しかし、独りで全てを網羅するのは現実的ではありません。

 

────だからこそコミュニティを活用すると。

 

日高 ええ。コミュニティにゆだねてみてもいいかと思います。ここでいうコミュニティとは、例えば、QiitaやGitHub、数名で行われる勉強会、興味、関心がある技術コミュニティであれば何でも構いません。投稿数やスター数がたくさんある方をフォローしウォッチしていくことで、スムーズかつスピーディーに情報収集ができます。正直DroidKaigiをやっているのも、Androidの最新版を追い続けるのが個人ではしんどいと感じたので開催した経緯もあります。

 

また、「○○の技術については、△△さんに聞いたらわかる」や「●●さんのスタンスだから自分も同じようにしよう」というベンチマークになる方を自分の中で明確にしておくと良いかもしれません。技術の解説一つとっても無数にあるので、現状、情報の信頼性については人ベースでしか図れませんから。追っていくうちに、誰が発信している技術がトレンドに沿っているか、自分の技術的志向に合っているか見えてくることもありますし。

 

────仰る通り、網羅的に情報をキャッチアップし、またベンチマークになる方を見つけるにはコミュニティへの参加が早そうですね

 

日高 現在はサンプルコードが溢れ、学習方法が幾通りもあるため、取り掛かりづらいという声も聞きます。一人でやるにはなかなか継続しにくいですし、くじけますよね。だからこそ同じ目的を持った仲間をコミュニティで見つけるのが手っ取り早いですし、モチベーションを保ちやすいのではないでしょうか。そのような場では、ちょっとしたコメントや意見などのインタラクションが発生しますので。

 

 

 

気になったら飛びつく好奇心DSC_0144800-4002

 

────コミュニティを積極活用することはメリットが大きいですね。モチベーションの話が出ましたが、日高さんなりのモチベーションを保つ方法は何かありますか。

 

日高 気になったらとりあえず飛びついてみる勇気といいますか、後先考えずにまず手を動かしてみることですね。

 

────具体的には。

 

日高 例えば、AWSの新しい機能がリリースされたとして、「ちょっと触ってみよう」とすぐに取り掛かれる人と、先延ばしにする人では、学びのスピードに違いが出てきます。私自身Androidの最新版がリリースされたら必ずその日のうちに触るようにしています。やろうと思ってちょっとの間でも先伸ばしにしてしまうと、日が経つにつれて取り掛かるモチベーションが無くなってしまいがちです。

 

────だからこそ、“ハッと”したらすぐに手をつける。

 

日高 そうです。「●●の技術に興味を持った」という欲求に対して、早急に取り掛かることができるマインドを大切にすべきだと思います。もちろん、最初は着手してみても、無駄だったり失敗に終ったりするかもしれません。でもそれは良質な失敗であって、それを若いうちは体に染み込ませていけば、いずれは大きな成長につながるはずですし、本当に追求していくべき技術の方向性も見えてくるはずです。

 

────ちなみにご自身の失敗事例などはありますか。

 

日高 昔、とあるモデリングツールを開発してみたのですが失敗でしたね。設計図を書いたら、設計図通りのコードが出てきて動く仕様だったのですが、ツールとしては使いづらくて、アウトプットとしては良いものではなかったですね。

 

────他に最適な訓練やアクションはありますか。

 

日高 ハッカソンに参加してみると数日でプロダクトを開発してアウトプットしなければなりませんので、アドレナリンが出て良い刺激になると思います。ひたすら作ってはリリースするというアクションが、モチベーションを保つ訓練としては良いと思います。あと個人的にモチベーションを保つ方法で実践しているのは、大きな課題やプロジェクトにおいて、作業工程を細かく区切ってタスクを最小単位までブレイクダウンすることですね。

 

────それによってどんな効果があるのでしょうか。

 

日高 細分化することで何回もコミットできます。コミットすることに達成感を感じるタイプなので(笑)。

 

 

 

コードは汚くても良し

 

────興味に対する欲求に素直に行動することが大切なのですね。では次に、エンジニア個人が業務で意識してやっておくべきことについてはいかがでしょうか。

 

日高 個人的な意見ですが、プログラミングは目的を達成するために利用するツール、という考えがあります。ツールであるプログラミングのコードは多少汚くても構わないと思っています(笑)。当然、開発チームで合意する最低限の品質は必要です。それは間違いありません。しかし、それ以上のこだわりは読みにくさに繋がりかねないので必要ないと考えています。そもそも個人の開発であれば自分が満足すればそれでいいんです。そのため、開発スキルを向上させるのも大事ですが、各エンジニアが担当しているプロジェクトにおいて上位のレイヤーを学ぶことが大切だと考えています。

 

────具体的には。

 

日高 例えば、ゲームアプリを開発しているエンジニアであればゲームエンジン、他には会社のコミュニケーション文化やビジネスロジックについてなどの理解を深めることが有意義と考えています。そこを議論し追求していくほうが、生産性の向上や良いアウトプットにつながりやすいと考えています。

 

────なるほど。

 

日高 あとは、アプリエンジニアの共通する課題に、アプリケーションをいかに効率的に開発するかというのがありますから、公開されたライブラリを見たり、自分がライブラリを公開したりすることで学ぶのも良いかと思います。

 

────マーケットの視点で見て求められるスキルにはどんなものがあるのでしょうか。

 

日高 ありきたりではありますが、一つは課題解決能力ですね。やはりこのスキルに長けている人はどのレイヤーにおいても求められると思います。技術面だけでいくと先鋭化しているので「▲▲のライブラリの作者です」と言えるぐらいにならないと難しいかと。

 

────そこまで技術を求められるステージになっているのですね。その領域に達するのは一部のエンジニアに限られそうな気がしますが。

 

日高 そうですね。その道は難しいかもしれませんので、課題解決スキルを向上させる方がいいのではないでしょうか。そのスキルのヒントは、自分なりの技術の価値基準を持てるようになることです。

 

────価値基準とは、技術の良し悪しを図るイメージでしょうか。

 

日高 ええ、好き嫌いでも良いのですが、ある技術をプロダクト開発に採用する際、採用する理由を論理的に説明し取捨選択できるスキルです。取捨選択ができるということは、エンジニア自身が幅広く技術の知見をインプットしていて、その中から最適な技術を選択する際に何らかの基準をもっているはず。例をあげるとAndroid開発では、無数にあるライブラリから選択していくのですが、事前に触っていなければ、最適な選択をするのが難しいケースが多々あります。

 

────事前に触っておくことで、基準を明確にしておく必要があるのですね。

 

日高 先ほども話したように最新技術が次から次に出てくるため網羅するのは大変ではありますが、少しでも触っておくと最適な技術選定ができるようになりますし、それによって議論がスタートしていくケースも想定されます。そのため課題解決スキルの一部になっていくと思います。

 

 

 

DSC_0187

コアユーザーに向けた取り組み

 

────コミュニティを通して効率よく、技術を幅広く触りつつ、自分自身に価値基準を作ることでエンジニアとして成長していけるのですね。最後になりますが、日高さん自身のキャリアや、今後実現したいことなどをお聞きしたいと思います。

 

日高 エンジニアとしてはこれからも、新しい技術に触れていたいと考えています。Androidにしてもプログラミングにしても技術要素でしかありませんが、個人的には常に追っていきたいと思っています。

コミュニティ活動ですと、次回のDroidKaigiの開催について用意をスタートしていますし、それ以外の技術コミュティにも積極的に参加しコミットしたいと考えています。

 

────どんなコミュニティにチャレンジしているのでしょうか。

 

日高 スタートしたばかりのもので「技術書典」というコミュニティのイベントなのですが、技術に関する書籍を執筆する活動です。

 

────なぜ始めたのでしょうか。

 

日高 個人としてこれまでにAndroidに関する書籍は数冊出版してきたのですが、それ以外に関する技術についての書籍を作成したことがありませんでした。また、エンジニア初心者がステップアップできるキャリアについて特化した本を書けば、ニッチながらニーズがあるだろうと感じたため、新しくチャレンジしてみようと思いました。

 

────どんな書籍の構想があるのでしょうか。

 

日高 書店では扱ってないものを目指しています。「Android入門」のような書籍は既にあると思いますので、「Androidライブラリの使い方」や「Angular2の最新情報」みたいなものです。一般ユーザーに広くリーチできるものではありませんが、コアユーザーに向けた書籍の形を目指しています。コミュニティの中で作りたい人がやるというスタイルなので自由な雰囲気で作っていますね。

 

────なるほど。

 

日高 そういった活動を通して、共通の悩みを持った方や同じ目的を持った仲間を見つけやすいとも思っていますね。初めての取り組みなので、どうなるかわかりませんが(笑)。場を提供する形で、エンジニアをサポートしていきたいと考えています。

 

────ちなみに今後取り組みたい技術などはあるのでしょうか。

 

日高 VRやディープラーニング系は少し前から話題になってきていますし、最近ではBOTが流行っていますよね。UI開発のコストが少ないので、今後の市場が楽しみです。個人的には、先日発売されたRoBoHoN(ロボホン)を購入しまして、こちらもこちらもどういう体験ができるのか、ワクワクが止まりません。

 

────色んな分野にアンテナを張っていらっしゃるのですね。

 

日高 そうですね。現状のアプリ業界は、数年前と比較すると目新しいことは起きにくいステージです。ただ、何が起爆剤となって、どれがトレンドになるかわかりませんから、最新の技術は必ずチェックしておきたいと考えています。

 

────本当に最新技術への関心が高いのですね。本日はコミュニティ活動や様々なエンジニアのキャリア構築について貴重なお話をいただけたと思います。お忙しい中、ありがとうございました。

 

 

 

 

【取材者のコメント】
DroidKaigiの代表理事である日高氏は、ユニークなキャリアの持ち主だ。組み込み開発でエンジニアとしてのキャリアをスタートし、Android開発へと進んでいった。驚いたのは、新規技術が発表されたら、まず自分で試すという同氏の姿勢だ。実際に手を動かして体感から技術の良し悪しを判断しているから、エンジニアとして知見を溜めることができ急成長を成し遂げることができたのだろう。そして忘れてはいけないのが有効的なコミュニティ活動と運営だ。仲間内での効率的な情報収集や、開発手法を公開することでより多くの情報がインタラクションになり、良質なインプットにつながっているのだ。同氏のエンジニアとしてのキャリアや、スキルアップを参照にすることで、理想のエンジニア像に近づけるかもしれない。

Profile

一般社団法人 DroidKaigi  代表理事 日高 正博

 

情報系の大学卒業後、メーカー系の企業にて組み込みエンジニアとして家電のソフトウェア開発に従事。その後プロジェクトマネジメント職に就きながら、個人でMozillaやAndroid技術などのコミュニティ活動を始め、各地で講演活動や執筆を行う。2012年より、プロダクト開発会社に就業し、研究開発を行う。2015年DroidKaigiの代表理事に就任。エンジニアに向けたAndroid技術の導入支援、解説、啓蒙活動に努める。

無料転職支援サービスに申し込む [無料]

PAGE TOP

無料転職支援サービスに申し込む