1. 社員紹介
  2. Webプログラマー

挑戦を 続ける。

Webプログラマー

五十嵐 進士 Shinji Igarashi

  1. 社員紹介
  2. Webプログラマー

仕事は自分との挑戦

五十嵐は仕事が好きだ。こんなに楽しくてお金までもらえるなんて。日々感激する。
プログラマーの仕事の内容は「設計」「開発」「テスト」に大別できる。クライアントの要求を営業やシステムエンジニア、あるいはプログラマー自身がヒアリングし、その内容に沿ってプログラムを組む。どんな内容であっても、基本的にはこの繰り返しだ。ともすると単純に聞こえるこの仕事は、ちょっとしたコードの書き方や工夫の違いが大きな違いを生み出す。確立された正解がなく、突き詰めれば終わりのないものだ。
五十嵐は仕事とプライベートですることがほぼ変わらない。家にいるときは「寝てるか本読んでるかメシ食ってるか、ですね」だという。プログラミングは五十嵐の生活の一部だ。睡眠、読書、食事、それ以外のすべての時間がプログラミングに充てられている。

「何をしても足りないという意識があります。自分には才能がないので、時間でカバーするしかないと思っていて。まぁそれは建前で、単にPCいじってたら時間がすぐに経過するってだけでもありますが」

五十嵐の仕事は常に自分への挑戦だ。たとえば「今、プログラムの処理に10秒かかっているものを1/10にしたい」という依頼があったとき。処理ごとの実行時間を計測し、関連性がないか、共通部分がないか調べる。パフォーマンスクリティカルな処理を見つけ出し、改良する。徹底的に効率化を進め、1.5秒にまで縮めることはできたが、あと0.5秒がどうにもならない。これまでの経験上、クライアントにそれを伝えれば、十中八九それでいいと言われるだろう。しかし、それが許せない。自分以外の誰かならできるかもしれない、だから諦めるのは嫌だ。仕事上出さざるを得ない妥協案には、忸怩たる思いがある。
「できないかもしれない」と思ったことができたとき、達成感を感じる。一瞬でもできないかもしれないと思った自分を裏切れたことがうれしい。誰かに喜んでもらいたい、という気持ちは仕事のモチベーションとして重要だ。しかし、それだと“ゴール地点”が生まれる。他人の満足以上に、何よりも自分が納得できる仕事。五十嵐の成長には限界がない。

  1. 社員紹介
  2. Webプログラマー

気付けば魅了されていた

五十嵐が初めて触れたパソコンは、伯父の家にあった“PC‐8801”だった。あるとき従兄に一冊の本を手渡され、そこにある文字列を入力するように言われた。よくわからないまま素直に“写経”すると、絵が現れる。仰天した。これは何かと問うと、「プログラミングだ」という答えが返ってきた。
初めてのパソコンも伯父が買ってくれた。それは“PC-9821CanBe”だった。もっとプログラミングを学んだらどんなことができるんだろう。そう考えたが、電気店で見たプログラミングのソフトは、中学生の五十嵐にとって高価すぎた。五十嵐家のパソコンはもっぱらネットサーフィン用のツールとなった。
高校には“電脳研究部”というものがあった。五十嵐の所属は文芸部だったが、パソコン操作でわからないことがあったので部員に尋ねてみると、なぜか嫌な顔をされた。

「これは自分が無知なあまりに失礼なことをしたに違いない、と。だから、学ばなくてはならないと思ったんです。ちょうどBolandの開発環境が一部無料で公開されていて、あんなに高かったプログラミングがタダでできるようになった時期でもあったので」

