ただ目の前のディスプレイに映し出される文字を目で追い、正しく動かない要因を突き止めて書き換える。エラーも警告も出ていないことを確認して、再び実行。先ほど引っかかった箇所までステップを進め、少しドキドキしながらそのボタンをクリックする。
再びエラーが出るが先ほどとは違う内容、コンソールの出力を確認するとどうやら先ほどのバグは解消できていて、先の処理まで行ったところで別のエラーが発生したらしい。
「よっしゃ。」
一歩前進したことに、誰もいない深夜のオフィスで小さく歓喜の声をあげる。何度となくそんな作業を繰り返しながら、少しずつ目的の機能を実装していく。なかなか突破できない技術的課題もあるが、調べながら、実験しながら少しずつ前進を続ける。
思いがけず”ガッツリ”プログラミングをやる羽目になってしまったし、徹夜やら休出やらで体力は限界に近かったけど、それでもどこか高揚感に近い物を持っていた。決してインテリジェンスなコードではなかったけど、頭の中にあるイメージが徐々に形をなしていく作業は、ただ純粋に楽しかった。
○○○
システムエンジニアという職業は不思議なもので、企画・提案から設計、実装、テスト、プロジェクト管理、予算管理に至るまで様々な職能が求められる。全部を一人でこなせる人もいるし、ある特定の領域が強い人もいる。
また、技術面一つをとっても、APL、NW、DB、HWといった括りであったり、OSもSV系ならLinux系やWindows系、開発言語はJavaやらPHP、Python、C#などなど・・一言で技術者(エンジニア)と括るのは乱暴過ぎるほどに多様である。
必要に応じてスキルを身に付けて貰う(身に付ける)場合もあるし、あるスキルに長けた人を狙ってアサインする(アサインされる)場合もある。僕の場合は、企画・運営、上流工程の設計、プロジェクト管理系の経験であったり、OSSを用いたSV周りのインフラのグランドデザイン、.NETなどのフレームワークなどが技術面としてはまだ知っている方だと思う。ただし、実装面に於いては酷く経験に乏しい。
自分の特性であったり、所属部門の業務内容から考えれば知識偏重になるのは仕方ないけれど、腐ってもシステムエンジニアとして技術を身に付けていないことに少なからずコンプレックスを抱いていた。
大学生の時にプログラマーのバイトをしていた経験や、社会人になりたての頃に趣味でやっていたASP.NETの開発経験がその後の仕事に様々な形で役に立ってはいるものの、実務経験に裏打ちされたそれとは比べものにならない程貧弱である。
○○○
僕は自分の事を「システム屋」と称している。エンジニアと名乗るには、あまりにもエンジニアリングできていないため、どうしてもそう名乗ってしまう自分がいる。
ただ、コンプレックスは抱きつつも僕自身は「システム屋」として誇りを持っている。知識偏重かもしれないけど、それでも業務要件を整理し、様々な技術を組み合わせ、システム化できる部分とそうでない部分を切り分け、システムを形作ることはとても楽しく、それを人に認められることは何物にも代え難い喜びである。
戦略を立て、道なき道を切り開く。形が定まらない物の形を浮き彫りにして、最善の方法で創り上げるプランを練る。チームを形成し、運営し、物事を前に進める為に立ち居振る舞い、現状を把握してリソースを配分し、課題を解決する為の方策を立てる。
エンジニアとして、もっと技術を磨きたいと思う気持ちはあるものの、まずは自分が出来る事で最大限プロジェクトに貢献する方が先決だとも思う。むしろ、得意分野における自分のパフォーマンスにそれなりの手応えはもっているのだから、そこは今後とも武器にしていきたい。
○○○
想定していた通りにその機能が動き出した時には、空は白んで始発電車が動き出していた。一人「流石、俺」と呟いて資材をチェックインし、オフィスを後にした。
僕は技術力が乏しく、書くコードは拙い。
日常の業務ではないとはいえ、エンジニアとしては正直とても悔しい事実である。
しかしながら、僕にも得意領域があり、そこでは十分に戦っていける。
新しい技術に触れるとワクワクするし、自分が創った物が動くことはとても楽しい。
コーディング作業という非日常の業務は、自分の強みやら、自分の中で眠っていた感情やら、多くの気づきを得るきっかけとなった。
徹夜作業で疲労困憊しているはずなのに、なぜだか気持ちは晴れ晴れしていた。
本気でやっているからこそ、出来ないことが悔しい。
悔しいと思うからこそ、出来るようになりたいと切望し、努力できる。
そして、努力したからこそ、出来るようになった時に凄く嬉しい。
今の日常的な仕事の全てが本気で打ち込める対象かと言われれば、正直回答に窮する。しかし、ハードな非日常業務の中に、確かにこの片鱗を見つけることができたことに少なからず喜びを抱いている。