こんにちは。株式会社グッドパッチで執行役員CTOをやっている、ひらいさだあきです。
「CTOから新卒エンジニアに伝えたいこと」というテーマをいただいて、自分のキャリアを振り返ってみました。
エンジニアとして活躍していくためには、一定以上の技術力が必要になります。
技術力を向上させる方法たくさんありますが、やってきてよかったことは、突き詰めると「継続的なインプットとアウトプット」でした。
僕は新卒で3000人規模のSIerに入社して、JavaやLinuxのシステム開発をしていました。
SIerには9年在籍し、31歳のときに株式会社カカクコムに転職して食べログのインターネット予約システムの開発に携わりました。ここではRuby、Rails、JavaScriptをずっと書いていました。
2015年1月に株式会社グッドパッチに入社し、最初はプロトタイピングツール「Prott」のエンジニアリーダーとして開発に関わっていました。いまはCTOとしてこうやって文章を書いたり、エンジニアカルチャーについて考えたり、採用活動などをしています。
興味のあることをやるためのインプットとアウトプット
SIerに在籍していたときは、Javaを使った開発に関わりたかったのですが、なかなか関わることができませんでした。大学生のころからJavaを使っていたのですが、実務経験としてJavaの経験がなかったためです。
それでもJavaを書きたかったので、自宅にサーバを置いて、その上でJavaで書いたサービスを公開しました。Javaの勉強会に参加したり、GCやパフォーマンスチューニングにも興味があったので、HeapダンプやThreadダンプを取って読んでコードを公開し、それをブログに書いていました。
3000人規模の社内でも情報発信を積極的に行うことで、Javaの案件に関われるようになって、そこからはどんどんJavaの仕事がきました。技術的難易度の高いものもあり、楽しかったです。
Javaであれこれやったあと、HTML5が流行っていたので興味を持つようになりました。まだChromeのバージョンが8とか9のころです。
HTML5とか勉強会が毎月開催されていて、そこに参加しました。かなり人気があり、応募開始から30分くらいで100人の枠が埋まってしまうような状況でした。業務ではJavaScriptやHTML5は使っていませんでしたが、面白くて毎月応募して参加しました。これ以外にも参加した勉強会のことは全てブログに書いて、アウトプットしていました。
その後、Chrome Extension作ってそれについてLTで発表したり、それがきっかけで技術系のメディアで執筆する機会をいただいたり、HTML5とか勉強会のスタッフとして携わるようになりました。
こういったことを続けていたら、いつのまにか自分の興味のある分野の仕事ができるようになってきました。
Goodpatchでのインプットとアウトプット
Goodpatchでもインプットとアウトプットを大切にし、会社としてその機会を増やすようにしています。
Goodpatchはデザイン会社ですが、職種としてはエンジニアが最も多く、昨年末にはアドベントカレンダーを作り、多くのエントリーが投稿されました。
・Goodpatch Advent Calendar 2015人気記事の紹介 | MEMOPATCH
GoodpatchではWeb系エンジニアの社内勉強会を隔週で開催しています。2~3人がスピーカーで、希望者がいれば話してもらい、特にいなかったら抽選してあたった人に何か話してもらっています。こういった活動から、社外の勉強会に登壇する人も増えました。Goodpatchには書籍を執筆しているメンバーもいて、執筆した書籍をベースに非エンジニア向けの勉強会なども行いました。
Goodpatchにはデザインが好きなエンジニアが集まっています。エンジニアからデザインについての発信を行う機会も多く、そこでデザイナーとディスカッションすることで、デザインと技術についてより深く理解できます。
まだまだ会社としての取り組みが足りていないところがあるので、これからどんどんインプットとアウトプットがしやすいカルチャーを作っていきます。
まとめ
どのような技術も、ある一定以上詳しくなろうとすると、その周辺の技術について学ぶ必要が出てきます。
例えばRailsについて詳しくなろうとすれば、メタプログラミング、Rubyの言語仕様、REST、HTTPなどについて学ぶ必要があります。周辺知識が増えてくると、新しいことを学ぶコストが減っていきます。
さらに学ぶ際にはインプットだけを意識するのではなく、アウトプットを意識することで、学習効率が上がります。アウトプットという目的があると、インプットの質がより高まるからです。
新しい技術はどんどんでてくるし、新しいものについては常に初心者です。
継続的なインプットとアウトプットを行い効率的に技術を習得できる人が、エンジニアとして活躍し続けられる人だと思います。
僕もまだまだ成長していきたいし、エンジニアとしても活躍していたいので、インプットとアウトプットを続けていきます。