アイキャッチ

堤修一氏(有名技術ブロガー)に聞く、「情報発信」からキャリアをデザインする方法【特集:エンジニア育成の本質】

スキル

    有名無名を問わず多くのエンジニアが日々、自身のブログやGitHubなどで情報発信を行っている。その内容は技術解説からエンジニアのキャリア、マネジメント論までさまざまだが、情報にアンテナを張るのと同様、発信することにもエンジニアが成長する上で大きな意義があることは間違いなさそうである。

    とはいえ、社会人としてのスタートラインに立ったばかりの若手エンジニアの中には、何についてどう書けばいいのか皆目分からないという人もいるのではないだろうか。

    そこで今回は、GitHub上で公開したサンプルコード集『iOS7-Sampler』、『iOS8-Sampler』は合わせて5000スター超と世界中から注目を集めており、ブログ『Over&Out その後』でも精力的に発信し続けているiOSエンジニアの堤修一氏に、駆け出しの新人エンジニアが情報発信する際の心得について聞いた。

    フリーランスのiOSエンジニアとして国内外で活躍する堤氏は、絶えず成長し続けるため、また自身のキャリアを形作るために、どのようなスタンスで情報発信に取り組んでいるのだろうか。

    堤修一(@shu223)
    国内外でのフリーランスiOSエンジニアとしての活動を経て、現在はサンフランシスコのFyusion社。ウェアラブルおもちゃ「Moff」、次世代車いす「WHILL」、ウェアラブルトランシーバー「BONX」などハードウェアと連携するiOSアプリを多く手がける。オープンソース活動も行っており、GitHubでの累計スター数は世界トップ50にランクイン。著書「iOSxBLE Core Bluetoothプログラミング」「iOSアプリ開発 達人のレシピ100」

    先輩のひと言がきっかけで始めた技術ブログ更新。3カ月毎日、黙々と

    堤氏のブログ『Over&Out その後』

    堤氏のブログ『Over&Out その後』

    大手企業からカヤックへと転職し、32歳でプログラマとしてのキャリアをスタートした堤氏。

    入社して1年ほどが経過したころ、半期に1度の目標設定の場で先輩エンジニアからもらったアドバイスが、今日まで続く技術ブログ更新のきっかけとなった。

    「プレイヤーとしてやっていきたいのなら、エンジニアコミュニティで影響力を持つぐらいにならないといけないと言われたんです。やりたいのはあくまで開発であって、影響力を持ちたいなんて思ったことはなかったんですが、そうでもしないと年齢のこともありいつまでも100%プレイヤーでいるのは難しい雰囲気がありました。

    オープンソースを公開することも助言されましたが、そんなの怖いし、したくもない。ブログくらいであればまだいいかという感じで、最初は消去法的に設定した目標でした」

    「ブログ更新なんて新卒向けの目標。簡単すぎるのでは?」という声も社内にはあった。自分としても記事の質に自信があったわけでもない。そこで堤氏は、圧倒的な「量」で勝負しようと考えた。

    「一つ一つの記事の質には自信がなかったので、あまり人には言わずに毎日黙々とブログを更新していました。3カ月分の記事が溜まるころには技術情報を発信する恐怖も薄れ、記事によってはぽつぽつと、はてブも付くようになってきました」

    記事は当初から技術的な内容のものを書いた。iOSのサンプルコードを恐る恐るGitHub上に上げ、いろいろと調べながら3時間かけて1記事を仕上げた。

    「最初はブログを書くために新たに勉強したり一から文章を書いたりもしたのですが、このペースでやっていると絶対に続かないと思い、次第に仕事中のメモを掘り起こして書くスタイルに変わっていきました」

    考えなしのただの素振りではバッティングは上達しない

    堤氏のGitHubページ。公開したサンプルコード集『iOS7-Sampler』、『iOS8-Sampler』は合わせて5000スター超と世界中から注目を集めている

    堤氏のGitHubページ。公開したサンプルコード集『iOS7-Sampler』、『iOS8-Sampler』は合わせて5000スター超と世界中から注目を集めている

    キャリアを重ね、今回のように情報発信について話す機会が増えてきた堤氏は以前、自身の経験にも照らし合わせて「とにかく書き続けることから始めよう」という趣旨のアドバイスを送っていた。

    だが、今はそうした考えをやや改めているという。

    「僕の講演を聞いて書き始めたという人のブログを見てみたら、本当にただ毎日、内容のあまりない記事を書き続けているだけ、ということがあったんです。それでも書き慣れてくるとか多少のメリットはあるとは思うのですが、ずっと誰にも読まれないままだろうし、それだと楽しくなくて結局は続かないはず。野球にたとえるなら、どうすればもっとうまく打てるかを考えずにバットを振り続けているようなもの。筋力はついたとしても、それではバッティングが上達することはないでしょう」

    そういう視点であらためて自身のブログの黎明期を振り返れば、質より量とは言いつつも、一方では質を向上させるための試行錯誤は欠かさなかった。

    「書いた記事にブックマークが付いたら、記事がウケた理由を考えて次に活かしたし、サンプルコードをGitHubに上げるのに比べて、効率よく記事を作る方法を探ったり、スクリーンショットを貼るのが面倒くさくても、1枚貼るだけで読みやすさが段違いに向上するので貼るようになったり、流し読みしても内容が分かるように見出しを細かく分けるようになったりもしました」

    3カ月書き続けるという量の目標設定にしても、「インパクトのボーダーラインをいかに超えるか」を考えた末に導き出したものだった。

    「1カ月ぐらいは続ける人は続ける。2カ月続ければ少しはすごいかもしれないが、それでもインパクトは弱い。だったら3カ月続けよう、と。そういった考え方は今に至るまで変わっていません」

    例えば直近では、今回のWWDCの発表を受けて、watchOS-2-Samplerを公開するかどうかについては、かなり迷ったという。

    「iOS Samplerシリーズは、あまり知られていない新機能だったり、実装方法の情報が少なかったりするサンプルコードをたくさん網羅していたので世界中の開発者から歓迎されたと思っています。それに対し、watchOS 2でできるようになった新機能の多くは、iOSでは今までも普通にできたごく基本的なものばかり。サンプルコード集としての価値はあまりないのでは、という懸念はありました」

    最終的に公開することにしたのは、watchOS 2が正式リリースされる秋では意味がなくても、WWDCの開催週に公開するのであれば、それなりに価値があると判断したからだ。

    情報発信によって作り上げる自身のエンジニア像がキャリアを左右する

    長く情報発信を続けている堤氏だが、とはいえそのスタンスは、「エンジニアがスキルアップするための一番の方法は、実際に手を動かすことである」というものだ。だから成長したかったら、手を動かす時間を最大化するのが正しいと話す。

    「僕が喜びを感じるのは、あくまでアウトプットすることに対してです。新しい技術を学ばなきゃとは思っても、やはりその先にアプリなど何らかのアウトプット先が見えないとモチベーションが湧かない。ただし現実には、アプリを1個作って世に送り出すのには大きな労力と時間を要する。ブログ記事はこうしたアウトプットの第一歩目として位置付けています。勉強会での発表や、GitHubでのオープンソース活動も、そういった小さく始められるアウトプット先の一つと考えています」

    情報発信することには、その後の仕事につながるというメリットもある。堤氏は、今後自分がどのような仕事をしたいかを考えて、ブログで発信する内容を意識的にデザインしてきた。

    「2013年末にはハードウエアと連携するアプリを作ることに興味があり、当時はほとんど知識を持ち合わせていませんでしたが、都度調べつつ、BLEに関する記事を多く発信していました。その記事がウエアラブルおもちゃ『Moff』CTOの米坂元宏さんの目に留まり、勉強会で声をかけられて、仕事をいただくことができたんです」

    特に堤氏のようなフリーランスのエンジニアにとっては、どういう実績を積むかが、周囲から見たその人のエンジニア像となり、その後のキャリアを左右する。ブログなどによる日々の情報発信に関しても同様である。

    「僕は自分のエンジニア像というものを、自社プロダクトのように捉えているかもしれません。だから、周りからどう見えるかを意識しながら情報を発信していますし、こういった取材は積極的に受けるようにもしているんです」

    上ばかり見て絶望する人は成長できない

    自分のエンジニアとしてのキャリアや生存戦略について講演した際に、「報われないかもしれない、と不安になったことはないか?」と質問されたことがあるという。

    その当時は自分の感覚と違いすぎて、言われていることの意味がとっさに理解できなかったという堤氏だが、時間を置いた今は、なぜそういう質問が生まれるのか、自分なりに解釈することができるようになった。

    「その質問をされた方の言う『報われないかもしれない』というのは、記事を書いてもバズらないかもしれないとか、アプリを出してもヒットしないかもしれないとか、プログラムを頑張って勉強してもすごいプログラマの人たちには追いつけないんじゃないかとか、そういうことをおっしゃっていたのだと思います。そう考えると、確かに辛いことが多いだろうと思いますね。

    僕自身は、有名になろうと思ってブログを書いてきたわけではないし、大ヒットアプリを作って世界を変えてやろうと思っているわけでもないし、スーパープログラマーになりたくてプログラムを始めたわけでもない。最初はシミュレータで文字を表示できただけで感動したし、初心者のころはどんなにありきたりで簡単なアプリでも自分の手でアプリを作っているというだけで楽しかった。だから、そうした行為の1歩1歩が報われていると感じられているし、不安もないんです」

    自然とそう考えられる人が、成長できる人なのではないか。逆に上ばかりを見て絶望するような人は、その分野に向いていないのかもしれないと堤氏は続ける。

    「昔、ギターをやっていた時期がありました。うまくなって、格好良く演奏がしたいという動機はあったものの、その過程にある練習自体は楽しくなかった。それは、自分がギターに向いていなかったということだと思います。ギターをやっていてプロになるような人は、練習自体が楽しくて、ご飯を食べるのも忘れて四六時中ギターを弾いているような人でしょうから」

    報われないかもしれないことが辛くて1歩が踏み出せないという若手エンジニアに向けて、堤氏は最後にアドバイスをくれた。

    「僕がすごいエンジニアだと思う人でも、話を聞いてみると意外に自信を持っていなかったりすることがあります。もちろん中にはスーパーな人もいるでしょうが、たいていはみな、頑張れば手の届くような人たちだったりするのです。

    他人の技術ブログを読むと、自分の知らないことがたくさん書いてあって、世の中にはすごい人ばかりだなぁ、と思うことがあるかもしれません。ただそれは書き手自身もすごいことを知ったと思ったから書いているのであって、みんなで背伸びをしあっているようなもの。Facebook を見るとみんながリア充に見えるのと同じです。そう思って、まずは1歩を踏み出してみればいいのではないでしょうか」

    取材・文・撮影/鈴木陸夫(編集部)

    Xをフォローしよう

    この記事をシェア

    RELATED関連記事

    RANKING人気記事ランキング

    JOB BOARD編集部オススメ求人特集






    サイトマップ