これは ドリコム Advent Calendar 2018 の15日目です。
14日目は わたなべけんと さんによる、 リリースタイトルに携わるエンジニアとしてサービスの運用を考える話 です。
はじめに
DRIP エンジニアの広井淳貴です。
DRIP は Drecom Invention Project の略称で、ドリコムが発明を産み続けるためのプロジェクトです。
今年は AR とブロックチェーンをメイン領域として活動しています。
その中でわたしは 3Dリアルマップの研究開発を行っています。「AROW」というプロジェクトで過去記事はこちらです。
ドリコムでは、雇用形態関係なく、他部署のメンバーとの交流を目的とした社内制度のひとつとして、サークル活動を支援しています。このサークル活動を通じて、共通の趣味を持った仲間たちがひとつの活動を共にすることで、社内でコミュニケーション、絆が生まれます。
ドリコムにはボルダリング、登山、ボードゲームなど趣味の数だけ様々な社内サークルが存在しています。その中でわたしは社内ツール作成サークルに所属しています。
今回はどうしてツールを使うのか・作るのかについて自分が考えていることを記事にまとめ、これからもツールを使って・作っていきたいという自己表明をしていきます。
もしよろしければおつきあいいただけますと幸いです。
記事の概要
わたしはいろいろなツールを使うことと作ることが好きです。
この記事の前半では、ツールを使うことについて書いていきます。
まず、ソフトウェア開発の生産性向上を目指す考え方が書かれた本、自分がツールのバイブルとしている本を紹介します。
そして、バイブルの考え方をもとにツールを使ってるということを書いてみます。
後半では、ツール、とくに社内ツールを作ることについて書いていきます。
まず、社内ツール作成サークルについて紹介します。
そして、サークル目的をもとにどのようにツールを作っていきたいのかを書いてみます。
ツールを使うことについて
ツールの考え方についてバイブルとしている本の紹介
わたしが好きな本に「プロダクティブ・プログラマ」があります。
この本ではソフトウェア開発者が生産性向上を目指すための考え方やテクニック、そしてツールを活用した生産性向上レシピがいくつも紹介されています。
ツールを活用した生産性向上レシピとはケーススタディのようなもので、「こんな問題があったけどこのツールを使ってみたら問題が解決された」「こんなツールを作ったらよく活用された」というようなものです。
ケーススタディであるため、このレシピを自分で直接利用することは多くはなかったです。しかし、この本では以下のようにまとめています。
本書では確かに数多くの「コツ」を紹介しています。ただし、そうしたコツは料理のレシピのようなものです。レシピどおりにすれば、確かに美味しい料理はできるでしょう。しかし、それだけでは自分なりのレシピを新たに作り出す力は身につきません。本当に大事なのは、生産性を向上させる原則(加速、集中、自動化、正準化)を理解することです。
引用の通り、レシピにはそれぞれどのようなツールを利用してなぜ問題解決ができたのかの説明があり、読者が考え方を学習するように書かれています。
自分はこの本から生産性を向上を目指す考え方を学び、そして「問題があったらツールで解決できないか調べてみよう」「ツールを触ったり作ったりしておけば問題解決に利用できるかも」と意識するようになりました。
ツールを意識的に利用して得たもの
前項の本は自分にツールを活用することに憧れを抱かせるには十分な影響力を持っており、その憧れから GUI ツール、各種 shell コマンド、ビルドスクリプト、Web サービスなどいろいろなものを積極的に使うようになりました。
憧れからいろいろなツールを使っていましたが、しばらくはうまく活用できていたとは言い難かったです。
しかし、ツールを習得することが将来の問題解決につながるかもしれないという思いがあったため、ツールをできるだけ活用したいと意識しながら利用し、しばらくすると以下のようなことが起こるようになりました。
- とにかくツールを導入して動作を確かめるために使ってみる。
- ツールを使うことで、ツールの存在と効果を知る。
- ツールの存在と効果を意識して過ごすことで、活用できそうな物事が見えてくる。
- 活用に挑戦することでツールの習得ができる。
- 今後活用できるパターンを見分けられるようになってツールを活用しやすくなる。
ツールを意識している時間が長いと3のように活用するためのアイデアが浮かんでくることが多くなりました。
そして、活用できたときには成功体験としてツールの習得ができるので、同じような問題に出会ったときにツールを活用できることが多くなりました。
このようにいろいろなツールを習得しようとすることで、自分の中に問題解決をするときの引き出しを増やすことができているという実感があります。
今後もいろいろなツールを利用して、バイブルに載っているレシピのように問題解決ができるようになることを目指していきます。
ツールを作ることについて
社内ツール作成サークルとは
ここからはツールを作ることについて書いていきます。
自己紹介でも触れたとおり、わたしは社内ツール作成サークルに所属しています。
社内ツール作成サークルは「隣の人の幸せを願う気持ちで社内ツールを作る」というものを目的に掲げています。
活動はメンバーが定期的に集まって「自由なハッカソン」をするというものです。
こんな風にツールを作っていきたい
社内ツール作成サークルの目的を再掲すると「隣の人の幸せを願う気持ちで社内ツールを作る」です。
「隣の人が幸せになれば自分も幸せみんなも幸せ」…というのは単純な書き方ですが、お互いにポジティブな気持ちでいればコミュニケーションが活性化して物事はうまくいくことが多いというのを感じています。
隣の人を幸せを願うために、自分は周りの方が困っている声やこんなものがほしいという声をキャッチしてツールを作っていくことを繰り返しています。
このようなツールは利用する方は多くないですが利用者とのコミュニケーションが近いです。ツールを作る側としては「フィードバックを得られてうれしい」、利用する方は「サポートしてくれる安心感がある」といったメリットがあります。
今後も周りの声をキャッチしてツールを作っていくというのを続けていき、隣の人の幸せを実現できるように目指していきます。
おわりに
携わっているプロジェクトとツールについて
現在、わたしは「AROW」というプロジェクトで開発を行っています。
このプロジェクトでは地図データをゲーム開発者にとって扱いやすくするということを目指しています。
地図データを扱う既存のツールは多くあるため「既存のツールを習得すること」を進めています。
ゲーム開発者にとって扱いやすいデータというのは既存のツールにはないものであるため、地図データをゲーム向けに変換する「新しいツールを作成すること」も進めています。
ツールを使ってきたこと・作ってきたこと、どちらもプロジェクトの開発で活かすことができておりうれしいと感じています。
これからもツールを扱っていき、自分を、隣の人を、そしてツールを使う人を、みんなが幸せになることを願っていきたいと思います。
明日のアドベントカレンダーは?
ドリコム Advent Calendar 2018、明日は 廣田 洋平 さんの記事です。