部屋とSIと私

本年1月1日にグロースエクスパートナーズ株式会社というSIerに入社して7ヶ月がたち、入社して初めて関わったプロジェクトが無事サービスインしました。転職活動を始めてから今日まで、多くの方々にお世話になりました。御礼申し上げます。

現在は都内の大企業に常駐して、法人向けサービスの開発をやっています。クライアント様がアジャイル開発を進めたいということで、その上で「TDDの推進をしてほしい」ということでアサインされた(らしい)のですが、そういうこともしていますが、プロジェクトの中では

  • 認証基盤のミドルウェアと格闘したり
  • Backbone.jsとCoffeeScriptと戯れたり
  • データベースマイグレーションを導入したり
  • 社内のアトラシアン担当と色々やりとりをしたり
  • SpringとHibernateの挙動に慣れなくて苦労したり
  • Spring Batchを実戦投入したり
  • BambooでCIとデリバリーの設定をしたり
  • Serverspecでデプロイスクリプトの受入テストを書いたり
  • chefを試したり

ということをしています。今現在、技術的にはビルドパイプラインの運用を軌道にのせること、Gebを使ったend to endのテストの自動化、およびフロントエンドのユニットテストの自動化が大きなテーマになっています。開発環境としてはMac+IntelliJ+Vagrantで、開発インフラはアトラシアンフルスタック(Confluence+JIRA+Stash+Bamboo)です。

転職して環境を変えるとなると、「ウォーターフォールアジャイルか」とか「SIerかサービスか」というわかりやすい軸が注目されます。それもそうだと思うのですが、開発プロジェクトがコミュニティとして何に重きを置くかということが、技術者としての個人の価値観とマッチングするか、というところが重要だと感じています。

そういう観点から今のプロジェクトを見ると、

  • サーバーサイドはユニットテストを書くのが定着している。
  • リファクタリングのための工数が確保できる。
  • 技術的なこと、プロジェクト運営について、チーム内で議論できる。
  • 見積もりについてチーム全体で議論する。担当者が見積もった工数が何かと理由をつけられて削られるということはない。
  • 企画サイドの方と開発メンバーが直で相談できる。
  • 原則休日出勤はしない。

と、健全な方向を目指しているのと、頭数を集めるだけでなく、ちゃんとチームを作るということが出来ているのは自分の考えとマッチしていると思います。これで「過度な残業はしない」となればかっこいいのですが、クライアントの一部担当の方に負荷が集中してしまう傾向があるのがちょっと残念なところです。それでも、リリースの二週間前にはコードベースを凍結できましたし、リリースのあった週も本番作業の準備があったメンバー以外は定時で帰れた、というのは自慢したいところです。(もちろん最初からそういうチームづくりができたわけでもないし、色々うまくいかなかったことや苦労もあったのですが、それについては寿司でも食べながらということで...w)

これからも技術者として、プロジェクトで成果を出すことと、コミュニティで活動することをちゃんとリンクしていきたいと思います。よろしくお願いします。