FAKELOG

思うがままに書き殴るブログ

快適な開発環境で楽しいリモートワーク!

やぁやぁ!皆さん、今日も最強の開発環境でコード書いてますか〜!

最近、開発環境を一新して、より一層、コードを書くことが楽しくなってきたので、そこまでに至った背景や、紆余曲折して、最終的にどんな開発環境に落ち着いたのかを簡単にご紹介したいと思います。

ちなみに、ここで言う開発環境とは、物理的な開発環境のことで、主に、リモートワークをしているときの開発環境の話しになります。

旧開発環境 💻

まずは、以前の開発環境を紹介しておきましょう!と言いたいところなんですが、紹介するまでもなく、以前は MBP 一台のみ!というシンプルな開発環境でした。

f:id:fakestarbaby:20180306225700p:plain

リモートワークをしているパパやママに話しを聞いてみよう!という企画に参加して色々と話したこともあるんですが、コレがないとリモート出来ないんすよっ!みたいなモノも、本当に何も無くてですね・・・。

fledge.jp

特に、何も不自由していなかったんですよね。MBP 一台で開発は出来ていたし、つらみを感じることも全然ありませんでした。

画面一枚のつらみ 😭

ところがですよっ!

ここ最近になり、UnityRider を同時に複数起動して、あるプロジェクトを参考にしながら、あるプロジェクトのコードを書くという場面に遭遇しまして、まぁ、コレが本当につらくてですね・・・。

特に、「コードを書く」という部分に関しては、画面をチラチラすることで、自分の頭に余計な負荷が掛かっているのを強く感じていました。

俺は、画面をチラチラしたいんじゃないっ!コードを見たいだけなんだよっ!うおー!とつらみが一気に高まり、何とかしなければ!という一心で開発環境を変える決意をしました。

サブディスプレイにチャレンジ 🖥

こうなったら、画面を増やすしかあるまい!ということで、まずは、サブディスプレイについて調べました。

どのブランドがいいのか、どのくらいのサイズがいいのか、全く知見が無くて見当も付かなかったため、とりあえず、会社で隣りの席に座ってる @monry(もんりぃ) と同じサイズならいいか〜!という感じで、会社で使うサブディスプレイを経費で買うことに決めました。

コレですね。

ちょうど、値下がりしていた時期っぽくて、最安値で買えたのはラッキーでしたね、経費だけど。

とりあえず、サブディスプレイを繋げてみたものの、まだ、何かしっくりと来ないものがあります。解像度をどうするかとか、画面をどう連結させるかとか、どっちの画面でどのアプリを表示するかとか、まぁ、色々と悩みは尽きないんですけど、一番の悩みはコレでした。

そう、会社と自宅の開発環境に差が出来てしまうというところなんですよね。いつでも、同じ環境で同じように開発をする、ということが難しくなってしまったのです。会社でコードを書くときはいいけど、リモートワークするとき、コードを書くのつらいままやんか!くっそー!

これはいけません!揃えなくっちゃ!

こうして、ここからは、一旦、リモートワークの開発環境の快適さを求めていく感じになります。

自宅にも、サブディスプレイを買うぞ 🖥

会社のサブディスプレイは 4K にしたんですが、解像度 Max にしてみたところ、フォントが小さくなり過ぎておじさんにはつらい感じがしたため、実は、Full HD でもイケるのでは!という思いがありました。しかし、いざ、買う!となると失敗出来ないからな・・・と二の足を踏んでいると、もんりぃが、家のテレビも Full HD なら、試しに画面を写して見てみたらどう?という神懸かり的なアドバイスをくれました。

なるほど!もんりぃ、頭いいなっ!(褒めてます)

それを聞いて、早速、家のテレビに HDMI で繋げて Full HD で画面を確認してみました。若干の荒さはあるものの、全然許容範囲じゃん!ヨサソウ!ということで、27 inch & Full HD に決め、アマゾンをフラフラと歩いていると、たまたま、イイカンジのやつを見つけました。

そもそも、29 inch だし、更に、ワイドなら、左に Unity を右に Rider を表示出来るのではないか!そしたらもう、画面移動しなくていいじゃん!フー!サイコー!などという思惑があり、すぐさま、購入に至りました。会社のサブディスプレイと同じ LG というところもポイント高いですね。

さて、画面の具合はこんな感じです。

f:id:fakestarbaby:20180414000756p:plain

うん、広いっ!開発しているときに、画面チラチラしなくて済むので、とても快適です。むしろ、ワイドなので、会社より快適感があり、引きこもりが加速します。

スタンドで高さを稼ぐ 💪

ここで一つ問題を見つけました。

サブディスプレイの手前に MBP を置いて開いてみると、サブディスプレイと MBP の画面がこう重なるんですよね。もっと手前に引いて作業すればいいのかもですけど、なんとも不便です。

ということで、サブディスプレイを置くスタンドを探し始めました。

デスクの奥行きが狭いため、出来るだけ奥行きが浅めのモノにして、圧迫感をなくそう!という条件で、欲を言えば、スタンドの下にスペースを作って、そこにコード類を隠せたりしたらいいな!という思いもありました。

そして、こちらを購入しました。

田窪工業所 パソコンラック 幅80cm ブラック PCR-80KM

田窪工業所 パソコンラック 幅80cm ブラック PCR-80KM

よく見ると、グリッター感があり、キラキラと輝いているように見えて美しいです。作りもガッチリしていて、サブディスプレイを乗せても、しなったりしません。ヨイ〜!

そして、手前に MBP を置いてもこの通り!

f:id:fakestarbaby:20180414000921p:plain

画面が重なることもなく、イイカンジです。これで、ストレスフリー!

USB ハブを飼おう 🐶

iPhone 充電したいじゃないですか〜!ポケット WiFi の充電や、イヤフォンの充電もしたいよね!というワガママな希望を叶えるため、USB ハブを飼うことにしました。サブディスプレイスタンドの下に飼い慣らせば、イイカンジに目隠しされてヨサソウ!という下心がありました。

ポートもたくさんあって、充電し放題な感じがヨサソウです。実際には、このように、サブディスプレイのスタンドの下に飼い慣らしています。ゴチャゴチャせずに、スッキリと隠せてイイカンジです。

f:id:fakestarbaby:20180215105724j:plain

iPhone どこに置くか問題 📱

iPhone をゴロッと置くのもアレだしね、ということでスタンドを買いました。

スタンドにケーブルが付いていて、差し込むと充電出来るタイプもあるんですが、横でもんりぃがそのタイプを使っていて割りと短い期間で壊れていたのを見ていたので、まぁ、まずは、置ければいいかと。

f:id:fakestarbaby:20180215105624j:plain

弊社のアプリは横向きなので、スタンドに横向きに置いたまま、検証したりすることもあります。

充電用ケーブルたちを定位置に置いておきたい 👆

USB ハブから伸びたケーブルたちは荒ぶりがちです。出来るだけゴチャゴチャしないようにしておきたいものです。基本は、WiFi の充電とイヤフォンの充電が出来ればヨサソウだったので、二本のケーブルたちを定位置に置こうとコレを買いました。

ケーブルをパクッと挟み込み、磁石の力で位置を固定します。奇跡的に、サブディスプレイスタンドが磁石でくっ付く材質になっていたので、このようにして、定位置にピタッとくっ付けて置けるようになりました。

f:id:fakestarbaby:20180215105503j:plain

うむ、収まりがヨイ。

MBP 電源の取り回し 🔌

MBP の電源って、割りと大きくて取り回しが良くないんすよね。コンセントにバシッと差し込んで、そこから充電ケーブルを伸ばしたりすると、まぁ、ケーブルが邪魔だし、そもそも、コンセントの抜き差しが面倒臭い。

そこで、延長ケーブルを買おうと探してみたんですが、まぁ、純正は高いですね。

Apple 電源アダプタ延長ケーブル MK122J/A

Apple 電源アダプタ延長ケーブル MK122J/A

ということで、メルカリの力を借りて、なんと、破格の ¥500 でゲットしました!この延長ケーブルを使うことで、電源タップの口を取って差し替えれば・・・

f:id:fakestarbaby:20180215105854j:plain

ワンタッチで楽に接続出来るようになりました。しかも、電源自体もサブディスプレイのスタンド下にイイカンジに隠れてくれるので、煩わしさもありません。

ミニタイムタイマーで時間を意識する ⏰

ポモドーロをしているわけではなく、どちらかというと、時間を意識するために使っている感じになりますね。

ミニタイムタイマーについては、以前、記事にも書いたりしたので、興味があればこちらをどうぞ!

blog.fakestarbaby.com

各種電源周りをキレイにごまかしたい 😎

ここまでで、サブディスプレイ、MBP、USB ハブの電源を確保する必要があるわけなんですが、何も考えずに配線するとゴチャゴチャになることが目に見えているので、何とかして目隠ししたいと思うわけですよ。

そこで、家に眠っていたコレを引っ張り出して来ました。

各種電源周りはこの中に集約して、キレイにごまかしちゃおうという作戦です。

うん、スッキリ!

f:id:fakestarbaby:20180215105916j:plain

フタを開けるとこうなっています。

f:id:fakestarbaby:20180215105929j:plain

横から伸びた配線は、サブディスプレイスタンドの裏手から伸ばしているので、表向きはスッキリしているところがごまかしポイントです。

f:id:fakestarbaby:20180215105936j:plain

電気毛布 ⚡️

さすがにもう暖かくなってきたのでしまおうかなぁ〜っていう感じなんですが、冬はこれを導入することで、かなり暖かい思いをさせて頂きました。

Sugiyama 【水洗いOK】 敷き毛布 140×80cm NA-023S

Sugiyama 【水洗いOK】 敷き毛布 140×80cm NA-023S

椅子の上にあぐらをかいて座るスタイルなので、ファサッと足の上を覆うようにして使っていました。

f:id:fakestarbaby:20180215110450j:plain

@llminatoll(みなちゃん)@shokolateday(ショコタン) も、全く同じ柄の電気毛布を持っているらしくて、もはや、流行ってます。持ってないひとに、無駄に勧めまくったりもしてましたけど、コスパ抜群です。

最終的なリモートワークの開発環境

f:id:fakestarbaby:20180414002205p:plain

ヨイ。

このスペースは元々、スタディエリアというネーミングが付いていて、リビングからも、二階からも見渡せる位置にあることから、誰でも自由に使えるデスクだったんですけど、開発環境を整えてしまったせいで、パパの作業スペースとなってしまいました。

ゴメンよ〜!

でも、開発に関しては、もう何も文句はないなというレベルで快適にリモートワークが出来て幸せです。環境って大事ですね。

ネガティブに感じることがあれば、それはカイゼンするキッカケになる

毎日向き合う開発環境だからこそ、不便だと感じることをどんどんと無くしていき、快適に作業が出来る環境を整えましょう〜!と、今の今まで全く開発環境を整えて来なかったマンが開発環境を整える戦いの記録でした。

イイカンジの Issue 運用を求めて

先日、スシローパビリオンのふりかえりを実施しました!プロジェクトのふりかえり自体、久し振りだなっ!という感じでしたが、今回は、ファシリテーターとして @lycoris102(ととちゃん) を迎え入れたことにより、とても濃ゆいふりかえりをすることが出来ました〜!ととちゃん、どうもありがとう!

ととちゃんによるふりかえりに関するまとめ記事、オススメなので貼っておきますね。

lycoris102.hatenablog.com

さて、このふりかえりの中で良かったことも悪かったこともたくさん出てきたんですが、その中でも Keep として挙がり、みんなの共感を得た Issue の運用周りのことについて書いてみたいな〜と思います。

ところで、スシローパビリオン is なんなの?

私が所属しているキッズスターで開発している社会体験アプリ「ごっこランド」では、実在する企業様に協賛して頂いて、その企業様独自の子ども向けコンテンツを企画・開発して無料で配信しています。その子ども向けコンテンツの一つとして、先月、「スシローのおすしやさんごっこ」をリリースしました!

www.youtube.com

2018年4月現在、全国各地のスシローさんの実店舗にて告知もしていますので、お近くにスシローの店舗があるみなさまは、ぜひ、美味しいお寿司を食べに行って満腹になったあと、子どもと一緒にプレイしてもらえたら嬉しいですっ!

で、このスシローパビリオンの開発を私が担当していて、無事にリリースしたあと、ふりかえりを実施したよ!というお話しですね。はい、前提、終わりっ!

それでは、Issue 運用に関するアレコレについて書いていきます。

カンバンスタイル

キッズスターでは、Waffle を導入しています。そのため、全社員、パートナーさんが、この Waffle を通して Issue にアクセス出来るようになっています。

f:id:fakestarbaby:20180410214304p:plain

Waffle を導入してから一年くらいが経ち、少しずつやりやすい型みたいなものが見えてきた感じです。

まずは、それぞれのリストの役割について確認してみましょう!

リスト名称 説明
Backlog 直近ではやらないよ
ToDo 直近でやるよ
ディレクター作業中 ディレクターが作業しているよ
デザイナー作業中 デザイナーが作業しているよ
監修中 協賛企業様が監修しているよ
エンジニア作業中 エンジニアが作業しているよ
ビルド待ち 対応完了してビルド待ちだよ
社内検証中 ビルド完了して社内検証しているよ
社外検証中 社内検証完了して社外検証しているよ
Done 検証完了したよ

基本的には、手戻りが無ければ、左から右に Issue が流れて行き、対応されて、ビルドされて、検証されて、クローズするという弊社の開発のワークフローに沿った流れになっています。

アサインと指示を明確にする

スシローパビリオンの開発では、アサインと指示を明確にすることを心掛けていました。

ここでは、運用の一部を例に挙げて説明します。

例えば、ビルド待ちリストには、対応済みだけどまだビルドされていない Issue たちが並んでいます。エンジニアがビルドする必要があるため、このときのアサインはエンジニアになっています。

f:id:fakestarbaby:20180412095254p:plain

エンジニアがビルドすると、DeployGate に IPA / APK がアップロードされます。この時点で、ビルド待ちリストに待機していた Issue たちを、社内検証待ちリストへ移動します。社内検証は、ディレクターのタスクとなります。そのため、このタイミングで、アサインをエンジニアからディレクターに漏れなく変更します。

f:id:fakestarbaby:20180410215419p:plain

このとき、アサインされただけでは、当人は何をすればいいのか不明瞭なので、きちんと、そのひとにして欲しい指示を書きます。ここでは、検証をして欲しいのですが、DeployGate にアップロードされているどのビルドで検証すればいいのか、指示を出してあげる必要があります。指示を出さなかった場合は、ディレクターからどのビルドで検証すればいいのか?という質問が飛んで来ることになるし、そのころにはもう、どのビルドに対応が入っていたか思い出せなくなっているかもしれないので、すぐ指示を出した方がいいですね。

アップロードされたビルドには、バージョン番号が付与されているため、そのバージョン番号を添えて Issue に追記します。更に、メンションも添えています。

f:id:fakestarbaby:20180412003635p:plain

手動で全部やるの大変なんですけど、こうして一つ一つ Issue を開いてコメントして行くことにより、検証するポイントや、やり方などの細かい指示出しをする必要があることに気付けたりもするので、自動化することだけが解決策じゃないかもな、という印象もあったりします。(これは今後の課題)

とにかく、自分の手を離れて、誰かに何かをして欲しいときは、アサインを変える、指示を出すということを徹底していました。

気付ける仕組みを整えておく

キッズスターでは、自分が Issue にアサインされたり、メンションされたりすると、Slack に通知が飛んでくる仕組みを導入しています。これにより、アサインを適切に切り替えていくことで、自分に何かのタスクが割り当てられたことに気付けるようになっています。

f:id:fakestarbaby:20180412095455p:plain

この仕組みは、技術顧問の @ppworks(こっしー) 作のこちらのツールを利用しています。

github.com

ノーアサイン is 放置されがち

たまに、誰もアサインされていない Issue を見かけることがありますが、放置される原因になり得るので、その時点でボールを持っているべきひとをアサインしておくといいですね。

今、誰が、何をしているかを可視化する

自分が作業するときに、Issue をちゃんとリストへ移動する、という基本的なところも大事ですね。今、誰が、何の Issue を抱えているのか可視化出来て便利です。たまに、リストへ移動しないまま Issue に取り掛かるひとが居ますが、自分の Issue を管理するという意味合いでも、きちんとリストへ移動してから着手する、ということを意識した方がヨサソウです。

あと、誰しも人間なので、たまに、Issue を移動することを忘れてしまうこともあります。そういうときは、それに気付いたひとが「あれ、これもう作業中でしたっけ?」と声掛けして「ああ、忘れてたよ、ゴメンゴメン〜!」みたいなフォローが出来ると、なお、ヨイですね!

気付いたらすぐ Issue を立てる

検証に回す前に気付いたことがあれば、躊躇なく、Issue を立てるようにしていました。

例えば、この画面のこの部分はまだ未実装である、ということが分かっているなら、それを Issue として立てておくようにしていました。

こうすることで、ここはまだちゃんと動いてないですよ!という事前共有になります。ここが事前共有されていない状態で検証を始めてしまうと、ちゃんと動いてないけど、バグかな?という Issue が立てられて心配されてしまいます。事前共有さえ出来ていれば、検証する際に、その部分はまだ未実装であるという体で検証を進められます。

また、事前共有することで、今は未実装だけど、これから、実装する意思があるよ!という表明にもなります。遅かれ早かれ Issue として立てられるのなら、気付いたひとがすぐ立てようという話しです。

あと、すぐ書いておかないと、すぐひとは忘れる。

もやもやした気持ちを表明する

なんかちょっと気になったんですよね!っていう、ちょっとしたもやもやの気持ちを表明するため、勝手に、もやもや Issue を立てていました。

f:id:fakestarbaby:20180410221020p:plain

あ〜、もやもやするー!

自分の中に明確な答えや対応方法が思い付いてるわけじゃない、でも、なんかこう、ここがもやもやするんすよ!っていうとき、あるじゃないですか。そういうときに、ゆるく立ててみて、まずは、みんなの意見を伺ってみるという感じで利用されていました。

f:id:fakestarbaby:20180410221621p:plain

するね、するね、もやもやするねー!

私以外のひとも、結構、もやもやしてましたね。

f:id:fakestarbaby:20180410221154p:plain

分かるー!見えるー!左寄りに見えるよー!もやもやするー!

f:id:fakestarbaby:20180410221334p:plain

いいねー!いいもやもやだね〜!

という感じです。

このもやもや Issue から、ブラッシュアップに繋がっていった事例もたくさんあるので、もやもやの表明は大事です。ポイントは、何でも言っていいんだぞ!という心理的安全性が築けているかどうかですかね。

社外検証も同じ Waffle 上で進める

世間には、社内で検証するには足りないくらいの端末がリリースされていることもあり、他端末検証は、外部の会社に委託して検証して頂いています。

そこで上がってくるバグ報告なども、我々が利用している Waffle をそのまま公開していて、そこに直接書き込んでもらうという運用にしています。

最初は書き方などが分からず、Issue のタイトルで事象を全て言い切ってしまうということも見受けられましたが、Issue はこう書いて欲しいですという要望や、運用方法について記事にして共有することで、次第に精度は高くなり、社内と同じレベルで Issue のやり取りが出来るようになって来ました。

以前は、バグ報告専用のツールを導入していたため、運用につらみを感じていましたが、今はツールが統一されてムダの無い社外検証が出来るようになったと思います。

タイトルには、画面名とシンプルな事象だけを書く

スシローパビリオンの Issue の一部は、こんな感じになっていました。

f:id:fakestarbaby:20180410221855p:plain

先頭に該当する画面名を、そのあとに続いて事象を書き出すスタイルに統一されていて、どこの話しをしているのかが一目瞭然で分かりやすかったですね。プロジェクトメンバーの中に一人でもこれを意識しないで Issue を書くひとが居たりすると、統一感が無くなってしまうため、そういうときは、定例などで周知するといいかもしれません。

まだまだ、改善の余地はある!

Keep で出て来た良い側面だけを取り上げてみましたが、当然、もっとここをこうしたいな!という課題も色々とあります。

例えば、ビルド待ちリストから内部検証中リストへ手動で移動させる手間だったり、DeployGate のバージョン番号を調べて記載する手間だったり、Issue のフォーマットが不明瞭だったり、まぁ、色々とあります。

ここはもう日々、改善だと思うので、無理なく自然に仕事が進められるよう、今後も定点観測して行きたいな!と思います。

キッズスター入社3年間のふりかえり

f:id:fakestarbaby:20180331092230p:plain

春ですね 🌸 先日、キッズスターが入居している世田谷ものづくり学校に隣接している世田谷公園で、お花見ランチをして来ました。ちょうど、春休みの時期だったので、子どもたちがワイワイ遊んでいて、見ているだけで癒やされました。

さてさて、実は、2018年3月9日付けで、キッズスターに入社してから3年が経過していました。つまり、キッズスター4年生になったわけですね〜!ということで、入社3年間を駆け足でふりかえってみたいと思います 😎

❤️ 入社当時の思いと今の思い

入社当時に書いた記事がこちらです。

blog.fakestarbaby.com

今思い返してみても、運命的な出会いだったなと思うし、この選択は間違っていなかったなぁという思いがあります。

子どもたちを笑顔にするために、もっともっと突っ込んで、色々とやってみたい!という強い思いが今の自分を突き動かしています。

入社当時の思いはとてもシンプルですね!

驚くことに、入社して3年が経過した今でもこの思いは全く変わっていなくて、むしろ、まだまだ、やれるぞっ!もっともっと〜!という思いが溢れている感じすらあります。もはや、自分の中で「絶対に揺らがない決意」みたいなものになっていて、いつでも、この思いに突き動かされながら行動している自分が居ます。

💻 エンジニアとして取り組んだこと

普段、そこまで、エンジニアっぽさが出ていないこともあって、コードなんて書いていないのでは?と思われがちなフシがあるんですが、一応、コードも書いているんですよっ!

ということで、今までに携わったプロダクトを、ざっと書き出してみました。

Unity × iOS / Android アプリ

Unity × Kinect

  • 大激走!フリフリコースター > 新規開発

Unity × ScanSnap

  • ディノアミーゴス > 新規開発
  • ディノクラフト > 新規開発
  • ディノレース > 新規開発

Cocos2d-x × d キッズアプリ

サーバサイド

その他

  • 映画連動アプリ > 新規開発
  • TV 連動 AR アプリ > 新規開発

大小様々ではありますが、3年間ともなると、やはり、それなりのプロダクト数になりますね。

臨機応変に担当するプロダクトを乗り換えていたので、Unity と Cocos2d-x と Web API を行ったり来たりしていることが多く、なかなか、スキルが定着しなかったように感じています。

Unity に関して言うと、当時は、オレオレフレームワークを採用していたこともあり、Unity の本質的な部分の理解に踏み込まなくても、何となく動くものが作れてしまうという状況にあったことも、スキルの定着を遠回しにしてしまっていたような気がしています。オレオレフレームワークの習熟度だけが上がって行く、というイメージですね。

上記以外のところで言うと、属人性を減らして作業を分担出来るようにすることにも取り組んでいました。それでも、特に、もんりぃ(@monry) の属人性が高過ぎるせい(スーパーマンなせい)で、剥がしても剥がしても隠し球が出て来るので、未だに剥がしきれていないんですが・・・。

あとは、キッズスターでは、企画の初期段階からエンジニアも参加することが出来るため、プロダクトをゼロからみんなで作り上げて仕上げて行くところをたくさん経験出来た、というところは、自分的には大きな成果だったかなと思っています。1人で開発する壁みたいなところを打破するために、チームで開発出来る環境を選んだということもあったので。

やっぱり、一人で作るよりも、圧倒的に色んな意味で良いものが作れますね。前職のときに開発していた知育アプリと比べると、圧倒的にクオリティも良く、1人では到底作り得ないものを提供出来ていると思います。

😍 エンジニアとしての価値を実感する

そして、エンジニアとして大きな転機となる一日もありましたね。少しだけ、この記事でも触れています。

blog.fakestarbaby.com

自分たちで考えて作り上げたサイネージアプリをプレイするためにわざわざ並んでくれて、ドキドキワクワクしながら自分の番になるのを待ってくれて、一生懸命プレイして楽しんでくれて、笑顔がたくさん生まれる場所になっていたんです。本当に感動して涙が出そうになりましたよ、嬉しくて。あんなに疲れた仕事をしたことはなかったし、あんなに充実感に溢れた仕事をしたこともなかった。本当に最高の日でした。あのときの感動は、ずっと自分の胸の奥に刻まれていて、あのためにまた頑張ろう!という気持ちを今も持ち続けています。

今でも鮮明に覚えているんですが、自分が価値を提供出来る存在であるということを、リアルに自覚することが出来た瞬間でした。この仕事において、自分に自信を持てるようになったのも、このころからかもしれません。

🕊 エンジニアという枠組みの外に出る

さて、もちろん、私は、エンジニアとして会社に雇われているわけなんですが、いざ、この3年間を振り返ってみると、実に、色んな動き方をしていたような気がします。

基本的には「会社のためになることで、自分に出来ることがあるのなら、何でもやるぞ〜!」という精神です。会社にそういう役割や動き方を指示されたわけではなく、あくまでも、自発的に、出来る範囲のことをやって来ました。キッズスターという会社が好きなので、会社のためになることをしたい!良くしたい〜!という一心ですね。

技術はもんりぃが、それ以外全部を私がやる、みたいな役割分担が出来ていて、世間一般で言うと VPoE 的な役割に該当するかもしれませんね。役割として与えられているわけではないので、今はもう、みんなそれぞれが帽子を付け替えて臨機応変に動く、みたいな感じになっています。

というわけで、エンジニアとして仕事をする傍ら、会社、プロジェクト、開発チームをより良くするためにはどうしたらいいんだろう?なんてことを考えながら、ただただ、がむしゃらに色んなことに取り組んたことをふりかえってみます。

🏡 リモートワーク導入

リモートワークに対する理解ゼロの状態からリモートワークを導入して、今では、ほぼ全員が任意のタイミングでリモートワークをしている状態にまでなりました。

こんなインタビューを受けたこともありましたね。このころはまだ、リモートワークを試し始めたばかりで、社内に広めて行くぞー!と意気込んでいたフェーズですね。当時は、ここまで、リモートワークが浸透するとは夢にも思っていなかったので、本当、嬉しい限りです。リモートバンザイ!

fledge.jp

リモートワークに関しては、個人的に思うことがあり、こちらの記事でもまとめています。

blog.fakestarbaby.com

とは言え、最近では、みんなに会うために出社することも楽しくって、リモートの割り合いとしては、週の半分くらいになっているとバランスが取れていいのかなぁ〜と思います。

🌈 技術顧問就任

