スキル棚卸

フリーになるにあたってスキルシート書くための叩き台及び、記録のため。
主な言語

Java

経験年数

4年半。現職はJ2SE1.5 J2EE1.4

業務経験のあるFW
  • Spring
    • 1年半くらい前から複数のプロジェクトで使っているけど実際に使っている機能は少ない。トランザクション部分にAOP適用するために使っているぐらい。
  • Hibernate
    • 1年半くらい前から複数のプロジェクトで使っている。必要なファイルはほとんどEclipseプラグインの機能で自動生成している。ちゃんと発行されるSQLを理解したうえでHQL書かないとパフォーマンス出なかったりして相当苦労してる…。使う前は使いたくてしょうがなかったけど、今はもうお腹一杯。
  • Struts
    • SIer時代から数えて3年半くらいかな。満腹すぎる。出来ればもう関わらない方向で…。普及度的にムリだろうけど。
  • JSF
    • ちょっとかすったぐらい。ほとんどわかってない。
個人的に勉強してるFW
  • Seasar系プロダクト
    • 各種勉強会に参加したり、MLに登録して流れを追いかけたりはしてる。個人的に使ってみたりもしてる。SIer時代は全力で上司を説得しようとしたけど、実績がないという理由で却下され続けた。未だに業務での使用経験なし。
  • Velocity,FreeMaker
    • どっちも好き。入力データを与えれば自由に任意のテキストが吐き出せて便利。オレオレツールによく利用してる。SIer時代はVelocityとPOI使って任意のExcelファイルを読み込んで任意のテキストファイル(JavaとかSQLとかxmlとか…etc)を生成するツールとか作ったりした。
  • Click
    • 一時期興味もったけど最近はあまり。
Webサーバ
  • Apache2
    • 現職で使っているけど設定を読むことはあっても書くことは基本的にないので運用できるかといったら出来ない気がする。
APサーバ
  • Tomcat5.0及び5.5
    • SIer時代は個人的に使っていただけだけど、現職ではこれ一本なので問題なく設定、運用できると思う。
  • WebLogic
    • SIer時代に使用経験あり。でもあんまし覚えてない。
  • WebSphere
    • SIer時代に使用経験あり。でもあんまし覚えてない。
  • OracleApplicationServer
    • SIer時代に使用経験あり。でもあんましいい思い出が無い。
DB
  • MySQL
    • 経験は約2年くらい。現職がこれメインなのでコマンドラインで通常のオペレーションは問題なく出来ると思う。でも、過去にレプリケーションとめちゃったりしたこともあるし深いところはまだまだ勉強不足。MyISAM型がトランザクション一切効かないことも最近になってようやくちゃんと理解した…。
  • Oracle
    • SIer時代はほとんどこれ。8i,9i,10gだったかな?は触ったことあるけど運用方法とか一切わからないと思う。DB専門のエンジニアにほとんどお任せしてた。
  • DB2
    • プロジェクトで使ったことあるけどOracle以上にわかってないはず。
IDE
  • Eclipse
    • 新卒で始めてのプロジェクトが幸か不幸かEclipseだったのでそれ以来ずーっと使ってる。インストール、プラグイン管理、各種設定方法、各種ショートカットなど自分が使う分には全く問題ない。あまりEclipseに慣れていない人に対しての指導も十分できるレベルにあると思う。プラグインは作ったこと無いけど…。
  • Netbeans
    • インストールしてちょっと触ったことがある程度。
その他
  • maven2
    • もはやJava系の開発やるのにこれなしは有り得ない。いろいろクセはあるけどやっぱり便利。

Ruby

経験年数

半年くらい?手でやるにはちょっと面倒な作業とかを自動化するのに捨てスクリプト書いたり、Rails触って遊んだりしてる。ああ、最近はPRaggerでも遊んでた。出来るならRuby関係の仕事をやりたい。(Pythonでもいいかも)
Aptana使って最初は書いてたけど、最近はエディタをvimに乗り換え中なのでがんばってvimで書いてる。

Python

経験年数

半年くらい?こんなことしたくらいと、遊びでいくつかスクリプト書いてみたくらい。

ShellScript

経験年数

2年くらい。SIer時代は存在を知らなかった。現職になってから必要に迫られて読むようになり、必要に迫られて書くようになり、cronの便利さに感動して現在に至る。でも基本的にはあまり好きになれない…。ShellScript書いて苦労するくらいならRubyスクリプト書いて苦労したい。

Perl

経験年数

(一応)2年くらい。現職で必要に迫られて少しだけ書いた経験あり。CPANは知ってる。これでいうとレベル6…なのかな。でも記号に色んな意味を持たせすぎている文法がどうしても肌に合わない…。個人的に能力拡大がどこまでいくのかを見たいのはRubyだ。

その他言語類

awk
ログ解析とかで必要に迫られて少しかじった程度
sed
必要にs(ry
SQL
4年以上ウェブアプリケーションやってるのでそれ相応のスキルは持ってるつもり。
(x)html+css
普通にかけると思ってる。ただしデザインセンスはあまりない。
javascript
苦手
actionscript
触ろうともしてない

OS

Windows

SIer時代はほぼWindowsのみ。一度だけ全く経験ないのにRedHatLinuxのインストール&設定&納品させられた。アレちゃんと動いてるかどうか心配だ…。

Linux

大学のときはUNIXだったけど当時は全く興味沸かず…。現職ではほとんど必要に迫られて覚えるしかなかった感じ。とはいえ、Javaウェブアプリケーションを開発サーバや本番サーバにデプロイしたり、MySQLをいじったりできる程度のオペレーションをするレベル。後は個人的に借りてるdreamhostで興味に赴くままにいろいろインストールして設定したりしてる。もっとちゃんと基本から勉強したほうがいいかもしれない。

ネットワーク関係
現職でTCP/IP勉強会とかしたけど、ほとんどついていけなかったぐらいなのではっきりいって弱い。開眼するとパケットの流れが見えるらしいけど…。僕にはまだパケットの気持ちが全くわからない…。3wayハンドシェイク…フーンってレベルなのでorz

主な使用ツール等

Eclispe
なんだかんだで使い続けると思う。
vim
3ヶ月前くらいから使い出した所
GTDStyleWiki
ずっと愛用してる。当初はRtM等のオンラインツール使ってたけど、機密データとかをオンラインに置くのに抵抗があるので辞めた。GTDツールの中では個人的に一押し。データ消失対策は個人サーバのSubversionリポジトリでバージョン管理してる。
TaskCoach
GTDStyleWikiと同様、オンラインに機密データをおきたくないので使っている。GTDStyleWikiでは時間管理や、終了タスクの管理がやりづらいのでGTDStyleWikiで洗い出したタスクをこいつで時間はかってこなしている。この辺のGTDネタはいつか書く。
firefox
色んな意味で必須
thunderbird
一日1000通とかさばかないといけないのでoutlookの遅さと使いづらさじゃムリ。検索フォルダとタグ万歳
trac
これがないと生きていけなくなった。tracじゃなくてもいいから何らかのBTSはプロジェクトに必要だと思う。
subversion
これがないと生k(ry
svk
これg(ry
なんでもいいからwiki
メールベースでやりとりするのは非効率。決まったことはどんどんwikiにまとめておきたい。
freemind
議事録取るのに使ってる。あと一人ブレスト。

まとめてみると…

こうしてみるとJavaウェブアプリケーションのお仕事するには特に問題なくやっていけると思うけど、Linux関係のスキルとネットワーク関係のスキルが決定的に弱いな…。何やれば身につくかなぁ、せっかくフリーになるんだし未経験でも使ってくれるならサーバ構築、運用の仕事でも受ければ嫌でも覚えるしかなくなるかな…。