エンジニアが職場環境をモダンにした話

以前の職場環境

僕がマッチングッドで働き始めてからちょうど2年経ちました。

入った直後に使われていたツールや開発環境は以下のような感じでした。

最初はWebについての知識はほとんど持っていなかったので、こんなものかなと思っていたのですが、自分で情報を集めるようになるうちにこの環境はもう時代遅れなのだということがわかるようになりました。

会社の環境を大きく変える転機

入社してから1年が経つ頃に、新規のシステムを自分たちで作るチャンスがやってきました。これは現在稼働しているWorkinGoodというサービスです。

www.workingood.com

これは一から作るなら全て最新のものを使って作ろうと決めて作り始めたので、開発しているチームでは技術だけでなくツールやフローも含めて最新を目指した結果以下のようになりました。

  • Slack
  • GitHub
  • React
  • TypeScript
  • Laravel
  • AWS
  • Docker
  • Circle CI
  • GitHub Workflow

先ほどと同じ会社とは思えないほどの変化です。

SkypeからSlackへの変化は単にサービスの使い勝手がよくなっただけでなく、ボットと連携することができるのでいくつかのオペレーションをボットから行うことができるようになったり、天気を教えてくれたり、チャットツールに止まらない可能性を秘めていることを実感しました。

開発環境で最も変わったのはインフラ周りだと思います。今まで専用のスクリプトでパッケージ化して配布していたリリースフローを、CIとDockerとAWSによってデプロイを自動化したことにより少人数でも安全にオペレーションできるようになりました。

会社全体に広めた

この開発チームでの環境がとても良かったので、会社全体に広げることにしました。

コミュニケーションの変化

今までSkypeとメールでしていたやり取りは全てSlackで行うようにしたことでコミュニケーションが円滑になっただけではなく、チャンネル機能を駆使して今まで以上に社員の親密度が上がった気がします。

フローの変化

また、今まで明確な開発フローがなく、masterブランチに直pushしていたのをGitHub Workflowをベースにした独自のフローを定めることにより、安全にコードを管理、開発できるようになりました。

共有の変化

最も大きな変化は、SkypeからSlackへ移ったことと、エンジニアのタスク管理をAsanaからGitHubのissue に移したことで他の社員が今何をやっているのかがわかるようになったことです。個人的にこれが最大のポジティブな影響を与えていると思います。

他の人が今何をやっているのかがわかると、プロジェクト全体の見通しをつけることができるだけではなく、自分自身のモチベーションに繋がります。他の人がすごいことをやっていれば、自分も負けじと頑張れる人にはとてもいい環境です。

まとめ

ツールや環境が新しくなることで生産性の向上だけでなく雰囲気までよくなった(当社比)気がします。

まず身内で使ってみて、それが良いものであるとわかったなら是非上司を説得して広めてみてください。エンジニアにとって開発環境とはカメラマンにとってのカメラであり、画家にとっての筆と絵の具です。

そこを妥協してしまったらいいものができるはずがありません。会社を次のステップへ行かせようと思ったらモノを作っているエンジニアが職場を変えるべきだと思います。