エンジニア採用を推し進め、エンジニアチームをより強くするために こっしー(@ppworks) に技術顧問として力添えをして頂くように尽力しました。

私とコモンの馴れ初めなどは、こちらで紹介しています。

blog.fakestarbaby.com

コモンのお陰で、エンジニアたちは圧倒的に成長している感があるし、中のひと目線じゃない外のひと目線でバンバン指摘してくれるので、色んな気付きがあります。

コモンと一緒に仕事を始めてから、まだ、1年と少ししか経ってないことに驚きを覚えつつも、それは濃ゆい1年を共にしたからだ!ということで、今年もまた楽しみですね。

会社としても、チームとしても、また、自分自身としても色んな課題が山積みで大変な状態ではありますが、これからも、エンジニアチームのメンターとして宜しくお願いしますっ!

🐥 esa 導入

esa を導入して社員全員分のアカウントを発行して、今では、業務で日常的に使われるまでになりました。

esa を導入してしばらくは、上手く情報共有を回すことが出来なくて、一人、自分の日報を眺めては涙で流していたという時期もありましたね。詳しくは、esa 社のインタビューで語っています。

docs.esa.io

ここでは余り語られてはいませんが、まだまだ、課題はたくさんあるので、一つ一つの課題と向き合いながら、ヨサ溢れる感じにして行きたいな〜と思っています。esa 楽しいよ、esa 🐥

👂 共有会

以前は、経営陣と直接対話する場はありませんでしたが、お互いの考えていることを知るための場として、色んなことを共有し合う会を隔週で設けて実施してきました。各セクションのコアメンバーが参加して、色んな課題に対する議論をする場になっています。経営に関する熱い議論がされることもありますが、何もなかったころに比べたら、議論が出来ている時点で全然マシです。

ただ、最近では、隔週では議題の議論が間に合わないくらいのスピード感になってきているため、今週からは、毎週、1時間ずつでやって行こうと考えています。お互いの距離感を保つためにも、会社の透明性を担保するためにも、課題に確実に向き合うためにも、隔週でやるより、毎週、短い時間でも開催する方がヨサソウなんですよね。これは、今後も継続して実施して行きたいなと思います。

エンジニア採用

今までは、チームがスケールするフェーズを経験したことがなかったこともあり、採用自体に関わることはありませんでしたが、キッズスターでは、エンジニアの採用を任せてもらえることになりました。まさか、自分が採用に関わる人生が訪れるとは、夢にも思っていませんでしたけどね。

知見も何もない中、恐れずに前に進めたのは、一緒に働く最高の仲間を見つけたい!という強い思いと、コモンの支援があったからこそだと思います。

コモンは、前職でこのような記事を書いており、採用に関する実績と知見があり、頼りまくりました。

japan.zdnet.com

採用活動を始めてからは、自分のこと、エンジニアチームのこと、会社のことを広く伝えるため、エンジニアの募集記事を書き起こしたり、たくさんのひとに出会って色んな話しをしまくりました。こんなに色んなひとと会って話したことって、ほかにないよなぁ〜という感じです。

大きな会社ではないので、募集に対して、そこまでたくさんのひとが来てくれるわけでもなく、もどかしい思いをする時期もありましたね。

採用は、ひととひとの出会いであり、お互いの人生に関わる重要なイベントなので、いつも、そわそわしてしまいます。どういうひとなんだろうな?という期待感とか、上手く会社のことを話せるかなとか、相手のことを理解出来るかなとか、我々のことを理解してもらえるかなとか、色んな気持ちが錯綜するんですよね。でも、そのくらいの緊張感がちょうどいいのでは、という気もしています。

キッズスター、気になるんすよね〜っていう Unity エンジニアな方が居ましたら、ぜひ、ご連絡をお待ちしています〜!

www.wantedly.com

プロデューサー、Unity デザイナーやイラストレーターも募集していますので、もし、周りに子ども向けプロダクトに興味あるひとが居たら、ご紹介して頂けたら嬉しいです!是非〜!

www.wantedly.com www.wantedly.com www.wantedly.com

👀 開発定例 / KPT

毎週の開発定例の中で、エンジニアと個人 KPT をする時間を設けて実施して来ました。コモンの導きによる影響が大きいのですが、この個人 KPT によって、エンジニア全員、大きく成長出来たのではないかな〜と思います。この短期間でここまでひとは成長出来るのか!と見違えるほど、成長したエンジニアも居ます。

また、この個人 KPT で出た課題を解決しようという動きもしていたため、その中の一貫として、リモートワークの推進だったり、GitHub & Waffle.io 導入の推進だったり、プロジェクトの KPT 実施だったり、業務改善のトリガーになるものもいくつかありましたね。

今は、最近、入社した ととちゃん(@lycoris102) の個人 KPT と、プロジェクトの KPT を実施しています。プロジェクトの KPT に関しては、その内、ととちゃんがブログ記事を書いてくれたらいいなぁ。(プレッシャー)

追記: 2018/04/05 (木)

どうやら、ととちゃんが記事を書いてくれたみたいなので、リンクを貼っておきます!(サンクス!勉強になります!)

lycoris102.hatenablog.com

🌟 そして、キッズスター4年生

上手く行ったことも、上手く行かなかったことも、たくさんあったけど、どれも今までの自分が経験したことがないことばかりなので、そういう意味では、スゴく貴重な時間を過ごせていたな〜と思います。

それを生かして、キッズスター4年生をどう過ごそうか、というところですね。

😋 今後、取り組んで行きたいこと

