今日は、いつもよくしていただいている皆さんに、ちょっとした報告があります。
大和田純は、サイジニア株式会社を退社することになりました!
入社するまで
ぼくが学生であった最後の年の、夏。ぼくは東京に滞在して、当時はほとんど「人がいて、机と椅子と夢があるだけ」くらいのサイジニアのオフィスで、ワーワーと騒いだりしていた。立ち上がったばかりの頃の会社のお手伝いをしていた。年齢がひとまわりくらい上の、創業メンバー6人を相手に「お前らウェブの最先端だのなんだの言っているけれど、ぜんぜんウェブのことを分かってねーじゃねーか」みたいなプレゼンをして、その場にいた、日本語が分からない Martin が、資料にあった「Get Real!」だけを覚えていて、ぼくのことを「狂った若者」だと認識していた。
(そのとき、オフィスのベランダで流しそうめんを楽しみました)
さらにさかのぼって、大学の学部生のときの、研究室見学。特にコレと決めた分野がなかった自分は、とにもかくにも「いちばんおもしろそうな研究室に入りたい」と思って、自律系工学研究室を選んだ。そこには、後にサイジニアの事業となるシードがあって、そのときはそんなことなんて想像もしなかったのだけれど、今こうして思い返してみても、自分の直感ってのは大事にしなきゃなぁって思う。
気が付けば、代表や、それから、研究室の同期である @kei_s との付き合いは、まるまる6年以上のものになっていた。本当に多くのことを学べる時間を過ごしてこれたこと、心から感謝しています。
入社のとき
入社する先が、研究室の延長線上にある、というのが、とても誇らしいことだった。それまでの活動の延長線上にある、というのが、嬉しかった。
研究活動や、それ以外の趣味のアプリケーション開発なんかも含めて、自分の「こんなことができます」を理解してくれている環境でのお仕事だったので、入社してすぐに戦力として数えてもらえるのは、喜ばしいことだった。どこからか「入社したけれど、研修がつまらん」という声が聞こえてくるたびに、時間の使い方がもったいなぁと感じていた。
入社してから
最初の2年くらいは、メインの業務として「レコメンデーションシステムの開発・運用」を担当させてもらった。自分も含めてプログラマが3人のチームで、社の事業そのものであるレコメンデーションシステムを育て、止めることなく動かし続ける、というお仕事だ。
チームで過ごす日々から、実に様々なことを学んだ。
運用とフィードバック
まずは「運用」について。自分が「よくない設計」をして「よくないコード」を書くと、それはすぐに形になって現れて、チームを苦しめた。その「よくない」は、先輩社員に「よくない!」と怒られながら教えられるでもなく、チームで議論して「これはよくないね」と結論を出して定められるでもなく、次々に襲いくる「よくない」出来事によって身に刻まれた。レコメンデーションシステムの肝は「データ」だ。毎日、大量のデータを滞りなく処理することが求められた。データを壊してしまったり、データの流れを止めてしまうと、システムの命に関わる。
起動オプションが分かりにくいプログラムは、しばしば起動方法を間違えてデータを意図しないように書き換えてしまう。コンソール出力が分かりにくいプログラムは、異常終了したときにどこまで処理が進んだのか分からず、問題調査の時間を長くする。結合を密に作成してしまったプログラムは、変更に弱く、機能追加のスピードを鈍らせた。
また、ここでいう「システム」はソフトウェアだけを指すのではなく、それらを運用する人々も含めた広義の「システム」である。これを、何時に動かして、問題が発生したときには、誰が何を調査し、どういった対応を取るべきか、まで含めての設計が必要であった。自分の作ったプログラムの挙動や、そこに関わる人々の表情が、自分がシステムをどのように改善していくべきかを教えてくれる環境があった。
努力目標よりも確かなアクションを
操作をミスして問題を生じさせてしまったとき。運用に問題点が見つかったとき。チームでは「以後、気を付けます」「これからもっとがんばります」といった努力目標を単体で口にすることは許されなかった。なにか問題が起きたときには、概念としては、
- その状況が再現するテストを書く
- テストを実行し、失敗させる
- どうすればテストが成功するか考え、設計し、実装する
の一通りをこなし、実際のコミットによって「同じ問題は発生させません」を示す姿勢が求められた。
たとえば、よくあったのは、メンテナンスのために一時的に無効化した「定期実行ジョブ」を、無効化したまま帰宅してしまって、次の日にジョブが動いていなくて涙目、という状況が続いたとき。「無効になっているジョブがあったら Skype に通知する」ボットを書いて動かすことにした。こうして、無効化の戻し忘れはほぼゼロになった。
それでも、すべての些細な問題に対してアクションを考えて実践するのはなかなか現実的ではないので、3人のチームで「2人以上が、合計で3回、同じミスをしたら」というスリーアウト制をなんとなく持っていて、そろそろ我慢ならないね、というタイミングを迎えた問題から順に対処していった。そのとき、今は「対処しない」と決めた問題についてはきっぱりと頭から捨て、未解決の問題を想って気を病みすぎることのないよう、気持ちも変えていった。問題は常に存在している。ゼロにはならない。「あぁ… 問題が残っている…」とぼやくだけぼやいてアクションを取らないのは、まったく生産的ではない。それなら考えない方がマシだ。一病息災でもないけれど、問題との上手な付き合い方も覚えていった。
「自分たちの日々を、自分たちでデザインしなさい」は、ぼくの好きな教えのひとつ。それを実践できる環境とチームがあった。こういったアクションを1年も2年も積み上げていくと、自分たちのシステムは、段々と、人に優しく、堅牢なものに育ってゆく。体験として学べた。
「船乗り」としてのお仕事
ぼくは、プロジェクトは「航海」のようなものだと捉えている。
だとしたら。「船の底に穴が開いて水が入り込んでしまっている」ことが分かったときに、最初に取るべき行動はなんだろうか。決して「誰かを感情的に非難する」ではないはずだ。そんなことをしている間に、乗組員の全員が溺れて死ぬ。つまり、プロジェクトが失敗する。とにもかくにも水を船外に出して、穴を塞ぐことに尽力するしかない。
20人にも満たない小さな規模のチームで過ごす日々は、そういったことを分かりやすく教えてくれる。
ぼくはこれからも、航海のようなプロジェクトに関わり、乗組員としてのコミットを約束し、そこにいる人たちと協調することを是として、お仕事していきたい。
それと。船に乗るのは、旅人ばかりだ。小さい会社から、色んな人たちが色んな航海図を持って旅立っていく姿を見てこれたのも、今の自分のマインドに影響を与えてくれているように思う。そもそものはじまりは、当時、ぼくの指導教官だった代表が「会社をつくる」と言って大学を飛び出したことだったわけで、遠慮せずに「やりたいことをやればいい」「やれる場所がなければつくればいい」と気が付いてハッとしたのは、他でもなく、サイジニアが誕生したときだった。
船乗りとしての日々は、とても楽しい。世界はどこまでも広がっているように感じられるし、自分もどこか遠くに行けるんじゃないかって勘違いできる。
退社のとき
書類仕事がしんどかった…
これから
さて!ほいで、会社をやめて、これからどうするの、というお話です。
この9月に新しく誕生した会社に加わって、これから新しく事業を創っていくことにしました。メンバーは3人、プログラマは自分1人だけ、という、まったく新しい環境です。不安がない、といったら嘘になっちゃいますけれども、今はとてもワクワクしていて、アレもやりたいなーコレもやりたいなーと考えている時間がすごく楽しいです。
ぼくは、プログラマのコミュニティが大好きです。プログラマの世界観や価値観に、共感することが多いです。プログラマで集まってワイワイと遊ぶの、楽しくてすごく好きです。
でも、それはそれで大事にしつつ、そうじゃない人たちとも一緒に何かを成し遂げて、プログラマってすごいんだなぁって感じてもらいたい。今よりもっと、プログラマがちゃんと評価されて、プログラマが重宝されて、プログラマがのびのびと生きていける場所を増やしたいって思っています。他分野の人と共同で何かする機会に恵まれるようになってきてですね、段々と、その想いを強めてきました。
結局のところ、組織に守られながらその組織に対して文句を言い、自分という人間を認めてくれる人たちの中で夢を語るのは、ものすごく居心地がよく、楽なことでした。でもそれは、中学生が小遣いをもらいながら自分の母親をけなし、仲間内でギターを弾いて悦に入っているのと変わらない。「じゃあそれ、路上で、知らない人の前で胸を張って弾けるの?それで金を稼げるの?」
この引用は、頭に GAT-TUN ときますね… いや本当に、仲間内で気持ちよくなっているばかりじゃダメだなぁって思ってしまいます。これから、ちょっくら、この身ひとつで勝負してみますよ。幸い、最近は、手応えもあって。なんとかなるんじゃないか、とも感じますし、なんとかするしかない状況で、がんばってみます。
ぼくも格好つけたい気質なもので「こういうことをやろうと思っています」より「こんなのやりました!」と言いたいので、具体的にどこの会社でどんな事業を、ってのは、今回は書きません。なにか成果を出せたときに、ドヤ顔で「やってやったぜー」と書きたいものです。
方向性としては「そこにいる人々の日々の営みを支え、そこにある価値を育て、人々と共に成長するものづくり」を目指します。
RubyKaigi の実行委員のお仕事を通じて気付いたんですけどね、会場を下見して、そこに参加者がいる場面を想像し、そこで必要とされるものは何か、とか、ここで困る人はどんな人か、とか、ここにこれがあったらテンションが上がる、とか、そういうことに想いを巡らせてものをつくるのって、本当に楽しいんですよ。自分には向いていると思いました。生きている人のことを考えて、ものをつくる。とっても当たり前のことですけれど、それを突き詰めたものを、自分のお仕事にしたいです。
もし興味があれば、ぼくまで話しかけてください。喜んでお話します。
まとめ
3年半ほど勤めたサイジニア株式会社を退社しました。大学時代からこれまでの間に、本当に多くのことを学べる環境があったこと、とても感謝しています。どうもありがとうございました。最終出社日に事業の成果報告を聞いて、ただただ感心しました。サイジニア社員の皆さん、ずっと応援しています。大成功を目指してがんばってください。これからもちょくちょくお会いする機会はあるでしょうから、お互いに、いつ会っても胸を張って話せるように、カッコイイ日々を過ごしましょう。ありがとうございました。これからもよろしくお願いします!
これから、心機一転、新しいことに挑戦します。とはいえ、サイジニアでの日々と、それ以外のコミュニティ活動から得たものを、存分に発揮できる、やりがいのあるお仕事を見つけられたので、これまで通りに、自分が大事だと思うことを大事にして、マイペースの全力で前進を続けます。1日も早く、皆さんの目にも見えるような成果を出して、ドーンと自慢したいと思っています。
オレはようやくのぼりはじめたばかりだからな。このはてしなく遠い「ものづくり」坂をよ…
〜未完〜