こんにちは、らくからちゃです。
プーアール茶を片手にのんびり仕事をしていることが多いんですけど、中国茶はお湯を注いで最初の一杯目は捨て、いわば二番煎じから頂くんのが美味しいんだそうな。なんでも最初の一杯で茶葉を開かせ、コップを温めておくことが目的だそうなんですけど、物事によっては二番煎じ、三番煎じのほうが丁度よいくらいの頃合いになるものもあるでしょう。
人によっては「もう何杯目やねん」と思われるひとも居るかと思いませんが、ここ最近話題の「エンジニアはプライベートの時間でも勉強をすべきか」問題について、個人的に考えたことを整理しておきたいと思います。
まずは結論を申し上げますと「プライベートでも勉強するかどうかより、業務時間中に上手に勉強時間を確保できるかどうかが重要なんじゃないの」と思うんですね。
つーか、エンジニアなら
— らくからちゃ (@lacucaracha) September 8, 2018
・上司の目を盗んで
・上司を上手に騙して
・上司に媚を売ってでも
就業時間中に自分の勉強時間を確保すべきだと思うぜ。
上手い具合にたち振る舞い就業時間中に勉強時間も確保できるかどうかのほうが、決定的な気がするんですね。すごく雑なベン図を書くと、「A.プライベートでもしっかり勉強していて、成功している」って人もいますが、その一方で「B.成功してるし勉強していない」人もいれば、「C.勉強しているが成功していない」ような人もいます。
私の狭い観測範囲の中では、Aだけでなく、Bの人やCの人も結構見かけるんですよね。100%は無理としても、Aの領域がそこそこ大きくないと「プライベートで勉強しないとエンジニアとして大成しない」みたいなことを言うのは難しいと思うんですけど、案外小さい。
じゃあ何が共通項なのかな?と思って観察していて出たひとつの結論が「業務時間中にしっかり勉強しているか否か」のような気がするんですよね。
凄腕エンジニアはプライベートで何をしているのか
この業界でお仕事をしていると、時折「凄腕」と呼ばれるひとの圧倒的業務能力を見せつけられることがあります。
うんうん悩んでいた要求を、標準機能のパラメータをちょちょっと適用して切り抜けたり、あっと驚くライブラリの使い方をして半分以下のコード量でスマートに実装したり、トラブルが起こっても鼻歌まじりにログファイルをチェックしてリカバリ方法までばっちり立てて進めてくれたり、いつも頭が上がらない人たちです。
家に帰っても土日もずーっと開発三昧の技術バカみたいなひとも居なくもないのですが、凄腕の人の多くは「家に帰ってからは家族の時間を大事にする」「筋トレめっちゃしてる」「カメラ片手に登山をするのが生きがい」「美しい絵を見て精神のステージをあげる」とかとか、割りとプライベートも充実させているんですよね。
彼らを観察していて気がついたのですが、「プライベートでも勉強をしている」というより「上手い具合に就業時間中に自分のやりたい勉強をしている」方が多いんですよね。
「お勉強なんてするよりも実務経験を積め」なんて言われがちな業界ですけど、一口に勉強といっても色んなタイプのものがありますし、皆さんが想像するものもかなり様々だと思います。ここで考える対象がバラバラだと、話も進めにくいので、ざっくり下記のような4つのレベルにわけて考えてみましょう。
エンジニアが身につけるべき知識というと、色んなものがありますけど、まず真っ先に思い浮かぶのは「課題一覧の確認の方法」とか「ファイルの保管場所」みたいな、業務上最低限必要な知識です。そんなもの教えてもらって当然ですけど、伝えられないと話になりません。こうした業務上最低限必要な知識を周到するのは、応用範囲は狭くとも即効性は強いといえます。
一方、普段使っているシステムに最新バージョンで追加された機能や、ライブラリの使い方に関する知識なんてものは、すぐに日の目を見ることはなくとも、将来どこかで役に立つことでしょう。また新しい言語やサービスについて勉強しておくのも、幅広い領域で役に立つ可能性があります。またデマルコ本を読んだり、情報処理技術者試験に挑戦するのも、すぐ実務に生かせなくとも、しっかりとした考え方を身につけておくことは広い範囲で役に立ちます。
なんやかんやで闇雲に場数を踏んできているだけのエンジニアより、知識を持っている凄腕の人たちのほうが、いざとなった場では頼りになります。
でもこうした勉強の時間を、お給料を頂きながら確保するのは大変です。業務の一環として行う以上、費用対効果を説明し、その結果を検証できる形で報告できねばなりません。その手間隙を考えると、①はまだしも②では怪しく③も厳しく④のための時間を確保するのは、ほぼほぼ不可能です。
ところがどっこい、凄腕の人たちの中には「仕事の進め方に関する知識」みたいな領域まで、ちゃっかり業務時間中に勉強している人もいるんですよね。
どんな技を使っているのか。
凄腕エンジニアの勉強術
前工程の作業が遅れたため、まる一日仕事ができなくなった日があったとします。
残念なタイプの人に多いのは、もうずーーーーっとネットサーフィンしちゃうんケースですね。多少息抜きに、芸能人のゴシップ記事読んだり、贔屓の野球チームの最新情報を調べたりするのは良いと思うんですけど、延々とそればっかしてる人の環境が改善するわけないですよね。
頑張っているのに評価されないタイプの人に多いのは、ひたすら不必要な仕事を作り出すケース。例えば、受注確率10%の仕事の準備を一生懸命し始めるたりするんです。将来に備えて準備をしておくのは、心がけとしては立派です。ただそれ、9割近い確率で、前者のネットサーフィンおじさんと全く同じ顛末をたどるんですよね。そうした「別にやらなくても良い仕事」を一生懸命引っ張り出してきてし始めるひとは、結構います。
で、凄腕のおじさんたちを見ていると、こうした時間が生じると「じゃ、なんかあったら呼んでくれ」とだけ言い残し、さも当然のように勉強し始めるんですよね。現行業務とは直接関係の無さそうな内容であっても、なぜかそれが許される雰囲気を醸し出している。
更に加えていうと、こうした状況を"たまたま"ではなく意図的に作り出しているケースすら見受けられます。
例えば「ちょっとリスクが大きいので」「未確定の部分が多いので」などと理由をつけ、スケジュールに余裕をもたせて作業にはいるわけです。それが許されるのは、それでもなお他の人よりも早く、品質が良いから。それはなぜかというと、過去にそうして作り出してきた時間で勉強してきたことが活かせるから。こうしたサイクルを上手に回しているんですよね。
業務中にやるのは憚られる内容でも、定時後に『もくもく会』とか適当なタイトルをつけて会議室を抑えちゃう。自習スペース代も掛からないし、残業も入れられづらくなり、更に遅くまで頑張っているようにも見せかけられて一石三鳥。
こうして実績を作ってきた人は「あの人なら半分の時間で出来るはずでは?」「よく考えたら殆ど関係のない勉強をしているのでは?」と思われても
- それでも他の人よりはずっとパフォーマンスが高い
- あの御方には雑務をやらせるより勉強に打ち込んで頂いたほうが有益
- へそでも曲げられて投げ出されたほうが大きな損失
と、特権階級待遇を受ける例は結構多いんですよね。
さらに言えば、社内外の人脈も強く、自分の能力をアピールすることも出来るため、美味しい案件をしっかりゲットすることすらしているんですよね。
優秀なエンジニアほど錯覚資産を活用する
ここまで書いてきて思い出したのが、ふろむだ先生( id:fromdusktildawn )が最近上梓されたこちらの本にも出ていた「錯覚資産」という言葉。
エンジニアなんて商売は、専門性が高くその価値が外部から評価しにくい以上「勘違い」させることなんて、いくらでも出来るんですよね。「○○さんが言うんだから間違いない」「○○さんにも出来ないんだから、これは無理だ」そんな風に思わせる程度、お茶の子さいさいですよ。
そうした位置さえ確保できれば、わざわざプライベートの時間を割かなくとも、自分に再投資するための余力の確保は割りと簡単にできます。それによって、良いポジションを手に入れられ、更に上を目指すのも簡単になります。
更に言うと、理解のある上司であれば「わざと騙されてくれる」くらいのことまでやってくれます。それが本人だけでなく、長期的に部署全体の底上げにつながることを理解しているからです。個人的には、最近うちのチームでこっそりRubyを勉強しながらRedmineを導入して遊んでいたのを、黙って見過ごしてくれたのが嬉しかったですね。
こうした立ち居振る舞いが許されるポジションさえ手に入れられれば、もはやプライベートでまで勉強する必要性は高くありません。
わたしの見てきた凄腕の人たちの多くは、午後8時に家に帰ったあとは、午後9時まで子供の面倒を見て、午後10時まで家事をして、午後11時まで奥さんの愚痴を聞いていたら、もう勉強をする余裕はありません。なんとか就業時間中に勉強できるスキを作り出せないか知恵を巡らせています。
逆にその程度の根回しすら出来ない人が、一生懸命家に帰って深夜まで殊勝にお勉強をしてみたところで、実務で評価される水準まで結果を上げることって出来るんでしょうか?
IT業界の多くのお仕事は、びっちり作業内容やスケジュールまで指示されるものではありません。ですので、どうやってスキマ時間を作るのか?生まれたスキマ時間をどう活用するのか?のセンスが問われる商売のような気がするんですよね。
そこんところを抑えておかないと、この業界で生き抜くのは難しいんじゃないのかなあなんて思う今日このごろです。
ではでは、今日はこのへんで。