おはにちばんわ。
どうも、ブタです。
僕は、普段、エンジニアとして「めっちゃイケてるプロダクト作ったる」という想いと同じくらい、"エンジニアとしてチームで働くのが楽しい"を創造したいと考えています。
というより、チームで楽しさややりがいを感じた先にイケてるプロダクトがあると考えています。
技術ネタは他のメンバーにお任せして、溢れんばかりの悲壮感と徒労感を出していたメンバー達が「仕事楽しい」と言うようになるまでの、ゆるーいソフトスキルやゆるーいチームビルディング寄りの、話を書きたいと思います。
はじめに
この記事はうるる Advent Calendar 2019 7日目の記事です。
ちなみに、うるるにはジョインしたばかりですが、控えめに言って超楽しいです。
事の発端
とあるオフショア開発現場にて。
「今日から君にはこのチームを任せるから。よろしく。」
と上司に言われ、軽く挨拶をした後に無表情で気怠そうなメンバーのパソコンを覗くと、
そこには転職サイトが開かれていました。
タックマンモデルで言えば、形成期でしょうか。崩れかけの。
目標設定
この時点で僕の中に「良い職場をつくる」(≒良いチームをつくる)という目標が生まれました。
(対外的には「もっと良くする」という表現を使ってましたが)
- 毎日仕事に行くのが楽しみな職場
- エンジニアとして成長できる職場
- 成果を認めてもらえる職場
人によって「良い職場」という定義は異なると思いますが、問題・課題から直結させて上記の3つを設定しました。
もう少し具体的に述べると、
- 誰も退職者を出さない
- 外部勉強会に登壇させる
- メンバーの中からMVPを出す
- 売上を上げる
などなどを指標にしていました。
施策
おはよう
- 目的:メンバーのことを知る
- 方法:朝はやく行く
まずはメンバーのことをよく知るために、メンバー達より先に出社するようにしました。超地味。
周りを見渡せばすぐ分かることですが、朝の時間の過ごし方は十人十色です。
静かに勉強をしている人、アニメを観てる人、会話を楽しんでる人もいれば、部屋が暑くて上裸になってダレてる人もいました。
10分20分早く会社に行くようにしただけで、
彼らの趣味や社内の交友関係、ちょっとした不満を知ることができました。
オススメのアニメを教えてもらったり、空調の設定方法教えたり、勤怠ちゃんとつけろって怒ったりしてました。
デイリースクラム
- 目的:協力する体制を育む
- 方法:毎朝10分程度のスタンドアップミーティングを行う
大抵のエンジニアはチームでの開発を行っていることでしょう。
個人的な見解ですが、個人の能力には限界があるからチームで支え合っていくことで期待値以上の結果を出せると思っています。
協力するためには、お互いの状況を理解する必要があります。
行ったことは「やったこと、やること、困ってること」の三点述べる一般的なデイリースクラムです。
単純にコミュニケーション量を増やす目的もありました。
ファシリをしている側としては、はじめたばかりに困ってることが全然挙がらないという困りごとがあったので、
自分から困ってることを積極的に述べて周りに協力してもらうようにしたのと、
あえて「あれは順調に進んでる?」などとせっつくことをしました。
褒めて認めてみんな好きぴ
- 目的:笑顔を増やす
- 方法1:活躍を日報に詳細に記す
- 方法2:直接褒める
これは言うまでもないことですが、メンバー間で認め合い、褒め合うことはとても大事なことです。
メンバーが何か素敵なことをしたときは必ず褒めるようにしていました。
口頭で何が良かったかと感謝を伝えることと、日報にて詳細を記述するようにしました。こっ恥ずかしかったですが耐えました。
日報を読んだチーム外のメンバーも彼らに声をかけてくれるようになり、彼らがはにかんでいたのを今でも鮮明に思い出すことができます。
内容に関しては、例えば、システムのセキュリティの甘さを解消してくれたことや設計の矛盾を指摘してきてくれたことなど、エンジニアとしての頑張りはもちろん、
朝オフィスが散らかっていることに気付き掃除をしてくれたことなど、人となりもしっかり拾っていきました。
1人の悩みはみんなの悩み
- 目的:改善サイクルをつくる
- 方法:GKPTで一緒に振り返る
プロダクトを良くするのと同時に、チームを良くしたかった(むしろこっちがメインだった)ので、チーム全員で振り返る時間を毎週設けていました。
振り返る方法は、KPTフレームワークにGoodのGを加えたGKPTで行いました。
チーム全員を集めてペンと付箋を配って、チームのいいところ・改善したいところを洗い出しました。
「近くのシュウマイ屋が潰れた」とか「メンバーに女性がいない」とかふざけたProblemが挙がることも少なくなかったですが、
「進捗管理をもっと分かりやすくしたい」「タスクの偏りが大きい」などの問題を自ら提示し、どうしたら良いかを自ら提案・改善してくれるようになりました。
やってる風(半分ネタ)
- 目的:プロジェクト感を出す
- 方法:ホワイトボードにそれっぽいことを書く
プロジェクトルームのホワイトボードに全体の進捗や共有事項などをそれっぽく書き出し、マグネットで進捗や担当を明らかにするようにしていました。
空いたスペースにDB設計やロジックのメモを書いてあえて消さなかったりもしました。
実際のタスク管理はTrelloやZenHubを利用していたので、純粋にそれっぽさを演出しただけでしたが、
男子諸君なら分かりますよね?それっぽさってテンション上がるやん?
一緒に勉強すれば怖くない
- 目的1:教え合う文化を育む
- 目的2:技術力向上
- 方法:定期的に勉強会を開催する
エンジニアとして働いていくのであれば勉強することもとても大事なことですよね。
週に1回業務時間内に勉強会の時間を設け、プレゼンターをローテーションでまわすようにしました。
賛否両論はあると思いますが、僕個人としては、
- 仕事と同じくらいプライベートの時間を大事にして欲しい(業務時間外で拘束したくない)
- その一時間で成長した分だけ開発が加速すれば負担ではない
- ゆくゆくメンバーに後輩ができた時に備えたかった
と判断して業務時間内にローテーションで開催していました。
トピックは実務に直結するものであれば何でもOKにしていました。
というのも、この段階でお互いの得意分野や興味関心がわりと明らかになっていたので、トピックに悩んでも「UI/UXについて聞きたい」とか「フロントエンドのテストどうやってるの」などとリクエストが来るようになっていました。
背中で語る(おまけ)
これは、エンジニアとしてリーダーとして、憧れられるような存在になりたい、という僕個人の願望から行いました。
設計やコードのレビューはもちろん行い、僕自身書くこともありました。
上述の勉強会もDDDやデザインパターンなどの、メンバーが知らないような技術的なトピックを選ぶように心がけました。
これ知っといたほうがいいよ、とハッパがけをすることもありました。
外部の勉強会に一緒に参加する(おまけ)
一つの現場で開発をしていると「世間一般的に自分あるいはチームのスキルセットってどうなんだろ?」という疑問が浮かぶことがあると思います。
モダンだと思っていたものが実は全然モダンじゃなかったとか。
その不安を解消するために一緒に勉強会に参加していました。英語でつらかったです。ぴえん。
自分たちの環境が比較的モダンだと分かってくれたと同時に、
「あの仕組み、俺らのプロダクトにも適用したい。」とか提案もしてくれました。
お酒という文明の利器
- 目的1:苦労をねぎらう
- 目的2:ATフィールドをぶち破る
- 方法:呑む
つらつらと書いてきましたが、人間不器用なもので中々本音を語ること・聞き出すことは困難です。
っていうのと、やっぱり仕事が一区切りしたら互いに労いたいものです。
上司に経費で打ち上げできないか交渉しまくったり、
休みの日にBBQ誘って飲んで歌って相撲してみたり、
ビリヤードやりながら日本じゃ見たことないサイズのボトルを空けてみたり、などなど。
※自分のペースで無理のないように。
そういえば、エンジニア達がはっちゃけて飲むと高確率で誰かメガネなくすのなんでなん?
おわりに
どの施策もすんなり上手くいったわけではないです。
勉強会の発表やりたくないと言われたり、ご飯に全然行ってくれなかったり、そもそもお前の英語わかんねーよって言われたり、色々ありました。
そもそも僕はコンサルやチームビルディングのスペシャリストでもないですし、上に立つ経験もまだまだ乏しいので、足りてないことや間違っていたこともあると思います。
が、チーム内では明らかに笑顔が増え、最後には「ここでみんなと働くのが楽しい」と言ってもらえました。
今でも彼らは日本に帰った僕を親しみと皮肉を込めてボスと呼んでくれたり、
働きたい会社があるから推薦人になってくれと頼ってきてくれたりします。
彼らに感謝。
最後の最後に、
今回はうるる Advent Calendar 2019に誘っていただきありがとうございました。
ちなみに、うるるにはジョインしたばかりですが、控えめに言って超楽しいです。
明日は、Ryo Katsuseさんによる記事を乞うご期待!
記事→Shuftiのフロントエンド開発の今とこれから