ソニックガーデンのプログラマたちは、答えのない問いへ向き合いながら、日々コードを書き続けています。プログラミングというクリエイティブな仕事で成果を出すためには、自分の頭で考え、言われる前に動く、「考えて動くプログラマ」であることが絶対条件。そんなプログラマになるべく入社を決め、親方のもとで日々研鑽を重ねる弟子プログラマの一期生たちが、今年(2024年)で入社3年目を迎えます。
今回、弟子として働いている遠藤・橋本・新田見の3名を集め、「考えて動くプログラマ」になるための”3つの習慣”について話す座談会を実施しました。
自分の頭で考えず、言われた仕事だけをただやるだけ。そんな成長のない憂鬱で楽しくない日々から遠ざかりつつある、彼らのいまを聞いてきました。
「考えて動くプログラマ」の3つのスキルーータスクばらし・ふりかえり・ザッソウ
プログラミングは、昨日と今日で全く同じアウトプットが出ることがなく、かつ人によってもアウトプットが変わってくる、再現性のないクリエイティブな仕事です。そんなプログラミングで成果を出すためには、自分の頭で考えず、言われた仕事だけをただやるのではなく、「考えて動く」必要があります。
ソニックガーデンでいわれる「考えて動く」とは、卓越した成果を上げながら、周囲に貢献して協調し、自分の指針で成長し続けることを指します。この3つを満たした考えて動くプログラマが、ソニックガーデンでは一人前のプログラマと呼ばれるのです。
とはいえ、入社してすぐの若手に、「卓越した成果を上げて、周囲に貢献して、自分の指針を持って成長しなさい」と言っても、難易度が高いでしょう。そのため、ソニックガーデンでは考えて動くプログラマとしての成熟の道を、5段階に分解して考えるようにしました。
その中でも第2段階にある、「タスクばらし」、「ザッソウ」、「ふりかえり」の3つのスキルは、考えて動くための基礎技術です。
「タスクばらし」は、1つの仕事をタスクに分解し、掛かる時間の見通しを立てるためのスキル。
「ザッソウ」は、周囲の人に、雑に相談を投げかけるためのスキル。
「ふりかえり」は、体験したことを学びへ昇華させるためのスキルです。
今回の記事でインタビューしたのは、タスクばらし、ザッソウ、ふりかえりを仕事の中で習慣的に行ってきた、3年目の若手プログラマたち。彼らは現在、卓越した成果を上げ、周囲に貢献し、自分の指針を持って成長する親方のもとで仕事を行っています。
日々、タスクばらし、ザッソウ、ふりかえりを実践する中で、彼らはどのような変化、成長を実感しているのでしょうか?
タスクばらしで、より遠くの目的に向かって見通しを立てられるように
⎯
仕事のタスクを分解し、「どのように進めるか」「どのくらい時間がかかるか」の見通しを立てることを、ソニックガーデンでは「タスクばらし」と呼んでいます。入社して1年目の「タスクばらし」をふりかえってみて、どうでしたか?
橋本
1年目は、「3時間で終わるかな」くらいのざっくりとした見積もりで仕事を進めていました。適当な見積もりなので、時間通りに終わらないことも多かったです。
また、3時間という大きな時間の単位で仕事をバラしてしまうと、親方に「どこまで進んだ?」と言われても進捗を伝えにくく、かつずっと成果を出せていないと感じている状態なので自分のメンタル的にもキツかったです。
⎯
そこからタスクばらしを3年実践してきて、どんな変化を感じていますか?
橋本
まずは倉貫さんのアドバイスを受けて、ひとつの仕事を1時間で区切ってタスクばらしするようになりました。短い時間で区切ることで、進捗も伝えやすいですし、進んでいる感があり気分的にも仕事が進めやすくなりました。
(参考:
セルフマネジメントの必須スキル「タスクばらし」そのポイント)
その上で、見積もりを考える精度が上がったという感覚があります。というのも、はじめは見通しが甘く、1時間で見積もっても、1時間以上掛かることが多かったです。しかし、実装の経験が増え、最近は「このコードを書くならこれくらい掛かる」というのが分かるようになってきました。それによって、見積もりの精度が上がり、時間通りにタスクが終わることが増えてきてます。
進捗が分からないのもそうですが、見積もりの精度が低いと、結局いつ終わるのか分からず、親方に不安を抱かせると思っていて。今は1年目と比べてだいぶ見積もりの精度が上がったので、色々な仕事を任せて貰えるようになったなと思いますね。
⎯
確かにスケジュールが正確に組める相手なら、依頼する側も安心して仕事を任せられますからね。次に、遠藤さんはいかがでしょうか?3年を経て変化を感じている部分はありますか?
遠藤
実装イメージがパッと浮かぶ機能が増えてきた感覚はあります。悩まずともコードを書けるものが増えてきたので、バラすタスクの単位は大きくなっていますね。
具体的にいえば、「ログイン機能をつくる」というタスクを、これまでは「コントローラーを作成する」などの小さいタスクに分けて実装していました。けれど、今は「ログイン機能をつくる」というタスクだけで、必要な機能が頭に浮かび、迷わず手が動きます。
⎯
なるほど。細かくタスクをバラさなくても、「ログイン機能をつくる」と大きくタスクばらしをするだけで、ログイン機能実装が進められるのですね。
遠藤
そうですね。そもそも初めは、「この機能を実装する上で、何が必要なのか」を調べる必要がありました。タスクばらしをすることは、つまりわからないことを明確にする作業なので、わからないことが多い時に必然的にタスクばらしは細かくなるんです。
今は調べずともわかることが増えたことで、大きい単位のタスクばらしになっているんだと思います。もちろん、今でも目新しい機能を実装する際は、細かくタスクばらしをします。ですが、細かくする必要があるものが、明らかに1年目と比べて減っていると感じますね。
⎯
まさにプログラマとして成長したからこその変化ですね!新田見さんはいかがですか?
新田見
そうですね。以前は、「ボタンを作成する」というアクション単位で分解していたのですが、今は「メルマガ送信機能を作る」みたいな、機能単位でタスクばらしをするようになりました。
ボタンを作成できても、アプリとしてはなんの価値もないから、進捗はゼロなんですよね。使う人にとって、ボタンひとつあっても何も出来ないですから。
でもメルマガ送信機能が完成したら、メルマガを送信したい人にとって価値あるアプリが出来たといえます。そのため、今はアプリを実装する時は機能ごとに分け、そのうち1機能ずつ着手していくようなスタイルをとっています。
⎯
機能ごとにタスクばらしをすることで、使う人にとって価値になる進捗を出せる、ということなんですね。使う人の役に立つアプリを作る、という目的を意識しながら開発しているのだなと感じられました。変化のきっかけはあったのでしょうか?
新田見
親方とのふりかえりがきっかけですね。「より良いプログラマ」になるために、テスト駆動開発をやっていけるといいよねという話があって。
(※テストファーストな開発手法の1つ。「テスト→実装→リファクタリング」を何回も繰り返してプロダクトを成長させていく開発手法のこと)
でも実際にテスト駆動開発をしてみたら、アクション単位のテストは非常に書きづらいことが分かったんです。それに対し、機能単位だったらすぐテストコードを書けることが分かり、それからは機能ごとでのタスクばらしを行うようになりました。
⎯
テストを書くことを前提としたタスクばらしが、結果的に「使う人にとって価値になるか」を意識することに繋がったんですね。以前は、「ボタンを作る」を目的にコードを書いていたと思うので、かなり遠い目的を見られるようになっていると感じました。
新田見
たしかに、そうかもしれません。成長していますね。
遠藤
プログラマとしての成長に合わせて、タスクばらしの方法も変化しているんだなと、改めて感じました。
橋本
それでいうと、遠藤と僕の親方は、タスクばらしを頭の中で終えてしまうんですよね。「〜機能を作る」とかの文章をひとつも残さず、迷いなくコードを書くんです。今はまだまだですが、いずれ自分もそうなりたいなと思っています。
ザッソウで、答えが出ない問いも、フランクに話し合えるように
⎯
チームのメンバーや上司に、雑談をするように相談することをソニックガーデンでは「ザッソウ」と呼んでいます。皆さんは「ザッソウ」していますか?
遠藤
「ザッソウを今からするぞ!」と思ってはしていないですが、同じオフィスで働くcssが得意なやっぷ(長野)に、仕事で作っているアプリのデザインについて聞いたりしたことはあります。それこそ雑談の延長線で気軽に、「やっぷだったらどう作る?」って質問してみたり。
遠藤
はい。元々同期メンバーにはフランクに雑談していたし、相談もできていたと思います。でも親方に対して質問すら、すんなりとは出来てなかったですね。入社直後の掲示板を見返したら、「〜〜ありますでしょうか?」なんて、丁寧すぎる言葉でお伺いを立ててました。
遠藤
そうなんです。でも、一緒のオフィスで働くようになって雑談もしていく中で、親方の人となりも知っていき、今ではかなりフランクに相談できるようになりました。
元々同期にしか聞けなかったところから、親方に相談とかできるようになって、より抱えている問題を解決しやすくなったと感じますね。
⎯
仕事の課題に取り組む上で、親方は大変心強い仲間ですよね。新田見さんはどうですか?
新田見
雑談と相談の境界は曖昧なので、いついつこのタイミングでザッソウしました!とは思い出せないですが、よく雑談が生まれるのは、親方と今日の仕事について話す夕会とか、オフィスでお昼を一緒に食べる時とかですね。雑談で終わることもありますが、流れで相談することもあります。
相談しようと思って用意はしていないので、自分の中でも結構ふわっとした、答えが出てないような問題について、フランクに意見を求めたりしています。
でも、新しく関わり始めた先輩に対しては、はじめは質問しかしていませんでしたね。でも、質問に対してすごくウェルカムなスタンスでいてくださったことで、声をかけるハードルが下がりました。
それもあって、今だと自分じゃ解決できない問題を、「どう思いますか?」って気軽に聞いたりもしています。ひとりだと悶々と考え込んでしまうような難しいエラーが出ても、一緒に考えられる腕利きの仲間がいるので心強いです。
⎯
仕事だと、一人で解決が難しい問題はたくさんありますよね。その時に親方や先輩に気軽に声を掛けられるというのは、問題を早く解決するためにも大切だと思います。橋本さんはどうでしょうか?
橋本
親方とのふりかえりの時は、結構ザッソウしている感じがあります。たとえば、今だと弟子のみが参加する社内ハッカソンを定期的にしているのですが、ふりかえりの時に「採点に癖ありますよね」とか、一応仕事だけどほとんど雑談、みたいな話をよくしています。
⎯
橋本さんは、わりと親方にもフランクに話しかけられるタイプだったんですか?
橋本
いえ。遠藤と同様、入社した頃はできませんでした。僕は徐々にというよりは、合宿に行って親方とリアルで会って、一緒にご飯食べたら出来るようになってましたね。
直近オフィスにいらっしゃってたリアルではほぼ初対面のメンバーに、お昼のタイミングで社内ハッカソンのテーマに関して相談したこともありました。仕事では全く関わりがないんですが、やっぱり、リアルで会って一緒にご飯を食べたのが影響として大きいなと思います。かつ、world(社内掲示板)上でチラチラ見るので、お互いにどんな仕事しているのか、なんとなく把握していたのも理由だと思います。
その時は話す中で結構いいアイデアをもらえて、実際にその話を元に社内ハッカソンのテーマを決めました。
⎯
ご飯を食べたり、直接会うことを通じて、心理的安全性が上がったのかもしれませんね。
橋本
そうですね。心理的安全性があがることで、抱えてたモヤモヤを雑談の中で気軽に話題に出し、一緒に話し合えたのかもしれません。
⎯
ちなみに、皆さんの親方はソニックガーデンのメンバーとだけでなく、お客さんとも「ザッソウ」しているとお聞きしています。実際にその場を見ていて、どうですか?
新田見
そうですね。親方は、納品のない受託開発のお客さんと毎週ミーティングの場で話しています。主な目的は進捗の共有ですが、それだけをするミーティングをあまり見たことがありません。プライベートの近況報告など、最初は雑談から入ることが多い印象です。
遠藤
僕らの親方も同じですね。雑談が広がっていき、「将来的にこういう事業がしたい」という話になっていたこともありました。まさに、ザッソウをしているなっているなと思います。
橋本
親方を見習って、社内ミーティングでファシリテーションをした時に、最初から本題に移さないことを意識して場を回したりしていました。今後、親方みたいにお客さんとも気兼ねなくザッソウできる関係性になれたらいいなと思います。
⎯
ザッソウできる関係性になれば、問題をフランクに相談できる仲間が増えますからね。
橋本
そうですね。社内だけでなく、社外にもそんな仲間が増えたらいいなと思います。
ふりかえりの思考に慣れ、自分で自分を“小さく”変えていけるように
⎯
弟子の皆さんは、体験したことを学びへ昇華させるための「ふりかえり」を、親方と一緒に行っているとお聞きしています。実際に、どのようなことをされているんですか?
橋本
ふりかえりでは、良かったこと(Keep)、悪かったこと(Problem)、次に試すこと(Try)のKPTフレームに沿って仕事の内容を書き出して、親方に共有しています。親方は、僕たちが共有した内容に対し、必要に応じてフィードバックしてくれます。毎週行っているので、これまでの累計回数はかなり多いと思いますね。
2年目までは1時間かけていたんですが、今は30分でふりかえりしています。
橋本
入社前から、自分で行動の問題点を考えることはやっていました。でも、「問題をどう改善していくか」というTryを考えることには苦手意識がありました。特に最初の1年は、Tryを考えるところを親方に頼っていましたね。
でもふりかえりを続けるうち、その思考に慣れたのか、今は自分でもTryが出せるようになりました。発展途上ではありますが、自分主導でTryを考え、問題を改善していけるようになったのは、成長した点だと思います。
⎯
dosanは入社当初と比べて、変わったなと思う点はありますか?
遠藤
僕は最初、ふりかえりで無言になってしまう時間が多かったんですよね。頑張ってTryを考え出そうとしているんですが、全然浮かばなくて。あくまでもふりかえりの主体は僕で、親方も途中で口を挟むことはほとんどないので、結果無言の時間が生まれてしまっていました。
でも最近は、無言の時間が少なくなったなと自分でも思います。親方に課題に感じた点を話しながらでも、「この問題に対しては、こうしたら改善するかも」とTryが浮かぶようになったんです。仮説でもTryが浮かぶようになったのは、過去の自分の経験を、話しながらでも思い出せるようになったからだと思いますね。過去の経験が、次のTryに活きているなと感じます。
⎯
ふりかえりを続けることで学びが増え、思いつくTryの手札も増えていったのかもしれませんね。新田見さんは、ふりかえりをしている中で変わったなと思う点はありますか?
新田見
僕は今、毎週のふりかえり以外にも、毎日夕会で親方と話す機会があるんですよね。それによって、毎日という頻度でTryの内容を微調整することが出来ているなと感じます。そのため、毎日ふりかえりをしているような状態だなと思っています。
具体的にどういう時に微調整をするかというと、改善案としてTryを出してみたけど、やってみたらうまくいかない場合とかですね。あとは、もっと分かりやすい表現にできそうだなって感じた時とかにも、適宜Tryの言葉を直しています。うまくいかないけどいい案が浮かばない場合は親方に相談したりして、一度出したTryでも、より取り組みやすい形に変えています。よく変わるので、今はこんなTryをやってます、と毎日夕会で共有していますね。
⎯
毎日ふりかえりをしているような状態だ、という話がありましたが、用意された親方とのふりかえりや、夕会の場でなくても、Tryを見直して、表現を直したりしているんですね。
新田見
そうですね。毎日親方とふりかえりをすることで、自分でもふりかえりをする習慣が身についたのかもしれません。一度出たTryを考え直すという小さなふりかえりは、一人でもできるようになっていると思います。
「成長スピード10分の1、気をつけます人間、憂鬱とした日々……」もし3つの習慣をやってなかったら?
⎯
これまでたくさんの変わったところ、成長したところを聞いてきました。入社して今まで、タスクばらし、ザッソウ、ふりかえりの3つをやってなかったとしたら、皆さんはどんな日々を過ごしていたと思いますか?
橋本
そうですね。少なくとも、タスクばらしはやらないと不安なので、しない自分がもう想像できません。「今どんなタスクがあるか、いつ終わるのか」をわからないまま仕事するのは、メンタルの負担がすごいですね。タスクばらしをして、小さなタスクでも少しずつでも消化している実感がある方が精神衛生上良いなと思います。仕事が全部終わるまでフィードバックをもらうのも難しくなるので、仕事のやり直しも増えて苦しいだろうなと思います。
あと、ザッソウができないと、助け合えないし、チームメンバーの知識も活用できないですよね。せっかくチームで働いていても、一人で働いているのと同じだなと思いますし、そうなると、職場で孤立するだろうなと感じます。
また、ふりかえりがないと、きっと今も「これ問題だな〜」と考えるだけで何も改善せずに過ごしていただろうなと思います。ふりかえりもタスクばらしもしてないとなると、先ほど言った通り仕事の進みも遅いし手戻りも多かったと思うので、かなり今より成長スピードの遅い人になっていそうだなと思いますね。これは本当に体感ですが、3つ全部やってない人の成長スピードを10とすると、100くらいのスピードで今は成長できているんじゃないかなと思います。
⎯
かなり、成長スピードを早く感じていらっしゃるんですね。それだけ、3つやっていてのメリットを実感しているんだと感じました。遠藤さんはどうですか?
遠藤
僕は元々、人に依頼するとか、相談するのが苦手なタイプで。ザッソウができる環境じゃなかったら、一人でタスクを抱え込んで、職場で孤立していただろうと思います。
かつ、タスクばらしっぽいことは頭の中でやるだけで満足して、依頼者の想定とは違う成果物を出しまくっていたんじゃないかなとも思います。ふりかえりもないから、それに対して「気をつけます」って言うだけの人になっていたんじゃないかな。
今は、気軽に雑談や相談ができるので、同僚はもちろん、上司も巻き込みながら仕事ができています。タスクばらしをしていれば途中で確認もできるので、想定外の成果物をあげることは少なくなってきてますし、ミスが起これば「気をつけます」ではなく「次はこうします」が具体的に言える人間になれていますね。
⎯
ふりかえりをしていての変化としてTryを考えつくようになったとおっしゃっていましたが、それによって「気をつけます」人間から脱却したということなんですね。新田見さんはどうですか?
新田見
特にふりかえりがないことを想像すると、問題は思いついても改善策であるTryが浮かばず、何も変えられないことで、憂鬱とした日々を過ごしていたんじゃないかなと思います。
また、ふりかえりが無いと、成長していたとしても、その成長を測りづらいと思うんです。成長していることに気づけず、「ここじゃ成長できない」って思い込んでしまう。そもそも先ほど言った通り、問題に対して改善も起こり辛いので成長速度も遅くなる。
あとは、ザッソウがないと、自分より知見のある人から学ぶことも起こりづらいし、タスクばらしがないと、無駄な作業をしたり、手戻りが起こるので、それでも成長速度は遅くなるだろうなと思います。成長も分かりづらくて、そもそも成長スピードも遅いので、最悪、仕事やめてたんじゃないかな。こう考えると、3つの習慣が自分に与えた影響は、かなり大きいと思っています。
プログラマとして独り立ちを目指す3人の、今後の目標
⎯
ソニックガーデンでは考えて動くプログラマとしての成熟の道を、5段階に分類しています。現在第2段階にいらっしゃる皆さんに、一人前のプログラマを目指していく上での、今後の目標をお聞きしたいです。
橋本
技術力が足りないなと思うので、ふりかえりやタスクばらしなど、成長速度を上げる習慣は続けつつ、そもそもの技術力をあげていきたいと思っています。やっぱりコードを書くことが技術力向上の一番の近道だと思っているので、興味のあるテーマでアプリを作るなど、仕事外でもコードを書く機会を作りたいです。
遠藤
直近思ったのは、プロジェクト全体を見る視点が足りてないなということです。後輩に仕事を任せる側になったというのもあり、自分が与えられた仕事だけでなく、プロジェクト全体で成果を出す意識を持ちたいと思っています。
あとは、自身のビジョンを持ちたいなとも思っています。自分が目指したい姿を明確にして、それに向かった努力ができるようにしたいですね。
新田見
僕は綺麗なコードでソフトウェアを作ることを目標として持っていましたが、これまで書くプロセスにおける目標は持っていなかったんです。ですが最近先輩としたペアプロで、アプリの仕様について相談しながらも、一切手が止まることなくプログラムが組まれていった鮮やかさに感動しまして。今は、頭でちょっと先のことを考えながら、手でコードを書き続けるような、クールなプログラマを目指したいなと思っています。
⎯
皆さんが数年後どうなっているのか、とても楽しみになりました。お話、ありがとうございました!
今回の取材記事は、ソニックガーデン代表・倉貫が始めた出版事業、倉貫書房の第一作目「わたしはロボットではありません」の出版記念として作成しました。
「わたしはロボットではありません」は、今回取材した3名と同じ社会人3年目である主人公の西原健太が、タスクばらし、ザッソウ、ふりかえりを実践し、成長していくストーリーを描いた小説です。「3つの習慣」についてより詳しく知りたくなったという方は、ぜひお手に取ってご覧ください。
▼書籍情報はこちら▼
私はロボットではありません
(執筆・取材:小澤 未花 / 編集:長瀬 光弘)