エンジニアは日々現場で学ぶ

開発現場で学べること
第9回 仕事ができ、周囲から評価されるエンジニアとは

クロノス 山野寛
2004/9/3

エンジニアにとって最も大切なことの1つが、開発現場での経験だ。それがエンジニアに多くの知識と勘をもたらす。そんな開発現場で若きエンジニアが失敗し、そこで何を学んでいくか。それを毎回紹介したい。

エンジニアに対する評価

 システムテストフェイズも終盤に近づいている。われわれのシステムはさほど大きなトラブルに見舞われず、比較的順調にテストをこなしていた。そんなある日、本番環境で運用されているシステムでトラブルが発生したとの情報が、突然われわれの元へ舞い込んできた。そのシステムは、日々の取引で発生する伝票情報を収集し、取引金額の正当性をチェックするためのものだが、その日の処理で大きな金額誤差が発生したというのだ。

 そのトラブルを聞いた筆者は、状況の詳細を知るために現場で様子を見ていた。すると、そのシステムのプロジェクトマネージャ(PM)から、筆者はある作業を依頼されたのだ。それは「トラブル発生の前日、そのシステムで作成された伝票データと、トラブルの発生した日に作成された伝票データを比較し、違いのある部分を抜き出して一覧にしてほしい」というものだった。急を要す状況だったため、筆者はその具体的な内容を把握した後、すぐに作業に取り掛かった。実は筆者はそのようなデータの比較作業や検証作業を非常に得意としており、今回も普段使い慣れているテキストエディタやExcelなどのツールを使いながら、数分でデータの加工を完了させた。

 早速PMに作業の完了報告をしたところ、PMはその筆者の作業に対して高い評価をしてくれた。しかし、その高い評価は、筆者にとってかなり「意外」なものであったのだ。というのも、筆者はここ数年J2EEのシステム構築を仕事とするために、オブジェクト指向技術やUMLを活用した設計手法、開発プロセスなどいろいろな情報技術を勉強してきたのだが、実際の現場で仕事をする中で、筆者のそれらの知識や技術に対してそれほどまでに高い評価を得たことがなかったからだ。しかし今回は、筆者の得意とするJ2EEやオブジェクト指向開発に対して評価されたのではなく、ちょっとした「雑用作業」をしたことによって高い評価を得たため、

 「なぜ、こんな雑用作業に対して、高い評価をされたのだろうか」

という、ちょっとした不思議な気持ちを覚えたのだ。

 そこで筆者は次のように考えた。

 「もしかして、『仕事ができるエンジニア』と周囲から評価されるためには、技術知識以外にもっと大事なものがあるのではないだろうか」

と。これはいったいどういうことなのか、もう少し具体的に話をしよう。

評価を得るタイミングを考える

 開発現場において、PMやリーダーがエンジニアを評価する明確なポイントはいくつかあるだろう。例えば、開発支援という形態でさまざまな現場に参画するエンジニアにとって、まず評価のポイントとなるのは、参画時に行われる「面接」である。面接では、いままで自分が参画してきたシステムについての概要や、自分がどれだけのスキルがありどのようなレベルの仕事ができるのかを見てもらう場であるため、仕事に対する能力の評価を周りから判断される最初のポイントでもあるのだ。

 この第一印象で得た評価をスタート地点として、開発中に依頼された雑用作業をうまく処理したときや品質の良いプログラムを製造したとき、難解なトラブルを無事解決して乗り越えたとき、スケジュールどおりに作業を完了させたとき、開発が成功に終わったときなどに、エンジニアに対する周囲からの評価というものは変わってくる(図1)。

図1 開発の段階ごとにエンジニアに対する評価は変わる

 一番の重要なポイントとなり得るのは、「開発中に依頼された雑用作業をうまく処理したとき」であると筆者は考えたのだ。当然、ごく普通にこなしただけでは高い評価は得られず、「いかに高いレベルの仕事をするか」という部分が重要である。筆者がそう考えるのには次のような2つの理由がある。

 1つ目は、雑用作業というのは日常の開発業務で頻繁に発生するため、そのエンジニアのスキルを判断するには格好の材料だからである。頻繁に発生するということは、当然評価の対象として目に付きやすく、印象に残りやすい。

 2つ目は、開発現場に集まるエンジニアはそのシステムを完成させる目的で集められた人材であるため、技術スキルに関しては皆高いレベルにある。そのため、技術スキル以外のビジネススキル、いわば「作業効率」や「生産性」などに対する評価が、ほかと差別化するためのより大きなポイントとなっているのだ。

 このような理由からも、日々の雑用的な作業を処理する能力に対する重要度というものは非常に高いと感じる。もしこのポイントを踏まえずに、雑用作業をその言葉のとおり本当に「雑」にこなしてしまった場合、その態度や姿勢はエンジニアに対するその後の評価にも大きく影響してくる可能性は高いと筆者は考えている(図2)。

