総括

アルバイト

約3ヶ月続けたアルバイトが終わった。最後の1ヶ月はいろいろあって自重していた。簡単にまとめる。

良かったこと

ちゃんとした Web アプリケーション開発に初めて携わることができた。

デプロイは zc.buildout、ドキュメント生成は Sphinx で行い、

  • Flask
  • SQLAlchemy
  • Beaker
  • WTForm
  • fixture

といった、アプリケーションフレームワークを使って機能とテストを実装することができた。ここ1-2年で私がコミュニティで学んできたことを業務に生かした小さな成果物と言える。サーバーアプリケーションのデプロイを10分でできるよと喧伝できるのは、なかなか心地良い気分だ。

私にとってはちょうど良い難易度の開発課題だったと思う。いろいろ試すこともできたし、開発経験を積むこともできた。他サイトと連携しない全ての API に対して fixture モジュールを使ったテストも実装した。私はユーティリティ関数をガリガリ作り込むような開発スタイルを取るのだけど、fixture モジュールによるテストを実装していたおかげで、ユーティリティ関数のメンテナンスや拡張におけるリグレッションの不安を払拭できてとても良かった。

また OAuth 2.0 認証も少し理解する機会になったし、その成果は raido (雷同) プロジェクトへ引き継がれる。

技術的な収穫はそれなりにあったし、個人的にも初もの尽くしでとても楽しめた。

悪かったこと

パフォーマンスも品質も良くなかった。自身の経験からの、感覚的なものだけど、成果物は中の下といった品質レベルだ。「3ヶ月かけた成果物がたったこれだけ?」と問われれば「ごめんなさい」と答えるしかない。

とはいえ、マネジメントの問題も大きかった。先を見越して他会社との連携を伝えていたものの、それが先送りされて対応しにくい状況もあった。スケジュールでは、既に実装もテストも完了しているはずのクライアント側アプリ (Flash) との連携、主催者サイトとのユーザー情報連携、ゲームエンジンのデプロイの自動化、こういった大きな要件や機能が進捗せず面倒になって私も放置した (もともとその調整は私の担当でもない) 。

大規模 Web アプリケーションの開発経験がない私にとっては、他サイト間連携におけるサーバーアプリケーションに要求される機能を前もって想定して作り込むことができなかった。はまりどころの気付き事項が圧倒的に少ないからだ。

経験値の低さから、あまり良い品質のものを納められなかった。

まとめ

技術的には楽しかったけれど、それだけだった。