2010年10月18日月曜日

おもくそクエストⅣ 打ちひしがれし者たち

前回のつづき。前回、以下のような形でエントリを締めた次第であるが…

転職活動という名の冒険へと旅立った勇者おもくそ。
次の城ロマリアに辿り着くには、レベル10は必要だ。
だが、今の僕は…

この場合のロマリアは一体何を意味するのか。転職活動のゴール?いやいや、それなら普通に考えると「ゾーマをぶっ倒す」だろうが。全く、我ながら全く意味が分かりません。エントリのタイトルをあんな風にしてしまったので、ちょっと絡めてみたんだけど、何かに例えて綺麗に纏めるって難しいね。まあ、結局何が言いたかったのかというと
「現在の僕は低レベル」
ということです。まだアリアハン大陸すら脱出できない程に。

僕のスペック…その前に、やりたい仕事は?

希望の職種は今までと変わらず『システム開発』です。やっぱり好きだから。どんな会社で働きたいかは、前回述べた通り『やる気・向上心が高い会社』だ。ここは絶対に譲れない。

次に業種。前回ちらっと述べたが、できればSI業界ではなく、Web業界に行きたい。今までいろいろなIT系企業の仕事内容紹介の記事や、IT業界人のブログを読んだり、あるいは直接話を伺うなどして集めた情報によると、どうもWeb業界の仕事の方が面白くてやり甲斐ありそうだ。以下、それら情報を基に、それぞれの業界に対する僕の印象。

要素SI業界Web業界
市場の行方縮小は確実。要因は以下。
・SaaSやERPパッケージの普及
・オフショア企業の台頭
拡大。ソーシャル系サービスの需要が増える。スマートフォン、iPad等のタブレットPCの普及が進めば、さらに拡大するか。
仕事内容 総じて、上流か下流かの2択(そうじゃない場合もあるだろうけど)。
今後、上流は要件聞いてそれに適したサービス選定や、経営戦略などの超上流にシフト?
下流は…仕事あるのか?
企画発案からプログラミング、運用、改善など、一気通貫
開発プロセス ウォーターフォールがメイン
※アジャイルも増えてきてはいるようだが…
アジャイル(でないと捌けない)
最新技術に対する
積極性(※1
総じて低い?
リスクは少しでも抑えたがる。
SIerよりは高い?
ということで、
僕にとっての
やり甲斐は…
無さ気。
上流会社だとプログラミング機会少ないし、下流だとそもそも生きられなさそう…
SIよりは確実にありそう。

まあ、SIerでも全工程担当&最新技術に積極的な会社はあるだろうし、Web業界でも実装は外注&最新技術に消極的な会社ってのは絶対いるだろうから、結局ピンキリだろうけどね。でも大体は上記のような傾向だと思う。
 
最期に、扱いたい技術。ぶっちゃけ『話のネタになる・技術を通じて人脈拡大できるような有名どころ』であれば何でもいい。大きな括りだと、RIA、クラウド、スマートフォンアプリ…など。小さな括りだと、Ruby on Rails、Flex、AIR、Silverlight…など。とにかく「何それ?」って言われるようなマイナーなものでなければ何でもOKです。「『何でもやります!』と言うのはダメ。ゼッタイ。」というのは心得ているが、実際どの技術にも興味があるのでしょうがない。まあでも1個決めろと言われれば、Androidアプリ開発かな。

ここで本題。僕のスペック

実務経験年数
4年6ヶ月
年齢
28 ※早生まれなので、今年度29
リーダー経験
無し。それどころかSE経験も碌に無し(4ヶ月のみ)。
主な経験言語(事情により、全て手続き型実装) ※単位:ヶ月
Java 1.4:33.5
Java 5.0:6
C# 1.1:3
C# 2.0:2
VB 2008:4
主な経験FW ※単位:ヶ月
某商用Javaフレームワーク:37.5
.NET Framework 1.1:3
.NET Framework 2.0:2
.NET Framework 3.5 SP1:4
その他補足
実務におけるOOP、デザインパターン利用経験なし
必然的にUML作成・閲覧経験もなし
実務におけるTDD経験なし
Trac Lightningのディープな利用経験なし ※プラグイン作成とか
太字の部分に注目してください。どうですか?お客さん。市場価値ないでしょ?僕のキャリアの殆どは、某商用Javaフレームワークです。打ち込んできたJavaコードの殆どは、フレームワークに依存したもの。フレームワークが有名で普及しているモノであればいいんだけど、勉強会などで同業他社の方に尋ねても、まあ知ってる人はいなかった。一人だけ(マジで一人だけ)使った事あるという方が見つかったのだが、一言「使いにくい」。高評価をくだした人間には、結局会うことは無かった。話やブログのネタにもできないし(ブログに載せたら確実に正体ばれる)…「マイナー技術は嫌だ!」と嘆くのは、こういう訳です。

そして何よりも致命的なのは、オブジェクト指向プログラミング経験が皆無ということ。前に自分でも書いたが、オブジェクト指向してない内はJava初級だ

これが、まだアリアハン大陸を脱出できないと嘆く所以である(※2)。


さて、嘆いてばかりいても仕方がない。レベルが足りないならレベルを上げるしかない…ん?またまた声が聞こえる。
「今の時代、PCとネット環境あれば自宅で勉強できるだろ?今までやってこなかったのか?」と。
これ言われると、弁明の余地はありません…いや、断言する。勉強はたくさんしてきた。Googleリーダーの統計情報や、Googleウェブ履歴がそれを証明してくれる。ただ…「実際に手を動かしてコードを書く」ことを殆どしてこなかった。これはよくなかったかもしれない。別に面倒臭いとかいうわけじゃなく、単に効率的に時間を使いたかったからだ。前述の通り、いろいろな技術に興味があるので、RSSで熟読する記事も多岐にわたる。手も動かすとなると、とてもじゃないが時間が足りない。それに、手を動かしてきっちり身につけたところで、変化の早いIT業界、すぐに陳腐化してしまう可能性大だ。それならば、とりあえずは概要・文法・思想といった部分を広く浅く把握しておき、実務で使用するタイミングになったら深く学習する方が効率的でいいのではと思うのだが…どうなんでしょう。間違ってますかね?

※1
この辺に関しては、SonicGardenの倉貫氏の以下エントリに非常に感銘を受けました。

※2
自慢じゃないけど、こんな僕でも、驚く事に会社の中ではエース級だったんですけどね。何らかの技術系コミュニティで有名というわけでも無く、ブログの技術記事のレベルが高いわけでも無い、こんな僕が…。プログラマという職業、人によって100倍以上の生産性の開きがあるという話は有名だが、これはきっと会社単位でも当てはまるのだろう。


2010年10月14日木曜日

おもくそクエストⅢ そして転職へ…

9月末をもって退職した。転職先が決まる前に辞めた。
というわけで現在、いわゆる無職である。

退職理由としては、「Web業界で働きたい」というのが一応メインではありますが、もう一つの理由として
「仕事に対してモチベーション低く、技術に対する興味や向上心が無い(必然的に技術スキルも低い)、こんな会社では成長できない!」
というものがある。他人の言葉を借りると「『熱い人』がいない。」

決定的な決め手となったのは『クラウドやAndroidが何かすら知らない上司』『SQLインジェクションを知らないベテラン技術者達』だ。あれで完全に踏ん切りがついた。他にはこんなのも。転職活動において「後ろ向きな退職理由はダメ。ゼッタイ。」というのが基本なので、前向きな理由に置換しますと
「仕事に対してモチベーション高く、技術に対する興味や向上心も高い、そのような会社で切磋琢磨して永遠に成長していきたい!」
といった所だ。
いや、正確には後者の前向きな気持ちが先にあったからこそ生じた「こんな会社でやってられるか!」である。

おや、声が聞こえる。
「周りのせいにするな!」「周りを変えようと頑張ったのか?」と。
はい、ごもっともです。不肖おもくそ、少しは頑張りました。ですが、人の心を動かすのは非常に難しいのです…(※1)。時間をかけて粘り強く頑張り続ければ、確かにいつかは変えられるかもしれない。その時の達成感は、きっと筆舌に尽くしがたいものがあるだろう。だが、変えられないかもしれない。そして、時間(人生)は有限だ。日々、少しでも楽しく生きていきたい。僅かな変化の可能性に賭けて数年の時間をその会社のために費やすのは、イヤだ。僕はその会社のために生きているのではない。

ところで、転職する時は「決まるまで辞めるな」というのがセオリーという意見はよく聞く。僕は別に『セオリー』だとは思わない。使い古された言葉だが、仕事というものは人生の大半を占めるものであり、それが人生に与える影響は甚大だ。その仕事を探す作業である転職活動というもの、片手間に行うべきではなく、じっくりしっかり取り組むべき。僕は常々そう思っている。

というわけで、転職活動という名の冒険へと旅立った勇者おもくそ。
次の城ロマリアに辿り着くには、レベル10は必要だ。
だが、今の僕は…
(つづく)

ところで

君は勇者に「うんこす」と名付けたことがあるかい?


※1
参考エントリ
ドラクエⅢ貼ろうと思ったけど、DSあたりで発売されてるモノと思いきや無いんですね。
では「次のステージッに~ゆきましょう♪」ってことで。