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倍以上の生産性の開きがあるという話は有名だが、これはきっと会社単位でも当てはまるのだろう。


0 件のコメント: