初めての部下(後輩)が優秀でビビる僕
2016/03/20
僕は専卒でこの会社(社員100人規模の中小ソフトハウス)に入社して以来、2年間ずっと同じ大手SIer(システムインテグレーター)に派遣されていました。
入社3年目(22歳)になった頃、派遣先の課長から大規模案件のオファーを受けます。
それまで僕は1人でこの派遣先に常駐していたのですが、開発規模が大きいので僕の会社から追加要員として数名増員することになりました。
その増員メンバーの中にその年の新人で、大卒(23歳)の人がいて、
マネージャーからは、
「彼のことは全てタカに任せるから。宜しくね。」
と言われ、僕に初めての部下(後輩)が付いたのです。
彼は大卒で1浪だったので、僕より1つ年上の後輩ということになります。
スポンサーリンク
1人で良い気になっていた僕
さて、一般的にSEという職業は、業務外の時間で勉強したり、セミナーを受講したりと、自身のスキルアップを図らないと周りについて行けなくて干されると言われています。
しかし、僕は入社してから一切家で勉強したりはしておらず、現場の仕事しかしていませんでした。
ですが、それでも徐々に出来る仕事の領域が広がって行きましたし、派遣先から信頼されている実感もありました。
更に、こんなに早くリーダーを任されることになったので、
「もしかして俺、勉強なんかしなくても結構優秀なんちゃうw?」
と、とても愚かな勘違いをしていました。
しかし、そんな僕は新人の成果物を見て、アホな夢から覚めることになります。
新人が優秀かも?
新人の面倒を見始めた初期の頃は設計フェーズだったので、画面レイアウトの作成や、ドキュメントの整備など、簡単なものしか新人に割り振れる作業はありませんでした。
簡単な作業とはいえ、自分なりに考えてアウトプットを出していることが伝わってきましたし、
成果物の品質も新人にしては高かったので、
「この新人は結構優秀かも」
と思っていました。
そして、開発工程に入ったある日、その予感は確信に変わりました。
少し難しい画面の開発を任せてみることに
僕は新人を指導するにあたり、本人にとって1ランクハードルの高い仕事をワザと割り振るようにしていました。(先輩の受け売りですw)
なので、普通であれば開発で割り振る画面も単純なマスタの照会画面とかにするのでしょうが、そういう単純なのは外注に割り振って、少し頭を使うような画面を新人に任せてみようと思いました。
そこで、細かいことは覚えていませんが、
「UNIONやEXISTSを使ったクエリでデータを取って、画面側で少しごにょごにょして表示するw」
みたいなトランザクション系の照会画面を任せることにしました。
僕「ちょっといい?」
新人「はい?」
僕「この画面の実装をお願いしたいんだけど。」
新人「はい!」
僕「ここの現場は細かい所まで設計書に書かないし、間違ったことが普通に書いてあるから、この画面の説明を口頭でするね。」
僕「この画面の目的はxxxを照会することで・・・(略)。どう?何となく理解出来た?」
新人「はあ、何となくですが。」
僕「まあ、やりながら分からないところがあったら声掛けてよ。その都度フォローするからさ。」
新人「分かりました!」
僕「それじゃ、よろしくー。」
と、新人に画面の説明をしました。
この時僕は、画面の目的や使う人、使うタイミング位を説明し、実装方法に付いては一切話しませんでした。
そして翌日
新人「ちょっとよろしいでしょうか?」
僕「うん、いいよ。」
新人「細かい所は未だ出来ていないのですが、大まかな流れは出来たので一旦ソースをご確認頂けますか?」
僕「うん。いいよ。そっち行くからちょっと待ってて。」
と、僕は特に何も言っていないのに、中間レビューを求められました。
僕(何も指示してないのに方向性の確認の為に自分から中間レビューを求めてくるなんて・・・なんて優秀なんだろう・・・。)
僕(しかも、ざっと作るだけで2日位掛かるかと思ったけど1日で出来たのか・・・。すげーな。)
と、この時点で既に僕は新人の優秀さにビビってましたw
そして、僕は新人の作ったコードを見始めたました。
僕(どれどれ・・・)
僕(は!?なんじゃこりゃ!?)
そこには僕の予想を遥かに上回る、大量のコードが書かれていました。
そして、そのコードをよくよく見てみると、取得したデータの加工編集処理が大量に書かれていることが分かりました。
その代わり、クエリは非常にシンプルなものになっていました。
つまり、僕の中では
「UNIONやEXISTSを使ったクエリでデータを取って、画面側で少しごにょごにょして表示する」
を想定していたのですが、新人は
「シンプルなクエリでデータを取って、画面側でロジックで超頑張ってデータを加工編集して表示する」
というやり方をしていたのです。
僕(なんだこの難解ロジックは・・・。見たくねーorz。でも見なきゃ・・・。)
僕(ふむふむ。)
僕(あーなるほどね!)
僕(コイツすげーな・・・。)
と、一通り新人の作ったコードを見てみました。
僕「うん。確かに間違ってはいないと思うよ。」
新人「あー、よかったー!」
僕「でもさ、これってUNIONとかEXISTSを使ってデータを取れば、こんなにアプリ側で頑張らなくても良くない?」
新人「ん・・・?」
新人「なんですか、それ?」
僕(あ!やっぱりそうか。)
そう。この新人はUNIONとかEXISTSを知らなかったのです。
その為、画面の表示仕様を満たす為に、アプリ側で超頑張ってデータを加工編集していた訳です。
僕「UNIONっていうのは(略)・・・という訳で、クエリで取ってきた方が良いと思うよ。」
新人「なるほど!それならそっち使った方が良いですね!」
新人「分かりました。すぐ直します!ありがとうございました!」
僕「うっ、うん。」
そして、その日のうちに修正版のコードが想定通りの形で完成していました。
僕(う・・・。なんて飲み込みが早いんだろう・・・。)
僕(俺が新人だった頃、あんな難しいロジック組めなかったぞ・・・。当然クエリも知らんかったし・・・。)
僕(完全に彼の方が頭良いな。彼に対して俺のアドバンテージは2年分の経験値だけだな。)
僕(彼がちょっと経験を積んだら俺なんか一瞬で抜かれるな。こりゃマズイな・・・。)
と、僕は本気でビビっていましたw
今思うこと
僕はこれまで1人で派遣されていて、特に何も勉強しなくても派遣先でそれなりにやってこれていたので、
「SEは勉強しなきゃ周りについて行けないなんて嘘じゃね?」
と思っていました。
しかし、自分よりも遥かに賢い後輩が下に付いてからは、
「自分のアドバンテージは僅かな経験の差しかない。何も勉強しなければ一瞬で抜かれる。」
と思うようになりました。
そして、何を勉強しようかと考えた時に、前にお世話になったITコンサルタントが、
「データベースと会計は絶対勉強しておいた方が良いよ。何処の現場に行っても必ず使うから。プログラミング言語は流行りがあるけど、これらの知識は一生役に立つよ。」
と、言っていたことを思い出しました。
確かに僕も
「今しか使わない技術を学ぶ為に時間を使うのは非合理的」
と思ったので、暇な電車内とかでデータベースと会計の本を読むようになりました。
とは言っても、たまに電車内で読むくらいで、平日の夜は疲れていましたし、土日は遊びの方が優先順位が高かったので読みませんでしたけどね
そして今でも、
- データベーススペシャリストに合格する位
- 1人で確定申告(青色)が出来る位
のしょぼい知識しかないですけど、それでも結構いつでもどこでもソコソコ役に立っていますw
僕個人的にはSEの差別化戦略としてデータベースと会計はおすすめです。
(差別化戦略なんて大げさですけどね)
レベルアップ
- 初めて後輩を指導する立場になった
- 電車の中で勉強する習慣が付いた
- データベース、会計に少し強くなった