エンジニアの文化とか採用についてやってきたこと

合同会社テンマドで代表社員をしています山岡です。基本はPHPやNode.jsのエンジニアですが、社外CTOや技術顧問など、アドバイザーとしていろいろな会社のお手伝いをしています。
情報の共有から始める
アドバイザーとしてのご相談をいただく場合、そもそもまだ社内にエンジニアが数人しかいなかったりして、この先どうチームとして育てていけばいいのかわからない、その部分を手伝ってほしい、というケースが多いです。
その場合、どこから始めるかというと、情報の共有と見える化から始めることが多いです。esaなどMarkdown記法で気軽に書けるドキュメントツールを利用して、どんな些細なことでも書くようにしてもらいます。例えばサーバーでの作業計画とそのログ、フレームワークやライブラリの使い方など。
書くハードルをどうやって下げるかがポイントです。考え途中や調べ途中のものであっても、とりあえず書いて共有する癖をつけてもらうこと。そうすると、その記事を見ながら話ができるようになります。周りの人も何が起こっているのかわかるようになって、助言しやすくなります。
元々エンジニアの場合、書くことに慣れている場合が多いです。プログラミングにはコメントも含めてドキュメントが付きものですし、個人でブログをやっていたり、QiitaやTwitterを利用しているエンジニアは多く、環境さえ整えば自然と書き始められます。
次のステップとしては、エンジニアだけでなく会社全体にドキュメントを書く文化を根付かせたいところです。日報を書いたり、ミーティングのアジェンダと議事録を書くところから始めるとメリットが伝わりやすいです。
ただ、エンジニアに比べると書くのに慣れていない人が多いので、例えば日報の所感に、飼っているペットのこと、観た映画のことなど自由に好きなことを書いてもらうなどして、楽しく続けられるようにします。無理して書いてもらうのでは続きません。
オープンにアウトプットする
そうして情報が集まり、流れるようになってくると、社内で隠しておかなければならない情報と、そうでない情報が明らかになります。例えば、人事に関わる情報には秘匿されるべきものもありますよね。でも逆に考えると、それ以外で隠さなければならない情報はそれほど多くないはずです。
情報はできるだけオープンにしましょう。エンジニアは、情報が必要以上に隠されることを嫌います。現実問題として、情報の流通を制限することにメリットはほとんどないはずです。いろいろな会議の情報だったり、経営層が最近考えていることだったり、どんどんオープンに発信していきましょう。
それをさらに進めていくと、例えば会社のブログだったり、メディアだったりを通しての発信につながります。エンジニアブログを始めてみるのもいいですね。大切なのは、続けることです。とりあえず始めてみたものの、しばらく経って止めてしまうのはもったいないので、続けられる工夫をしましょう。
エンジニアに限って言えば、技術的な知見を社内にとどめておく意味はほとんどありません。そもそもオープンソースのソフトウェアを使っていることが多い現在、知見や経験談はインターネットにあふれています。その恩恵を得て開発を進めているわけですから、一方的に情報を受け取るだけ、というのは感心しません。
発信された情報は、必ず誰かの役に立ちます。そういう循環ができたらいいとは思いませんか。ギブアンドテイク、です。情報の発信だけでなく、社内で作ったライブラリをオープンソースで公開するなどしてもいいかもしれませんね。
また、例えば勉強会やカンファレンスで登壇、発表するのもいいと思います。ブログやメディアと違って、生の感想や反応を得ることができるいい機会です。それだけでなく、エンジニアのコミュニティーの中に入ることで、いろいろな話を聞けたり、同じ悩みにぶつかっている人同士で話ができたり、いいことずくめです。
例えばPHPだと、2017年は福岡、関西、東京で規模の大きなカンファレンスが開催されました。それ以外にも勉強会はとても多く開催されています。場合によっては、開催する側にまわるというのも手です。ぜひチャレンジしてみてください。
インプットを続けること
さて、発信、アウトプットは重要ですが、それだけではいつか内容が枯渇します。また、そもそも技術やそれを取り巻く環境はどんどん新しく、進歩していきます。その情報をキャッチアップしていくのはエンジニアとして当たり前なのですが、その情報もうまく共有できる仕組みを作ることができるといいですね。
例えば社内で勉強会を開催して、持ち回りで新しい技術について発表する。そうすれば発表する人が学習するだけでなく、参加する人たちのインプットのショートカットができます。複数のメンバーが集まることで、効率のいいインプットが可能になるのです。カバーしておくべき技術の範囲がどんどん広がっている昨今、そういった環境を社内で用意できるのは大きなメリットでしょう。
新しい技術のインプットだけでなく、お互いの仕事内容を共有する場も設けたいところです。それを聞いてアドバイスし合えるようになれば、とても強いチームだと言えるのではないでしょうか。
会社としては、そのインプットをできるだけ支援していきたいところです。社内での勉強会を開きやすくしたり、社外の勉強会やセミナー、カンファレンスへの出席をサポートしたり。カンファレンスなどで登壇する場合、遠方での開催であることもあります。その場合も何かしらの形でサポートできるといいですね。
会社にとってのメリットとは
エンジニア側の視点で書いてきましたが、会社にとっては何がメリットになるのでしょうか。
まずインプットの面。もちろんですが、社内のエンジニアのモチベーションにつながります。ずっと同じことをやっているだけでは、エンジニアとしてのキャリアは行き止まりです。常に新しいことに部分的にでもチャレンジしていける環境がないと、技術や周囲がどんどん進んで行ってしまうので、いつの間にか取り残されてしまいます。
それは個人でやるべき、という話もあるでしょうが、それをサポートしてくれる会社と、そうでない会社と、どちらにいたいと思うでしょうか。社内のエンジニアのレベルを維持、向上させるためにも意識しておきたいところです。
次にアウトプットの面。社外まできちんと発信できるようになれば、会社のPRにつながります。単純に技術力をアピールできるだけでなく、エンジニア、ひいては社員のスキルアップを積極的にサポートしている会社、というふうに見てもらえるようになるかもしれません。
採用活動につなげるために
エンジニアの採用の相談をよく受けます。いい人が入ってこない、と。そう聞いたとき、もしあなたがエンジニアだとして、この会社を選びますか?と聞き返すことがあります。どうして選ばれると思うのですか、と。
例えば、外から見たときに何をしている会社なのかよくわからない会社、という場合があります。自分がそこに転職したとしても何をやるのか見当がつかなかったり、やることの想像はついたとしても、どういうふうに働くことになるのか見えない会社。会社のことは知っているけれど、エンジニアの顔が見えない会社。それではなかなか、応募は来ませんよね。
エンジニアの場合、例えば勉強会で知り合った人が、その人の会社でどういうことをしているのか、聞いたり話したりする機会が多いです。あるいは発表や登壇などで仕事内容や仕事風景が紹介されたりすることもあります。
もちろん、実際に会わなかったとしても、会社のブログなどで社内の様子がわかったり、発信されていたらそれだけで親近感がわくこともあるでしょう。継続的なアウトプットが大切な理由は、そんなところにもつながっているのです。
最近「リファラル採用」が盛んです。たしかに、知り合いでいい人がいれば紹介してほしい、と会社側としては考えるでしょう。でもそこには、社員が自分の会社を自信を持って紹介できるかどうか、という視点が必要です。
そもそも、社員が自分の会社についてうまく説明できないケース、あります。会社の理念やミッションについて、社員が理解して他の人、社外の人に説明できるようになっているでしょうか。もしできないのであれば、まずはそこから始めるのがいいかもしれません。社内でそういうことを話す時間を持つこと。経営層がそれについて発信し続けること。
そしてその先、それぞれの社員が自分の会社はいい会社だと思っていないと人を誘ったりすることはありません。外に目を向ける前に、内に目を向ける必要があるかもしれませんね。
アドバイザーとしての関わり方
アドバイザーとしてどんなことを考えながらやっているのか、書いてきました。
私は大学を卒業後、SI業界にエンジニアとして就職。その後Webベンチャーに転職した後、会社が海外企業に譲渡され、サービスとともに転籍、そしてスタートアップに参画。今のテンマドという会社を起業したという経歴の持ち主です。
その中でエンジニア中心の会社が、20人から80人に成長する過程も見てきましたし、採用や文化作りにも長い間携わってきました。その経験や知見が、もし誰かの役に立つのであればと思って始めたのがアドバイザーとしての仕事です。
それはつまり、私にとってアウトプットすべき情報にあたります。今までいろいろな人に支えられ、いろいろな本を読んだりしながらここまで来ました。今度は自分がいろいろな組織や会社、エンジニアを支える番なのかな、そういうこともしていきたいなと思ったのです。