give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

ソニックガーデンに入社&リモートワークを開始して3年が経ちました

はじめに

厳密に今日でちょうど、というわけではありませんが、2012年6月に株式会社ソニックガーデンに入社したので今月でソニックガーデンに入社して3年になります。
入社直後と入社1ヶ月後のタイミングではふりかえりブログを書いたんですが、1周年、2周年は結局ブログを書かずじまいでした。

去年とおととしは「そろそろふりかえりブログ書かなきゃ、書かなきゃ、書かなきゃ・・・」と思ってるうちに時間が過ぎて「・・・ま、いっか」ということになってました。すいません。

ちなみに入社直後と入社1ヶ月後に書いたブログはこちらです。

blog.jnito.com
blog.jnito.com

というわけで、今回はソニックガーデンに入社して3年が過ぎた感想をいろいろ書いてみようと思います。

f:id:JunichiIto:20150611085909j:plain
From SonicGarden Facebook Page

「ソニックガーデンって何?」

株式会社ソニックガーデンは「納品のない受託開発」という月額定額のユニークな開発スタイルで受託開発を行っている会社です。
詳しくは会社のwebサイト、もしくは書籍「納品をなくせばうまくいく」をご覧ください。

www.sonicgarden.jp

「納品」をなくせばうまくいく

「納品」をなくせばうまくいく

兵庫県西脇市からリモートで働いています

ソニックガーデンは東京渋谷にある会社ですが、僕は兵庫県西脇市という田舎町に住んでいて、リモートで働いています。
詳しくはこちらのエントリをごらんください。

blog.jnito.com

入社して良かったところ

受託開発関連
  • きれいなコードを追求できる。テストコードも好きなだけ書ける。
    • やれ納期だ、やれ予算だ、と周りからあれこれ言われて、コードの美しさやテストコードを二の次にする、なんてことがなくなった。
  • ドキュメントを書かなくて良い。エクセル方眼紙やガントチャートとにらめっこする必要もない。
  • 月額定額なので見積もりをする際は純粋に開発工数だけにフォーカスできる。
    • 「工数の大小 = 売上の大小」だと見積もりの結果が損得に直結してしまう。そのため、ディフェンシブな見積もりになってしまいがちで昔は胃が痛かった。
  • 「納期を死守」ではなく、「ベストエフォートで対応する」という前提なので、見積もり(週単位)を多少外していても軌道修正がしやすい。
    • とはいえ、3ヶ月後までのマイルストーンは必ず共有するし、予定よりも遅れそうな場合はお客さんのビジネスに影響が出ないよう着地点を適切に修正する必要がある。
  • 事前にすべての仕様をFixしたりしないので、走りながら柔軟に仕様を変更できる。
    • 当然といえば当然だが、システムの適切な仕様は「実際に使ってみて初めてわかる」ことが非常に多い。
    • 案件開始前に必要だったと思われていた機能が実際は全然必要がなくてずっと未着手のままだったり、逆に全く予想もしない機能が実際に動かしてみて初めて必要になったり、といったケースが多々ある。
    • 「ユーザー数が増えたら」といった条件付きで必要になる機能もあるので、そういう機能は絶対ウォーターフォール型じゃ対応できない(サービス公開前は誰も予言できない)と思う。
  • バグゼロを目指さなくても良い。バグゼロよりもお客さんのビジネスの成功の方が重要。
    • もちろんバグがゼロに近づくことは望ましいが、小さなバグ(表示が崩れてるだけ)とか、非常に稀なケースでのみ発生するバグとかであればリリース後に修正してすぐにリリースできる。
    • SIer時代だとリリース後のバグや手戻りは絶対に許されず、バグゼロを目指すために多くの工数がかかっていた。
  • 「プログラマは移動しない(客先には出向かない)」というのが原則なので、開発時間が移動時間で削り取られることがない。
    • 打ち合わせはいつもSkype等のビデオ会議。
  • お客さんがみんないい人。こんなに仲良くしてもらっていいんだろうか、というぐらい。
    • 「納品のない受託開発」というビジネスモデルを十分理解してもらってから案件を開始する、というのも大きな要因の一つだと思う。
  • 下請けとか孫請けではなく、顧問プログラマとしてお客さんのビジネスにダイレクトに関わるので、お客さんの思いやその業界の慣習などが本当によくわかる。
技術全般
  • Ruby on Railsの開発に専念できる。Ruby楽しい!
  • 技術的に優れたメンバーがたくさん集まっている。
    • いわゆる「クソコード」を書くメンバーが一人もいない。前職、前々職の経験からいって、これは本当に驚異的な環境。
    • 技術的に困ったときはすぐ助けてもらえる。社内掲示板はある意味小さなStackOverflow。
    • メンバー各自が並行して異なる案件をやっているので、多様なナレッジが集まるところが素晴らしい。
  • コードレビューしてもらえる。反対にコードレビューもできる。
    • お互いに良いコードの書き方や便利なgemの使い方を勉強できる。
  • Rails方面においてはほぼ最新のバージョンに追従できる。技術者として最新の技術が使えるのはとても嬉しい。
    • Java 1.4やVisualStudio 2005といった10年以上前の技術やツールを使い続けている・・・なんてことがない。(前の会社ではよくあった)
  • Web関連の技術に詳しくなれた。(守備範囲が広がった)
    • 入社前はCSSとかjQueryとかクラウド関連のノウハウとか、ほとんど皆無だった。(それだけに追いつくのに苦労した、とも言えるけど。。)
社内制度、身の回りの変化等
  • 開発マシンやモニタ、技術書といった日々の業務に必要な物を気前よく購入してもらえる。
    • 電源を入れてからコードを書き始めるまで5分以上待たされるオンボロXPマシンを使ってたこととか、上司と部長の承認を待つのが億劫なので結局全部自前で技術書を買ってた頃が懐かしい・・・。(遠い目)
  • 出退勤の時間が自由。休みを取るのも上司に承認をもらったりする必要が無い。
    • 自由といっても当然、お客さんや他のメンバーに迷惑をかけないことが前提です。
  • 副業が禁止されていない。おかげでEveryday Railsの翻訳ができた。
    • こちらも当然、お客さんや他のメンバーに迷惑をかけないことが前提です。
  • ブログやQiitaで知名度が上がってきた。ときどき発表依頼とかも来るようになった。
    • 毎日の技術的なインプットが良質なので、アウトプットも良質になりやすい。
    • ソニックガーデンという看板や、社長の倉貫さんの豊富な人脈もたぶん大きい。
  • 日本のIT業界の有名人が急に身近になった。
    • ソニックガーデンの知名度やメインオフィスが渋谷にあるという立地条件のせいか、「ネットでよく見かけるあの人」とお知り合いになる機会が急に増えた気がする。
  • 社長の倉貫さんと副社長の藤原さんが会社をしっかり支えてくれている。
    • 倉貫さんはいつも会社の将来やビジョンについて考えている。社内ラジオ(Podキャスト)で近況や経営に関するアイデアを毎日アウトプットしてくれているのでそれがよくわかる。
    • 藤原さんはファシリテーション力がすごい。技術面以外の難しい問題(契約面や会社間の交渉等)を一手に引き受けてくれるので、我々プログラマは開発に専念できる。
    • お二人とも会社のことと、社員のことにすごく気を遣ってもらっているので非常にありがたい。(以前の会社だと上層部の人がたまに「敵」に見えることもあったので。。)

大変なところ

  • 半年後、1年後の「大きな納期」ではなく、毎週「小さな納期」がやってくる。
    • 「サービスのカットオーバー1ヶ月前はデスマーチ状態で土日も含めて毎日深夜まで残業」なんてことは無くなったが、代わりに「次回のミーティングまでにxxxを仕上げる」という小さなプレッシャーが毎週やってくる。
    • ベストエフォートが前提なので「前回のミーティングで伝えた内容を絶対に死守」というルールはないが、それでもどこまでやればお客さんに満足してもらえるか、お客さんをガッカリさせないか、という点には苦慮することが多い。
    • 担当している案件の数が増えるとパラメータが複雑に絡み合って、毎週のやりくりがいっそう大変になる。
    • 我々だけでなく、お客さんの方も時々大変そうに見えることがある。(お客さんも毎週開発が止まらないように必要な機能を検討したり、できあがったプログラムを動作確認したりしなければいけないので)
  • 毎週同じ仕事量をこなさなければいけないので有給休暇的な休みが取りにくい。休んだり祝日が入ったりするとかえって首が絞まることもある。
    • 「週5日働いてピッタリのペース」という案件状態だと、1日休むだけでその週の仕事が急激に苦しくなることがある。
    • 早朝から仕事したり、土日を使って埋め合わせたり、ということが時々ある。
  • 周りのメンバーが優秀なので、「自分は抜きんでてすごい」という優越感にひたれない。むしろ、「自分にはこれができてない」という短所が浮き彫りになりやすい。
    • 「鶏口牛後」っていうのはこういう状態をいうのかもしれない。まあ前職の頃のように「井の中の蛙」であり続けるのも危険だけど。
    • 最初の2年ぐらいは自分の技術力不足にかなり苦しんだ。
  • ソニックガーデンの働き方や考え方に慣れるまでが大変だった。
    • 働き方や考え方の問題点は他のメンバーと行う毎週のふりかえりで徐々に改善していった。