最近は、ごっこランドに標準を合わせて事業を進めていることもあって、スキルは、Unity に一本化されるようになってきました。また、オレオレフレームワークを捨てて Clean Architecture を採用することで、Unity 本来が持つ機能を活かしながら開発が出来る状況になりました。というわけで、やればやるだけ自分のスキルアップが望めるし、何より Unity に詳しいもんりぃが側に居て何でも悩みを聞いてくれるところに有り難みを感じているので、やるぞ〜!という気持ちでいっぱいです。

あとは、最近入社したととちゃんは、前職で KPT やふりかえりをガンガン回してファシリテーションしていた実績があるので、その辺も、彼から上手く盗んで自分のものに出来たらいいなぁと思っています。

一番成し遂げたいことは、やっぱり、うん、パビリオンをたくさん作って、もっともっと、たくさんの子どもたちに楽しんでもらいたいってことですね〜!

課題は山積みで考えなくちゃいけないことも、やりたいことも、やらなくちゃいけないこともたくさんあって、頭を抱えるシーンは多いけれど、それでも、今の仲間となら、乗り越えて行けるという確信があります。それくらい頼もしい仲間たちだと思っているので、協力して、より良いプロダクトを子どもたちに提供して行きたいなと思います。

より良く!より良くだー!

やるぞやるぞ〜っ!

✨そして、息子も小学生に!

入社日である3月9日は、息子の誕生日でもあります。当時は、フルリモートから出社するスタイルに切り替えたばかりだったので、「パパ!どこへ行くの!」と泣きわめいて、窓にすがりついていた光景を思い出しますね。

今ではもう随分と大きくなり、小学生になるとか、ちょっと時間の流れがよく分からない感じですが、息子の成長に負けないように、パパも頑張ろうと思います!

GIF アニメを手軽に作って共有しよう!

やぁやぁ! 皆さん、今日も GIF アニメ作ってますか?

今回は、GIF アニメを手軽に作れるイイカンジのアプリを見つけたので、ご紹介したいと思います。

ってかさ、GIF アニメなんて何に使うのよ?

いやいや、アプリの挙動を共有するときにね、めっちゃくちゃ使うんすよ!

例えば、こうっ!

https://user-images.githubusercontent.com/572020/30850769-8d19cc74-a2e1-11e7-9a85-e9316b66a5a6.gif

そして、こうっ!

https://user-images.githubusercontent.com/572020/30210826-08d75c9e-94d9-11e7-968c-2aead4684c1f.gif

キッズスターは、知育アプリの会社ですんで、プルリクを作ったとき、こうして GIF アニメを貼っておくと、アプリがビルドされることを待つことなく、現状、こういう感じで実装されてるんすよー!と、挙動を確認してもらうことが出来るようになります。

なるほど、便利っ!

デザイナーさんに挙動を確認してもらうときも、隣りの席に赴いて「ねぇねぇ!」と肩を叩かなくても、GIF アニメを貼ってメンションを飛ばすだけでヨイのです。

GIF アニメ作成アプリと言えば!

割りと定番で、今までずっと利用して来た LICEcap というアプリがあります。

f:id:fakestarbaby:20180206012219p:plain

最低限の機能しか有していませんが、サクッと、GIF アニメを作るには、最適なアプリなんですよね。

・・・しかーし!

サブディスプレイと相性が悪い

最近、サブディスプレイを導入して、意気揚々としていたんですけど、あるとき、Unity の Game View をいつものように録画して GIF アニメを作成したら、なんと・・・

f:id:fakestarbaby:20180206011846g:plain

真っ黒い画面とカーソルしか写っていませんでした。気持ち悪さある。

色々と調べてみたら、どうやら、サブディスプレイと相性が悪いようで正しく動かないみたいでした。サブディスプレイ側の録画がダメなら、メインディスプレイ側ならイケるのでは?と踏んで試してみたのですが、結果は変わりませんでした。

なんてこったい!

早速、ググります!

すぐにでも、プルリクに GIF アニメを貼りたかったので、とりあえず、ググってみました。そして、見つけました!

f:id:fakestarbaby:20180206012036p:plain

アイコンがアレっぽさありますが、イマドキ感が出ていてイイカンジそうです。

「Gifox」ヨサソウ!

早速、無料版をダウンロードして試してみることにしました。

f:id:fakestarbaby:20180207031905p:plain

最初からショートカットキーが割り当てられているので、「⌘ + Shift + 5」で録画範囲を切り取れます。

f:id:fakestarbaby:20180207031954p:plain

そして、この状態で「Space」で録画を開始出来ます。

f:id:fakestarbaby:20180207032050p:plain

そして、「⌘ + Esc」で録画を終了出来ます。

f:id:fakestarbaby:20180207033055p:plain

メニューバーにあるアイコンから、スッと、作成した GIF アニメにアクセス出来ます。過去に作成した GIF アニメにもアクセス出来るようですね。

そして、この状態で、GIF アニメをおもむろに、プルリクのコメント欄にドラッグしてみると・・・

f:id:fakestarbaby:20180207032257g:plain

はい、貼れたぁ〜!

シンプル!

ヨイ〜!ヨイのでは〜!

サブディスプレイ側でも、問題なく、録画して GIF アニメを作成することが出来ました!

無料版は録画 10 秒の制限アリ!

どうやら、無料版では 10 秒までしか録画出来ないようです。試しに、アプリの挙動を録画してみましたが、余裕で 10 秒を越えることが判明しました。つまり、尺が足りない・・・。

ということで、思いのほか、ヨサソウな挙動だったし、何より、今すぐにでもプルリクに GIF アニメを貼りたかったので、有料版を買いました。と言っても、$5 でクソ安いです。

サヨナラ LICEcap!! ヨロシク Gifox!!

長年愛用して来ただけに、別れは悲しいものですね。Gifox ヨロシクね!とか言っておきながら、まだ、そこまで使い込んでいないので、実は何かあるかもですけど、今のところ、イイカンジです。

残り時間を可視化しよう!

見えない時間とどう戦うか

会議中、ついつい、議論が白熱してしまって、気が付いたときには、残り時間はもうわずか・・・なんてこと、ありませんか?弊社では、まぁ、よくあります。一時期に比べたら、会議中の時間の使い方に気を配れるようにはなりましたが、やはり、まだまだ出来ていない感は否めません。

会議が始まったその瞬間から、1秒、また1秒と、残り時間は刻々と減っていくわけなんですけど、残念ながら、残り時間って目に見えないので忘れられがちなんですよね。

自分の目の前に PC を広げていたとしても、議論に意識が持って行かれると、モニタに表示されている時計すら見えなくなる。もしかしたら、自分の PC の時計をチラチラ見るようにする、という癖付けをすることで解決するかもしれないけど、なかなか難しい。PC を持って来ていないひともいるしね。

でも、なんとかしたいんすよ・・・残り時間が可視化出来たらいいのにな。

そこで、タイムタイマーですよ!

世の中には便利なものがあるんですね。 残り時間を可視化する画期的なタイマー、それが、このタイムタイマーです!

f:id:fakestarbaby:20171013213711j:plain

タイムタイマーアラーム付き (M) 20センチタイプ

タイムタイマーアラーム付き (M) 20センチタイプ

使い方はとっても簡単で、赤い部分をぐるんっ!と反時計回りに回すだけ、それだけです。あとは、時間が経過するとともに、赤い部分が減っていくので、残り時間がどれくらいなのか、一目瞭然!スゴイっ!

どうやって使っているの?

弊社では、このようにミーティングテーブルの脇にタイムタイマーを設置して、いつでも、誰でも使えるようにスタンバイさせています。

f:id:fakestarbaby:20171013214007j:plain

1時間の会議なら55分を、30分なら25分を設定してから、会議を始めています。敢えて、5分短く設定しているのは、会議のクロージングに5分くらいを充てたいからで、予め、その時間を引いた上で会議に臨むようにしています。

f:id:fakestarbaby:20171013213731j:plain

大きめサイズなので、会議をしていても、やたらと目に付きます。主張が激しいくらいが、とても、ちょうどいいんです。

これくらいのサイズ感なら、議論に集中しているひと以外の目にも付きやすいから残り時間を指摘しやすいし、時間がないからその話しはそこまでな!と強く制止するよりも、ホラ!残り時間が少ないから議論を前に進めようぜ!という感じを出しやすい。

ちなみに、残り時間がゼロになったら、ピピピ!と音声を鳴らして知らせることも出来るんですが、割りと、音が大きいので鳴らしていません。

ミニタイムタイマーもオススメ!

タイムタイマーには、いくつか種類があるんですよね。特に、この一番小さいミニタイムタイマーは個人的にも愛用していて、オススメです!

f:id:fakestarbaby:20171013213916j:plain

タイムタイマーアラーム付き  (S) 8センチタイプ

タイムタイマーアラーム付き  (S) 8センチタイプ

かわいいっ!

大きめサイズと機能は同じで、コンパクトに持ち運べる作りになっています。サイズ感としては、このくらいですね。

f:id:fakestarbaby:20171013215752j:plain

リモートワークのときに、ポモドーロで集中するぞ!っていうときに利用したり、KPT や開発定例の残り時間を可視化するために利用したりしています。

いやいや、そんなんアプリで代用しちゃえばいいんじゃん?と思うかもしれないんですけど、物理的にそこにある、視界に入り込んでくる、それしか出来ない、その機能しか備えてないっていうところが大事なところだと思うんですよね。

ちなみに、子どもたちに面白がってイタズラされて、赤い部分をぐるんぐるん回されて、少し挙動がおかしくなったりしたことがあるので、乱暴な取り扱いと子どもには要注意です。

おまけ: 子どもに残り時間を説明する難しさ

大人に比べると、子どもはもっと残り時間に無頓着です。あと、5分で時間になるから早く支度しなさい!と言われても、5分ってどれくらいなんだろう? 🤔 となってしまうわけですよ。時間の感覚値がまだ掴めていないからですね。

そんなときは、ミニタイムタイマーで残り時間を見せてあげることもアリなんですが、こんなアプリを使うのもヨサソウです。

かわいいっ!

残り時間が減っていく様子を、ネズミがリンゴを食べる様子に置き換えて表現しているんですよ、りんご1つ10秒という単位で表現されていて、とにかく、かわいいっ!説明なんて要らない!もう見てるだけで残り時間がなくなっていくことがスッと理解出来る感じが好きです。

残念ながら弊社のアプリではなく、リタリコさんのアプリです。リタリコさんは、最近、子ども向けのシンプルなアプリをリリースしたりしていて、個人的に注目しています。

残り時間を意識しよう!

会議の議事録のアジェンダに、時間配分を書いておいてもいいし、タイムタイマーを使ってもいいし、みんなで残り時間を意識して、無駄のない効率的な時間の使い方が出来るといいですね。

意識!意識〜!