seri::diary

日常

10年後もプログラマとして働き続けるために考えていること

f:id:serihiro:20140125204711j:plain

クロノトリガーは、確か自分が中1だか中2だかの頃に、偶然ハードオフで見つけて中古で買い、何周も何周もプレイした思い入れのある作品だ。

当時、既に発売から何年も経っていたから、周りの同級生とクロノトリガーを話題にしたことはなかったが、テキストとドット絵の、今考えたら制約の多い手法で表現される、時には熱い戦いに胸が踊り、時には辛い別れに涙する素晴らしい世界観に自分はめちゃくちゃハマり、主要な台詞を殆んど覚えるほどやりこんだ。気がつけば全員のレベルを★★(カンスト値)にするまで何周もやり込んだ。

そんなクロノトリガーで、今でも時々思い返す台詞(というかスクリプト)がある。物語序盤、中世で攫われたリーネ王妃を救うために向かったマノリア修道院のドア横に突然現れる「はりがみ」にこんなことが書いてある

行こうと心に決めた者のみが行ける道がある。

 物語の本筋と関係があるんだか無いんだか、良く分からない形で突然現れるこのはりがみ。

誰が、一体何のために書いたのかは劇中で触れられていないが、この言葉だけは初プレイから何年経っても時々思い返す。思い返すどころか、年を取れば取るほど重く感じるようになってきている。

 

突然話が変わるが、プログラマというのは特殊な職業なのだろうか、ということをよく考える。プログラマをどう定義するのかによるが、ここでは「業務としてコードを書く機会がある」人のことをプログラマとして定義したい。つまり、ITエンジニアという肩書だが、業務で全くコードを書かない人はそれに該当しないとしたい。

自分は今は仕事としてコードを書いている。最近、サービス開発の現場からは一歩退いて、プロジェクト横断で後方支援的なことをメインにやるようになったため、以前より書く量は減ったが、技術検証やテストコードの整備などで毎日何がしかコードを書いてコミットしている。また開発現場に戻るかも知れないが、少なくともプログラマとしてコードを書いて仕事をし続けたり、新しい技術を学び続けることに何の疑いもないし、10年、20年経っても続けていくつもりでいる。

 

しかし、10年、20年とプログラマをやっている人って、自分が知るかぎりではかなり少ない。自分の身近な存在で挙げると、17年プログラマとして働いている先輩が1人いるくらいだ。業界自体が若い、なんて話もあるが、仕事としてプログラムを書いていた人は1960年代から存在していたようなので(「闘うプログラマー」参照)、10年間仕事でコードを書き続けている人がいてもおかしくはない。

一方で、「元プログラマ」とか「元SE」みたいな人は大勢いる。別にそれが悪いということは無い。一度でもコードを書いて飯を食うことで見えてくることは沢山あるだろうし、それを元に別の分野で活躍できるのは素晴らしいことだと思う。

また、30代、40代になった時に、プログラマという立場でどういうアウトプットができればいいのかが今時点では分からない。前述の通り、ロールモデルが殆んど無いし、かといって今(プログラマ歴は丸2年と少し)と同じアウトプットで良い訳がない。もしそうなってしまったら他の人に取って代わられるだけだ。

そういう意味で、プログラマは続けるのが難しい「特殊な仕事」なのではないか、なんてこと考えるようになった。サラリーマンというよりはスポーツ選手のような印象を持っている。常に自分を磨き続けなければ脱落していく。1年後に仕事で今以上の高いアウトプットを出そうと思ったらこの1年間相当量のインプットとアウトプットを残さなければならない。そうしないと少なくともプログラミングのスキルは伸びないからだ。

例えば、今業務でやっているサービスの保守は出来ている。

しかし、新しい事業が立ち上がって、そのチームの唯一のプログラマとしてアサインされた時、1人でサービスの根幹を作ることが出来るか?使うフレームワークを自分で選べるか?AWSVPC設定してEC2とELBとRDSを設定して最小限のインフラを構築できるか?出来ないとしたら、素早く習得できるだけの土台があるか?考えだすとキリがない。

今の仕事が出来ているから1年後も安泰、なんての昨今IT業界全般で言われる通り幻想である(これはITに限らないだろうけど)。ITエンジニアにとってどんどん必要なスキルは増えていく。必死で着いていかなければならない。辛いと思う人もいるだろうし、昨年入社したうちの会社の新卒諸氏は覚えることが多すぎて早くもしんどそうだ。

 

それでも自分は、プログラマとして働き続けようと思う。

なんでそう思えるのかと長いこと色々考えたけど、結局「好きだから」、に尽きるように思う。

自分は上流SEからプログラマに「転職」してからまだ2年と少ししか経ってないが、コードを書くこと、使ったことがないミドルウェアを使えるようになること、チームのタスクをマネジメントすること、誰かの問題を解決をするために頭を悩ませること、他のメンバーを育てること、全部含めてプログラマとしての仕事が心底好きだし、何よりwebで多くの人に「こいつぁすげぇや!」と驚き、喜んでもらえると凄く嬉しい。

だから「この道を行こう」と決めた。

「好きだから」でどこまで行けるか分からないが、今は新人教育やインフラ側・アプリ側双方での技術検証とかの仕事も始めて、前よりは仕事の幅が広がりつつある。その中で、自分が今どういうアウトプットが出来る人間かを考えて、そこからどうなりたいかということを模索していきたいと思う。