エンジニア的なネタを毎週書くブログ

東京でWebサービスの開発をしています 【英語版やってみました】http://taichiw-e.hatenablog.com/

2013年振り返り

今年も一年、大変お世話になりました。

年末ということで、飲み会なども諸々ありましたが、そう言った場で、直接・間接的に一緒に仕事をしている人や、同じ会社・業界の様々な人と話すことができて、
改めて、素晴らしいメンバーや環境に囲まれてお仕事をさせていただいていることを感じることができました。

できたこと

さて、今年もは1月に、二つの目標を立てていました。
一つは、1月に書いた、「本番作業に強いプロダクト」を作る 内で触れていた、様々なオペレーションやテストの自動化。
そしてもう一つが、プログラマ/エンジニアとして、学びの機会を持つ、というものでした。

「強いプロダクト」は作れたのか

 前者は、改めて見返すと、(若干年末に駆け込んだものの)以下のことがチームとして達成できました。

・手持ちの各プロダクトのデプロイスクリプトができた

これまでかなり時間がかかる&面倒だったリリース作業がだいぶマシになりました。
※実際はスクリプトを作ったあとも、プロダクトが抱えている問題のせいでなかなか自動デプロイができなかったのですが、11月にようやく解決しました!

・自動コンポーネントテストの基盤ができた
 コンポーネントテスト向けに、アプリケーション外で自動に動作するテストフレームワークを作ることができました。
 まだまだケースが少ないですが、あとはこのフレームワーク上に、各修正案件ごとのコンポーネントテストを乗せていくことで、
  • コーディング前に「動作するテスト」を作成できるので、コーディングする人のゴールを明示的にできる
  • マージ後や、本番デプロイ直前の最終確認なども安全・かつ高速・かつ小さな手間で行うことができる
  • UTと分離したので、Jenkins上でのビルドの高速化につなげられる
  • 定期的なリグレッションテストができる
といったことが可能になりました。
 
なお、こうしたツールは、私…というよりは、一緒にチームを組ませてもらっているメンバーの皆さんが主に手を動かして作ってくれていて、本当に感謝です。
いつも言いたい放題ばっかりですみませんw

プログラマ/エンジニア」として学べたのか

昨年は、自分の興味がプロジェクトマネジメントとか、チームマネジメントとかに偏りすぎていたかな、という思いがありました。
そこで、もう一度、技術者としての立ち位置を探すために、こういった目標を立てていました。

まず、上記に書いたような改善は、エンジニアとしてのバックボーンがあってこそ、理解して推進できたことだと思いますし、若干、手を動かす機会が足りなかったものの、
TDDブートキャンプや、システムテスト自動化カンファレンスなどの外部勉強会や、書籍などでまずは自分が学んで、そこからチームのメンバーに協力してもらう、ということはできていたと思います。

また、言語面では、JavaDay TokyoJavaOneへの参加をはじめ、コードの書き方の本を読んだりだとか、Javaという言語にある程度向かい合う時間を意識してとることができました。

新規で使うフレームワークの勉強などはしていましたが、言語そのものにここまでフォーカスしたのは初めてだったかもしれません。

結局、「自分の立ち位置が見つかったのか」というと怪しいのですが、現在または今後にぶち当たる問題を解決するための、「引き出し」はある程度見つけられんじゃないかと思います。

スクラム

スクラムに関しては、

私、スクラムを分かってませんでした 〜Jim Coplien氏のScrum Master 研修を受けて 1〜

に書いたとおり、この研修が非常に衝撃的でした。

この研修の後、(これまでもそうでしたが)チームのメンバーに協力してもらって、ちょっとずつ、案件の進め方を変えてもらって、より、これまで以上に、「群がる」開発にシフトしてきました。

振り返りでは、「チームワークが発揮できた」という意見がメンバーからも上がり、ある程度の効果が出せているのではないかと思っています。

できてないこと・これからやること

上記、「できたこと」に書いたことでも、できていないことはまだまだあります。

リグレッションテストはようやくフレームワークができたところで、これと「群がる」開発を組み合わせることで、仕組みとして機能しだします。
…が、一筋縄ではおそらくいかないでしょう。

リリースの自動化はまだまだ、安全性・信頼性・準備の簡単さなどの面で改善すべき点が多くあります。
ちょっとずつ、時間をとって改善する必要があります。

プログラムは、ふと気付くと、ここ数年Javaばかり(それも、ろくに書いていない)ので、久しぶりにまっさらな状態で別の言語を学んでみようかと…。
遅ればせながらScalaあたり狙ってるんですがどうなんでしょう… Groovyも気になります。

…などなどあるんですが、この記事を書くにあたって、今年一年のブログを読み返したところ、(薄々気付いてはいたものの)改めて、まるでできていない、大変なことが2点あることに気付きました。

  1. 積読本が多すぎる
  2. 「続きを書きます」といった記事の続きが書かれていない

もうこれね、ひどすぎる。

積読本に関しては、手をつけない、というより、読みかけの本が多すぎるんですよね。もともと隙間時間を見つけて本を読むのが下手なので、継続して読めない人で…
ちょっと意識して、週に一度でも、ゆっくり本を読む時間と場所を見つけたいと思います。(技術書って、単に読むだけじゃなくて整理とか写経とかするので時間と場所が必要なんですよね… みんなどうしてるんだろ)

とりあえず、未読了の本の、たな卸しします。年内、って言うか今日。

 

2.の、ブログが続かないのも、おおよそ1.と同じ理由なので、やはり意識して自己研鑽の時間をとりたいと思います。

 

今後、自由な時間が減ることはあっても、増えていくことは恐らく無いので、来年の目標の一つは、自分にあったインプット・アウトプットの方法を見つけること としたいと思います。

 

ではよいお年を。