こんにちは!株式会社LIFE PEPPERで人事・採用を担当している吉田典広です。
今回は、LIFE PEPPERのエンジニアチームについて紹介します。
2019年4月に本格的に立ち上がり、すでに10名ほどになっているエンジニアチーム。その立ち上げからチーム文化の醸成、メンバーの育成などを担っているのが、CTOの藤池です。
藤池は、自身の会社(株式会社ジシバリ)の経営をメインにしつつ、外部CTOとしてLIFE PEPPERに関わってくれています。
実は、LIFE PEPPERのエンジニアチームはエンジニア経験のなかったメンバーが多く在籍し、活躍中。プログラミング初挑戦の学生インターンが数ヵ月で重要な役割を担うなど、短期間で成長できる環境を整えている彼に、チーム作りで大切にしていることを聞きました。
LIFE PEPPERのエンジニアチームの特徴
藤池 匡史
株式会社Donuts, 株式会社enigmo, 株式会社Socketでのインターンを経て、学生時代に株式会社Spiceを友人とともに立ち上げ。CTOとして2年間活動し退任。その後、フリーランス期間を経て、 2017年に本質的な開発組織の構築を目指して株式会社ジシバリを創業。自身の会社を経営しつつ、2019年4月よりLIFE PEPPERのCTOに就任し、主に組織構築を担っている。
――今のエンジニアチームは、半分くらいがプログラミング未経験からスタートしたメンバーでしたっけ?
そうですね。私がCTOとして組織作りに関わるほかは、経験者のエンジニアが4名、未経験からチャレンジしてくれているメンバーが5名の計9名なので、実際に業務を進めているのは未経験からスタートした人が多数派です。
――未経験者や初心者でも活躍できるチームにするために気をつけていることはありますか?
「初心者に優しいチームでありたいね」っていうのは常に言っていて、そのために何ができるか考えています。
例えば僕がプロダクトのコードを確認するとき、「このコードは初心者が理解しにくいから、変更してください」みたいに指摘することもあって。
コードとしてレベルが高くても、我々の組織ではそれで困る人が増えるかもしれないから、そこまで考えよう、と。だから、初心者が見てもわかるコードにするか、説明を書き足すなり、ドキュメントを残すなりしてもらうんです。
LIFE PEPPERのエンジニアチームの特性を考えた上で、自分が現場から抜けても大丈夫な仕組みを作るところまでが責任だよと。じゃないとメンバーを増やしていくのが難しくなりますから。
――経験が浅いメンバーが多いチームを常に想定して、組織としての在り方を考えているんですね。
そうですね。あとは心がけの範囲になりますけど、「面倒見がいい人をすごい褒める」っていうのも大事にしています。
例えば、初心者のメンバーが書いたコードをレビューするのって、すごく大変なときもあるんです。でも丁寧にレビューしてくれるとか、そもそもレビューが大変にならないようにルールを作ってくれるとか、そういうメンバーの行動をちゃんと称賛しています。
こうやって丁寧に育ててもらったメンバーは、次に入ってきた人にも同じように接してくれる。面倒見の良さが連鎖するんです。
結果として、研修が充実した大手のような環境でなくとも、未経験から挑戦、成長できる組織ができてきているかなと。
――めっちゃいいですね。ほかに、藤池さんが今まで見てきたチームと比較して、LIFE PEPPERのエンジニアチームの特徴的なところってありますか?
前提として、LIFE PEPPERは普通の開発環境とはまったく違うので(笑)、その分チーム文化も色々と特徴的なところがあります。
一般的な開発組織って、「◯◯を作ってほしい」と言われて、仕様を固めて計画通り作っていくので、一度決まったことをひっくり返すのはすごく嫌われます。
でもLIFE PEPPERは、市場やユーザーの変化を素早く捉えて、常にベストを追求しているので、結果としてスクラップ&ビルドを高速で繰り返すことになるんですよ。前提がひっくり返るとかも全然ある。
「一旦決まったことだから、とりあえずそれで進めよう」みたいな大人の事情が一切通用しない組織なので。
そんな中で、エンジニアは「言われたものを作る」のではなく、経営視点、事業視点で考えてベストな提案をしていくことが求められます。会社として「全員経営者」という行動指針を掲げているので、エンジニアもそこは同じ。
この主体性や当事者意識の強さは、LIFE PEPPERの大きな特徴です。
――無茶な要求が多いってことですよね(笑)。
まあ、ですね。このバランスは難しくて、事業に寄りすぎると、とにかく速く作ろうとか、まずは形にしようとかなりがちなんですけど、そこはちゃんとエンジニアとして考え切らなきゃいけないところというか。
何かを形にしようとしたときに、起こりうるパターンを考えてそれぞれに最適な仕様を設計して……みたいな本当に細かいとこって、結局エンジニアじゃなきゃ考えきれない部分なんですよね。
例えば「サイトを多言語化したい」と言われたとして、そもそも言語ごとに全く違うサイト作るか、記事ごとに言語切替ボタンを表示するか、最初に表示する言語はユーザーのブラウザの地域を見るのか言語設定を見るのか、いっそ最初は英語で表示して自分で切り替えてもらうか…それぞれメリデメが異なるたくさんのパターンがあるわけです。
で、リソースが限られている中では、「この部分はユーザー体験のために譲れないけど、その分ここは妥協しなきゃいけない」「こういう状態を避けるためにはこの仕様にすべきだけど、それをするなら納期がこれくらい伸びます」みたいなのを常に議論しなきゃいけません。
そこで事業に振り回されるのではなく、完璧ではなくても「なぜ今、この設計でやっているのか」を自分で考えきって、その時点でできるベストの仕事をするのが重要なんですよね。事業の視点も持ちつつ、エンジニアリングのいい部分もちゃんと持ったチームにしたいと思ってますし、今はわりとできているかなと思います。これも特徴的な文化と言えるかもしれません。
――僕はエンジニアチームに要望を出す側ですけど、変にビジネスサイドと対立せず、エンジニアとしての視点も持ちつつも事業のことも考えて議論してくれるなっていつも思ってます。ありがたい限りです。
未経験から爆速で成長する肝は“いつでも質問できる”環境
――エンジニアってやっぱり経験者採用のほうが多いと思うんですが、未経験からどうやって育成してるんですか?
基本は2週間の試用期間で知識や基礎的なスキルをつけてもらって、あとはOJTです。
僕らが試用期間と呼んでいるのは、プロダクトコードにコミットしない、いわゆる無休インターンの期間になってしまいます。ですので、お時間をいただく代わりに、ちゃんと「学べる場」を提供しています。
無料で勉強しながら、現職のエンジニアに色んなことが聞ける場だと考えてもらうのが適切かなと思います。
この「いつでも聞ける」っていうのが、未経験者が健やかに成長するためにめちゃくちゃ重要で。壁にぶつかったときの突破率が圧倒的に変わるので、その分学びのスピードも上がる。プログラミングを独学でやったことがある人ならわかってくれると思うんですけど、「エンジニアに相談できる環境」はすごい貴重なんですよね。
そして試用期間でお互い「一緒に働きたいね」となれば、OJTに移行します。試用期間で学んだことを使ってプロダクトのコードを書いてみつつ、先輩エンジニアが手厚く見てくれる環境を作っている感じです。
――試用期間のプログラムって例えば何をするんですか?
具体的なプログラムは入ってくれる方に合わせて設計しますが、基本的には使用言語の公式チュートリアルを進めてもらい、つまずいたらまわりのエンジニアに相談してもらうという進め方になるかなと。
以前、一気にエンジニアを採用したときは4人が同時に試用期間になったので、「2週間で、何でもいいから動くアプリを作る」というお題で進めたこともあります。
彼らはTwitterライクなポストができるアプリを作ると決めて、開発を進めてくれていましたが、正直「間に合わないだろう」と思ってたんです。Twitterライクと一口で言ってしまうと簡単に聞こえますが、実は、初心者がやるにはとても難しいんですよね。
でも驚くことに、2週間後に蓋を開けてみると「動いている」といえるものが完成したんです。それができた大きな要因が、困ったらすぐ聞ける距離に相談相手がいてくれる環境だったと思っています。
――確かに、いいコーチがいれば成長速度は上がりますよね。面倒見が良い先輩エンジニアにいつでも相談できるっていうのが重要だっていうのはよくわかります。
プログラミング未経験でも、エンジニアとして活躍できる人とは?
――学生時代にエンジニアリングを専門的に学んでいなくても、活躍するエンジニアになれるのってどんな人ですか?面接とか、どういう部分を見てるのかなと思って。
エンジニアという仕事への適性で言うと、論理的思考力と根気強さですかね。ちゃんと自分の頭で考えて何かに挑戦して、その結果を受けてさらに工夫したり改善する。そういうサイクルを回したことがある人は、エンジニアに向いていると思います。
論理的思考力と言ってもそんな難しいことを求めているわけじゃなく、面接でこちらの質問を理解して適切な回答ができるかとか、エピソードの中で出てくる思考過程に納得感があるかとか、そういうところを見てます。考える力がある人なら、少し指導することで一気に伸びるんですよね。
根気強さが大事なのは、開発の中で壁にぶつかったときに重要になる要素です。上手くいかないところが出てきたときに、粘り強く試行錯誤したり、一つひとつ課題を地道に潰していったりできる人じゃないと、エンジニアをやっていくのは辛いです。ここは一緒に働かないとわかりにくい部分ですが、エピソードなどから推察することもあります。
あと、LIFE PEPPERでエンジニア候補として採用する場合はこの2つの要素に加えて、「LIFE PEPPERに合うか」が大事になります。
――“LIFE PEPPERで”エンジニアとして働くために必要な素養をもう少し詳しく教えてください。
LIFE PEPPERはみる人によっては「頭がおかしい」と言われるくらいの会社かもしれません。急にハンドルを切るみたいに事業戦略が変わったりするので、クライアントやエンドユーザーにプロダクトをぶつけた手応えをもとに、昨日までの前提がひっくり返ったりします。
いわゆる「ふつうのソフトウェアエンジニア」からすると、狂ってると思われるような意思決定もたびたびあります。ただ、だからこそ、そういう過激な試行を繰り返し続けて生き残ってる会社としての面白さがたくさんあって、そこが魅力だと思っています。
この狂気的な面白さを一緒に波乗りする気概のある人にとって、LIFE PEPPERは最高の環境だと思いますし、まさにそういう人たちのために、僕たちは日々組織をアップデートしています。
――良い感じで締まりましたね〜!今日はありがとうございました!
編集協力:青木まりな