図2 雑用作業によって評価を落とした場合の評価の変化

 しかし、雑用作業の処理能力を向上させるには一体どうしたらよいのだろうか。次からは、このようなスキルを身に付けるために必要なことについて少し考えてみよう。

雑用作業をこなす能力

 筆者は雑用作業を高いレベルでこなすにはある程度の「応用力」と「想像力」が重要であると考えている。ちなみに雑用作業といってもいろいろあるのだが、取りあえずここは開発現場でよくある「何かのデータやドキュメントを加工する」という作業を対象として考えてみようと思う。

 上記の応用力とは、常日ごろから使用しているツールや技術を、その作業内容に応じて上手に適用できる能力である。そして、この応用力を高めるのに最も必要なのは、それらのツールが果たす役割や目的を理解し、それがほかのどのような作業に使えるのかといったような想像力を養うことである。筆者はこれら2つの能力が、雑用作業を高いレベルでかつ迅速にこなすために重要な能力であると考えている。

 読者の方々の応用力と想像力を確認するために、以下のような簡単な作業に取り組んでほしい。

・ここに、ほかのシステムへインターフェイスとするために作成された2つのファイルがある。
・一方のファイルは前日作成されたもの、もう1つは本日作成されたものである。
・このファイルのデータは固定長であり、0〜10バイト目まではキー項目、11〜20バイト目までは金額項目(左0埋め)である。
・両ファイルともレコード数やキー項目の内容、キー項目の順序は同じだが、金額が違うレコードがいくつか存在する。
・ちなみに全レコード数は約3万件である。
・では、この2つのファイルから金額の差額の絶対値が1万円以上異なるレコードだけを抜き出し、金額の絶対値が大きい順に並べてほしい。

 恐らくこの作業を完了する方法にはいろいろな手段があると思う。もしこれを短時間でかつ正確に完了する方法がすぐに思い浮かんだ人は、高い応用力と想像力を兼ね備えているかもしれない。1つの例として、筆者が思い浮かべた手段を紹介しよう。

 まず、これら2つのファイルの全データをそれぞれExcelのA列、B列にコピーする(画面1)。

画面1

 次に、これらのデータの差額の絶対値を出すために、C列の1行目に「=ABS(MID(A1,11,10)-MID(B1,11,10))」というExcel関数を記述し、データの最下部までコピーする(画面2)。

画面2

 続いて、差額が0円のものと、そうでないものを区別するためにD列の1行目に「=IF(C1>=10000,1,0)」というExcel関数を記述し、同じ要領で、データの最下部までコピーする(画面3)。

画面3

 最後に、D列、C列の優先順位でデータを降順に並べ替える(画面4)。

画面4

 こうすれば、目的のデータが上から順に抽出できるので(画面5)、後はテキストエディタにコピーして完了である。

画面5

 恐らくこれより早く完了させる方法もあるとは思うが、この方法でも数十秒もあれば完了する。もし実際にこの雑用作業を依頼されたときに、数十秒で完了報告ができれば、やはりそのエンジニアに対する評価は一気に高くなるだろう。それは、開発にとって作業効率と生産性は何物にも代えがたい重要な要素だからである。われわれエンジニアにとって、より良い仕事をして、より高い評価を得るためには、上記のように、「こうすればうまくいくのではないか」といった想像力と、「ほかにどんなことができるのだろうか」といった応用力を養っていくことが一番の近道なのではないかと筆者は考えている。

雑用作業を極める

 雑用作業は、一見面倒な作業のように思える。しかし、エンジニアの評価を高める重要な場でもあり、自分をアピールすることを可能とする場でもあると考えている。

 もしも高い技術スキルや幅広い知識を持っていると自負しているエンジニアの中で、周囲からの評価が低いという不満を持っている方がいるのであれば、いま一度これまでに任されてきた雑用作業を思い出してもらいたい。果たして作業効率を高める、あるいは生産性を向上させるという姿勢で取り組んでいただろうか。もしも、それに不安を感じたのであれば、ぜひこれから「想像力」と「応用力」を高める練習をしてみてほしい。こういった日々の練習があなたのエンジニアとしての評価を高めてくれるかもしれないからだ。

筆者プロフィール
山野寛(やまのひろし)●クロノスに勤務するシステム・アーキテクト。立命館大学理工学部 卒業。クライアント/サーバからWeb系システムを中心にいくつかの開発現場に参加し、ここ数年はJ2EEをメインとしたオブジェクト指向開発にアーキテクトとして設計から携わっているという。

自分戦略研究所、フォーラム化のお知らせ

@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。

現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。

これからも、@IT自分戦略研究所をよろしくお願いいたします。