クラウドワークス エンジニアブログ

日本最大級のクラウドソーシング「クラウドワークス」の開発の裏側をお届けするエンジニアブログ

社内サービス開発のススメ

最近機動戦士ガンダム0083スターダストメモリーを一気見したエンジニアの那須@nasum)です。好きなガンダムExSガンダムです。リフレクターインコムかっこいいですよね(アイスブレーク)。

普段働いているとPCを使う以上様々なソフトウェアやサービスを使うと思います。DropboxEvernoteGoogle Driveスプレッドシート、エクセルからパワーポイントまで様々です。

そんなとき、「社内で使われているこのサービス、目的を果たすにはちょっと面倒だな」なんて思ったことはないでしょうか? 自分が目的を果たすために、フラストレーションを感じてしまうのであればなんとかしたいものです。そういうとき無料のサービスを利用することや、オープンソースのソフトウェアを導入することをまず考えると思います。しかしなかなか自分の要件にフィットするサービスは意外にもなかったりします。

そういうときは勢いで作ってしまうのが最適です。最低限の要件を満たすサービスであればRailsを用いればさくっと作れますし、作業時間を工夫すれば通常業務に影響を与えない範囲で作ることができます。

クラウドワークスのエンジニアは「許可を求めるな、謝罪せよ」という文化の醸成に力を入れています。まずはやってみて、うまくいかなかったら謝ればよいのです。なので、社内サービスを勝手に作って勝手に全社員に公開するのも、特に許可を求めずにやりました。

本記事はそんな社内向けサービス開発をオススメする理由を書いてみたいと思います。今回は自分と同僚の鈴木(@suzan2go)が中心になって開発を進めた「nasulog」を例としてすすめていきます。

社内サービス開発をオススメする理由

役に立つ

自分が達成したい目的にのみにフォーカスして開発を行うので、少なくとも自分の役に立ちます。これにより感じていたフラストレーションを解消することができ、通常業務のQOLが上がります。

今回社内向けに開発したのは、ポエムが投稿できるWebサービス「nasulog」です。日頃抱えている思いや、やりたいことなどをざっくばらんに書ける場所を提供しています。

f:id:Tomato-360:20160324172312p:plain

クラウドワークスではポエムを「サービスへの熱い想いや、理想像、やりたいことを綴ること ※発言に責任を伴わない 」と定義しています。ポエムを書くには以前だと社内の日報サービスに書くのが普通でした。

日報サービスにポエム欄を作ってポエムを書くというのも一つの手ではあったのですが、日報は今自分がやっていることを書くものだと思っていて、そこに自分のポエムを長々と書くのは何となく違うかなという気がしていました。

そんな「なんか違うかな」という思いを解消するためにnasulogを作りました。幸いにも他の社員の方にも使って頂けており、「Twitterとかに気軽に書きたいけど書けない話題を書けていい」と言ってくださる方もいるので役に立っていると思います。本質ではないかも知れませんが、貢献感が得られるというのも社内サービス開発をオススメする理由だったりします。

勉強になる

やはりエンジニアとしてはここが大きいと思います。普段のサービス開発で使えない技術も使い放題なのでかなり勉強になります。

具体的にはnasulogだとフロントエンドにはReactを一部使用し、WAFではRails5を使って開発を行っています。サービス本体には既存実装の兼ね合いもあり使えない技術であっても、エンジニアである以上勉強しないわけにはいきません。そんなとき社内向けサービスであれば、実際に使うサービスとして開発しているものに入れることができるので、ほぼ実戦に近い環境で開発でき、エンジニアとしての経験値を上げることができます。

また他の人にも使って頂くものなので、自然とこのサービスはどうあるべきか、何ができて何ができないようにするのかを考えることになります。エンジニアとして技術を研鑽するのも大事ですが、サービス開発の哲学を考えることも同様に大事です。

nasulogではポエム投稿者を大事にしたいという思いからあえてコメント機能をつけていません。これはコメントで議論が進んでいくうちにポエム投稿者本人の意思に関係なくことが進んでしまうことを避けるためです。その代わりリポエム機能というものを作り、コメントとしてではなく自分のポエムとして対象ポエムに対して言及できるようにしています。

読んだことをアピールする「読んだよマーク」をつける機能も、ただのいいね機能とは違いそのポエムへの共感の強さを表現するため、複数回送れるようにしています。イメージとしては、はてなのスター機能に近いです。このように一つ一つの機能についてちゃんと考えることは、これからのサービス開発に役に立つ良い勉強になっています。

f:id:Tomato-360:20160324185100p:plain

社内サービスとはいえ開発し運営することは、ここで挙げているもの以外でも学びは多いです。

最後に

以上簡単ではありますが、社内サービス開発をオススメする理由を書いてみました。ポイントは小さくはじめることです。小さくはじめて流行らなそうだったらすぐ撤退して必要があれば謝罪しましょう。もしうまくいって軌道に乗ると、開発参加者が増えたりAPIが作られてスマホアプリが作られたりといろいろとおもしろい動きが出はじめるので、是非とも社内サービス開発にチャレンジしてみてください。

ちなみに蛇足ではありますが、nasulogはオープンソースとして公開しております。もしコメントやプルリクを頂けると大変助かりますので、もしよろしければ覗いてみてください。

github.com

最後に告知を。クラウドソーシング大手クラウドワークスでは新しい働き方を生み出したいという想いを持つエンジニアと、nasulogを開発したいポエマーを募集しています。

www.wantedly.com

© 2016 CrowdWorks, Inc., All rights reserved.