arveltのソフトウェア技術メモ

Arvelt's software technology memo

2012年を振り返って

2012年の振り返りをしていきます。
基本自分のために書いてるので面白いことはないかもしれませんよ。


2012年やったこと。
1月、2月くらいに、前の年からやっていたRailsの勉強用にやってたWebアプリが完成。
3月は何してたんだろ。
4月、5月はリアルが忙しくなってきたとき。初の残業100時間突破記念。
6月はVPSサーバーの初期設定を自動化するスクリプトを書いたり、VPSで遊んでたような。あと去年作っているAndroidアプリをjenkinsでCIしようとして挫折した。途中でプロジェクト構成変えるの無理。
7月はExcel方眼紙を書きすぎて頭がおかしくなりそうだったので、RubyPerlでなんか書いたり、パーフェクトJavaを読んで。時代はLL言語だぜフーッ!ってなったり。
8月はずっとドラクエ10やってた気がする。メラミはまかせろー。
9月は2月にHerokuに放置していたwebアプリの記事を書いたり。いまさら?
10月はChiba.pmに参加。話す人がいなくて辛い。
11月はずっとダクソやってた気がする。ラージクラブ最強伝説。
12月はリアルが忙しくなってきたとき。残業時間的にはわずか50時間だけど通勤2時間弱なので死にかける。


今年形として残せた成果はWebアプリ1つとChiba.pmでのLTスライドくらいですかね。
あと面白そうな会社を1つうけましたが、残念ながらご縁はなかったようです。


上のを読んで思ったこと。本を読むばかりで手を動かしていないような気がします。というかその本も買うばかりで読んでいない気がします。何をしたいのか迷走してる気がします。何ができるようになりたいんだろう? 
一応今の興味はWebでの開発にあるつもりです。具体的には、アジャイルとCI、そのためのツール。Web開発のためのもろもろ、Rubyとその周辺、サーバー設定と運用について、セキュアなWebについて。その辺をやってみたいなと思ってます。
広げすぎてどれもものにできていない感があります。でもどれもできないととうてい実務に入っていけないだろうし、どうすればいいのかなー。というかそもそもLLはどれを覚えればいいのかという不安が拭えません。
この辺をものにして、ネットサービスの会社に転職したいと思っていますが、なかなか難しいですね。もっとコード書いて、もっと外に出て、もっと色々なことを知らなければいけません。あとコミュ障なのが何とかなってほしい。
年齢は勝手に上がりますが、スキルは勝手に上がりません。何もしなければ相対的にスキルは下がっていきます。わかっていてもつらいですね。


以上を踏まえると来年は、もっとコードを書くこと、を目標にしていこうと思います。こういうのなら書いたことあるからなんとなくわかる、っていうストックをたくさん作りたい。
最終的にはWeb上で一通りのことをやれるようになっていきたいわけですけれども、それには何か作って公開して運用してみるのが一番なので、個人プロジェクト的なもので何か作っていきたいと思います。その中で、サーバーも設定して、ミドル用意して、コード書いて、運用して、本を読んで、勉強会にいって、っていうのをやっていこうと思います。そうやっていくなかで、自分の得意分野ってのを見つけていきたい。ただ、何を作ったらいいかが、なかなか思いつかないのでそこからですね。
具体的に触って一通りのことがやれるようにしたいものについては、RailsSinatra、RVM (or Rbenv)、Bootstrap、pivotal tracker、Redmine、Jenkins、Git、UbuntuCentOSApache、passenger、tomcat ( or glassfish)、あたりを意識しています。javascriptjqueryくらいしかわかってないですがjqueryは多分デザインよりなので、アプリ的なFWも知る必要があるかなと思ってます。あとjavaのFWって今は何がいいのかなぁ。最近のWebでのJavascalaとplayに持っていかれて感ありますが、servletはまだ息してるんでしょうか、、、
ただ、自分一人でいくらやっても実務に耐えうるレベルになれるとは思えません。ここを飛び越えるためにはどうすればいいのかがよくわかっていません。
そして、転職すること。今の会社にいつづけてはスキルがまずいことになります。これは遅かれ早かれ絶対です。



以下は振り返りというかただの所感。


今年は頭数いくらで計算される世界からの脱却を願って自分を磨きあわよくば転職しようと決意した年でした。
しかし実際にはその頭数ありきの仕事でさえ私にはできていないことがわかりました。会社やプロジェクト運営以外で自分に関わる原因は、よくわからないけど動くからいいか、をやらかしてしまったことにあります。あと私がコミュ障なせい。これでは転職などただの夢物語です。これが本物との差なのだと痛感しました。彼らが当たり前にできることが私はその何杯も苦労してやっとできるようになる。向いてないところを無理やりやっていることを薄々感じていましたが、こんなに違うものなのかと思い知らされます。センスがないなら努力でカバーするしかありません。ていうか気の合う人と働きたいです。


Railsを触ってみたのはいいけどれど、本読みながら手を動かすだけでなんとなく動くものができてしまいます。これはとても怖いことです。動くしまあいいかになりがちです。主に私とか。でもRailsActiveRecordとmigrateの仕組みは感動したので、魔法の裏側をそのうち解き明かしてみたいです。あとsinatraもすごすぎて感動。でもちゃんとやると自分でbaseを拡張して書いた方がいいみたいですね。やっぱスーパーハッカーはLinuxとかを使うものなんだと思います。というかOSの仕組みが気になるので、そのうちこの魔法も解き明かしたい。


明らかになった問題はそれだけではありません。ソフトウェアの開発者として働いて4年経ちましたが、いまだに自分の得意分野、興味のある分野が絞れていません。JavaRubyを触ってはいますが、とうてい他社の実務に耐えうるレベルではありません。仕事しながら覚えれ!というには、今の会社ではCOBOLJavaとしてひたすらifとforを書くだけなので、そういうモダンな開発の仕事はありません。extendとimplementを仕事で書いたことありませんし(書ける構造になっていない)、会社の誰一人もjunitのテストコードは書けないでしょう。ならば転職先でがんばろうと思っても、即戦力なら欲しいよ!というところが多いようなので。鶏か卵か、の状態に陥ってなっています。どうすればいいかなー。


webの仕事がしたいと思ってはいますが、はたしてそれは私が本当にやりたいことなのかが実は不安です。元々持っていた、SIerはだめだという危機感に流行りものを刷り込まれただけではないのか、と。
ただ今の会社ではソフトウェア技術者としてのスキルがつけられる見込みはないので、会社を変えることは必須だと思っています。Sierの仕事では業務ルールに沿ったロジックをCOBOLや、ifとforしかでてこないJavaを使い、「製造」するだけです。これが苦痛でしかたがない。受託って結局人のビジネスのお手伝いでしかないし、どこまでいっても自分のものでない感があります。受託開発の構造の問題だと思うので、自前サービスの開発とかがやりたいなぁ。でもついていけるかなぁ。とここでループ。
個人的趣味としてゲームが常に共にあるので、ならば流行りのソーシャルゲームを目指すかとも思いましたが、やっぱ射幸心を金に変えるのは違うよなぁという思いがあるので行動には至っていません。そもそも激務についていけないと思いますし。ていうかみんなダークソウルやればいいと思うよ。


来年は幸せにソフトウェアの開発が行えますように。