リモートワークの良いところ

  • 通勤時間ゼロは素晴らしい。
    • ブログを書いたり、調べ物をしたり、家事の手伝いをしたり、いろいろできる。
  • 仕事中でも一時的に家の用事を手伝ったり、子どもの面倒を見たりできる。
    • 「ちょっとこれ運ぶの手伝って」とか「買い物に行くけど、宅配便が来たら荷物受け取っといて」といった、妻からのちょっとしたリクエストに応えることができる。
    • 子どもが体調を崩したら、子どものベッドの横でコードを書いたりできる。
    • リモートワークをしていなかったら、妻のパン屋もここまで手伝えなかったと思う。
  • 田舎暮らし最高。
    • 広い家、広い空、豊富な自然、きれいな空気、最高。
    • 子どもたちも家の中や外でのびのび遊べる。
    • 西脇は車を使えば大阪や神戸に1時間ぐらいで着くので、買い物に困ったりすることもない。Amazonも心強い味方。
  • 気分転換に散歩したり、楽器を弾いたりできる。
  • 好きなときに好きなだけハンドドリップしたコーヒーを淹れられる。コーヒー好きなので幸せ。
  • 朝、昼、晩と、料理が得意な妻の手料理が食べられる。うまい。
  • PC環境を仕事とプライベートで共用できる。
    • 大画面モニタやHappy Hacking Keyboardがプライベートでも使える。
  • 田舎に住んでいるのに東京で働く雰囲気も味わえる。
  • Remottyを使い始めてからは気軽にオンライン上で雑談や独り言を言えるようになった。
    • 他のメンバーの顔も見えるので、独りぼっち感は少ない。

f:id:JunichiIto:20150524174307j:plain
自宅前にある堤防。この日は夕暮れ前に乾いた涼しい風が吹いていてとても気持ちが良かった。

リモートワークの大変なところ

  • 19時前後になると子どもたちの「早く終われ」「早く遊べ」プレッシャーがすごい。
    • とはいえ、それが自分の「働き過ぎ防止リミッター」にもなっている。
  • 仕事のオンとオフにメリハリがないと家族に思われがちになる。
    • パソコンとインターネットがあればいつでもどこでも仕事ができるので、「パソコンやスマホを触っている = また何か仕事してる」と思われる。(実際は仕事と無関係なことをやっている場合も多いが、周りからは見分けが付かない)
  • 運動不足なのはさすがに否めない。
    • もともと運動嫌いなので動かなくていいのはある意味幸せだが、そうはいっても不健康になってしまうのもまた困りもの。
    • 子どもと遊んだりキャッチボールしたりして身体を動かしているのがせめてもの救いかも。
  • 大人数でミーティングするビデオ会議だと空気感が伝わりにくい。
    • 1対1のビデオ会議ならほとんど不自由しないが、向こう側に5~6人いるビデオ会議だとその場の空気感がつかみづらく、議論を追いかけたり発言したりするのが難しくなる。

まとめ:この先の展望について

というわけで、今回のエントリではソニックガーデンに入社&リモートワークを開始して3年が経った自分の感想をいろいろとまとめてみました。
何事も良いことばかりではなく、大変なこと、しんどいこともいろいろあったりします。
とはいえ、「納品のない受託開発」という開発スタイルや優れた技術者と一緒に仕事ができる点、綺麗なコードを追求しても文句を言われない点は本当に素晴らしいので今後も続けていきたいです。


ただその一方で、最近は「会社という枠を外れて自分の腕一本でお金を稼いでみたいな~」という気持ちもちょっとずつ大きくなってきています。
なので、週の半分はソニックガーデン、もう半分は自分自身のビジネス、みたいなハイブリッドワーク(半会社員、半フリーランスみたいな働き方)はできないかなーと妄想したりしてます。(具体的なアイデアやプランがあるわけではないんですが)
3年後にはそういった内容のブログを書けていると嬉しいですね。


何はともあれ、会社のみなさん(ソニックガーデンギルドのメンバーを含む)とお客さん、それに家族の協力があってこそ、この3年間なんとかやってこれました。
これからもお世話になると思うので、どうぞよろしくお願いします!

あわせて読みたい

浜松Ruby会議01で発表したときのスライドです。
こちらもある意味3年間のふりかえりですね。


Ruby未経験だった僕がドヤ顔で偉そうなことを言えるようになるまでの3年間 / #hmrk01 - Speaker Deck