SonicGardenプログラマが大切にしている考え 〜キャラクタを明確にするということ〜
SonicGardenのスタイルや取り組み、さらにはエンジニアに求めるスキルについて、代表の倉貫がブログや雑誌など様々なところで語ってきました。
- 『プログラミング初心者のうちに身につけたい3つの習慣』
- 『兼業のススメ〜トータルフットボールなチームを目指して』
- 『新型エンジニアに「トータルフットボール」が求められるワケ』
- 『トータルフットボールなチームの成り立ち 〜エンジニア視点〜』
これらの記事中で語っているスキル以外に、SonicGardenのエンジニアが大切にしている価値観について書いてみます。
まず前提として知っておいてもらいたいことがあります。
ご存知のようにSonicGardenのメンバーは現在7名です。
この少人数でSKIPやyouRoom、keep in touchなどの自社サービス以外に、納品のない受託開発も行なっています。
この7名で、マーケティングからシステム設計/開発、さらにはシステム運用まで全てを担っているため、個々人に求められるスキルも多岐に渡ります。
その中でプログラマとして活躍してもらうためには尖った技術力とユニークな考え方が必要となります。
これを踏まえ、今回はSonicGardenのエンジニアが求めてる大切な価値観を1つだけご紹介してみようと思います。
キャラクタを明確にすること
新メンバーとしてSonicGardenにJoinすると、最初のうちは週に1度のペースで振り返りを一緒に実施します。今週1週間でやったことをインプットに、この1週間での課題点を洗い出し、課題が見つかると、その解決/対応策をメンバー全員で考えます。
※ 振り返りの詳細については、最近新メンバーとしてJoinした jit がブログで書いてくれると思うので、ここでは割愛します。
振り返りの最後によく新メンバーに聞く質問があります。
『どんなキャラクタを目指していきましょうか?』という質問です。
なぜこのような質問をするかというと、"何かひとつ尖った特技/技術/考え方を身に付け、その分野ではメンバーに頼られるようなエンジニアにはやくなってほしい"と全メンバーが思っているからです。
では、現在のSonicGardenのエンジニアにはどのような特徴があるかを一言で紹介していこうと思います。
■ mat_aki (Akihiro Matsumura)
■ maedana (Naoki Maeda)
■ mah_lab (Masahiro Nishimi)
- UI/UXなどのデザインを得意とし、RubyやJavascriptなどの技術力も高い
- 新技術などはすぐに試したい知識欲旺盛タイプで攻めのプログラマ
■ interu(私、、、自画自賛!?w)
- AWSなどの仮想化技術やインフラ/ミドルウェア領域が得意
- 安定性/信頼性を考えた、守りの姿勢でのコーディングが得意
このように、個々人のキャラクターや強みは少しづつ異なっています。
得意領域が各々違うことで、悩むことがあったらその分野に強いメンバーに相談することで互いに補完し合い、結果的にサービス品質の向上につながっています。
考え方の違いについても同様で、全員が攻めの姿勢のエンジニアがいるから新しい技術を積極的に採用することができ、反対に守りの姿勢のメンバーがいるから、サービスの信頼性を担保した設計を実現できていたりもします。
様々なキャラクタが集まり、多様な意見を言い合うことで、各人が観点を広げることができ、スピード感を持って安定したサービス/システムを創っていけていますが、新メンバーについても早くこのような状態になってほしいと思うが故に、前述したような質問を投げかけるのです。そうした方が本人も、早く貢献しなくては!という考えが生まれ、"おんぶに抱っこ"という状態を早く抜け出せることができるはずです。
他にも、SonicGardenプログラマが大切にしてる価値観はありますので、それらについてもブログで書いていこうと思います。