公開されたのがC/C++の開発環境だったため、それがわからないと先に進めない。五十嵐は当然のように言語を学んだ。サンプルコードを打ち込むことを繰り返すうちに、ちょうど受験生だったので正答率とタイムが出る単語帳プログラムを組んでみたりもした。絵を表示させるにはどうしたらいいんだろう、どうやったらゲームを作れるんだろう。知れば知るほど、次から次へとわからないこととやりたいことがあふれてくる。
通っていた高校が進学校だったので、環境的に大学進学以外の選択肢はなかった。しかし、プログラミングに魅了されているうちに、卒業から2年以上の月日が経っていた。両親に「頼むからさっさと大学に入ってくれ」と言われるまで、進学することも忘れていた。入学したのは経済学部しかない大学で、些少なPC好きの仲間とサークルを立ち上げた。サークルではシステム構築関係のボランティアを積極的に行った。何かに貢献したかったわけではなく、集まってパソコンをいじることに口実があればよかった。五十嵐にとって、プログラミングは手段ではなく目的になっていた。
もう電脳研究部員のことはどうでもよかった。何を聞いたのかも思い出せない。気付けば自分の指令でパソコンを動かすことの楽しさにのめり込んでいた。

  1. 社員紹介
  2. Webプログラマー

難問、それがやりがい

五十嵐が初めてアサインされたプロジェクトは大規模なものだった。何十万件という情報を持つクライアントの検索システムの構築で、ユーザビリティも考慮しなければならない。
問題なくプログラミングでき、テストもクリアした。しかし、五十嵐の書いたコードは本番環境では使い物にならなかった。クライアントのデータ量は想定していたよりもずっと多く、それには対応できなかったのだ。趣味として行っていたときでは想像もつかないような膨大なデータ。自分の書いたコードの先に、何百人、何千人というユーザーがいる。五十嵐はそれを初めて実感した。
一からやり直すことに、悔しさよりも何かに挑むワクワクした気持ちが大きかった。どんな技術を使うか、それで本当にいいのか、自分の培ってきた知識や技術が試される。

「やみくもに覚えてきた知識が、現場に出て収まり所を見つけたというか。無駄にコレクションしていたパズルのピースが、いつのまにか一枚の絵になったような感覚でした。今まではただ好きでやっていただけで、誰かの役に立とうなんて考えていなかったから」

五十嵐はElasticsearchを使った検索システムを実装した。検索に時間がかかるという悩みを抱えていたクライアントに対し、五十嵐が提案したものが受け入れられて実現したものだ。比較的新しい技術のために情報が少なく、実装までには海外の技術フォーラムをのぞくなどかなり苦労もあった。しかし、これまで最大30秒かかっていた処理時間を、1秒以内に短縮することができた。アクセス解析結果でもユーザーの離脱率がぐっと減ったという結果も出た。自分の書いたコードがクライアントに満足してもらえ、ユーザーの役にも立っている。思っていたよりもずっとうれしかった。
難易度が高ければ高いほど責任も感じるが、それ以上にそれをクリアすることが楽しい。「これはこういうときに使える知識だったか」「あの技術ももっとちゃんと覚えておけばよかった」。課題があって、それを解決するためのアルゴリズムの設計があって、プログラミングの実装がある。プログラミングはその繰り返しだが、幅広い知識や柔軟な思考が要求され、自分が努力し、工夫した分だけ、その先に喜んでくれる人が増えていく。
やはり仕事は楽しい。五十嵐は日々感激する。

  1. 社員紹介
  2. Webプログラマー

Message

プログラミングは特別なことじゃないです。モノをつくるということで、絵を描く、音楽をつくると同じことなので、やり方は無数にあると思います。そのなかで好きなやり方があれば追求したらいいし、追求しなければならないと思う。
もし見つからなかったら……、まぁそれはそれで……。好きじゃなくてもできるっていう才能のある人も世の中にはいるだろうし……。
とにかく、プログラミングが好きだという人は、家にいてもたぶんPCいじってるだけだと思います。それを仕事にするとお金がもらえるし人に喜ばれるし、いいですよ。

Profile

五十嵐 進士 Shinji Igarashi
座右の銘
「面白いと思うことをやりなさい、楽しくてやりがいがあると思う何かをやりなさい、それ以外のことはどうせうまくやれないから」
理由:尊敬するブライアン・カーニハンの言葉で、すごく励みになります。
次へ