見出し画像

先の仕事を予測して「学ぶ」

一人前のエンジニアとなるため、常日頃から一生懸命に勉強しているつもりでも、「なかなか仕事に結びつかない」と言う人は比較的多いのではないでしょうか。

私も昔はそうでした。

ですが、通常私たちはビジネスの場において、そうそう学ぶ時間を設けることができません。仕事をしながら学ぶ…ことができればそれが一番ですが、これがなかなかそんな時間も作れないと言うことも珍しくありません。

色々失敗して、後悔した後に学べることは多々あるのですが、いつもそれでは会社にも迷惑をかけてしまうかもしれませんし、自分自身にとってもなかなかつらいことです。

できれば、失敗をする前に学んでおきたいですよね。
(と言いつつも、失敗こそが最も学べる機会なんですけれども…)


実は勉強のやり方には、コツがあります。
まぁ、コツなんて何にでもありますよね。無いことはない。絶対あります。

とは言え、短期でどうにかしようと思っても無駄です。チャンスはいつ舞い込んでくるかわかりませんし、そのチャンスを得るために必要な条件こそが「技術修得」だったりするかもしれません。であれば、自分が将来取り組みたいと思っている仕事に必要なスキルは、できるかぎり長期的な観点で先を見据え、準備に準備を重ね、取り組んでいく必要があります。

しかし、現実には、目の前にある今の仕事をこなすのためのスキルを身につけることも必要です。目の前の仕事もきちんとこなせないままでは、いつまで経っても自分の理想とする仕事が回ってくるわけがありません。

そして、この目の前の仕事が、自分の理想とする仕事と異なっていることで、なんとなく主体的になれず、パフォーマンスが上がらない…そう言う人って多いのではないでしょうか。

ですが、実際には『短期的な勉強』をうまく行い、それらをいくつも積み重ねて本質を理解していくことで、効率よく理想とする技術スキルを身につけることができます。

人それぞれに目指す技術者のイメージがあり、勉強をしたい分野がありますよね。私もありました。

 ・ネットワークインフラのことが勉強したい人
 ・UI/UXデザインの勉強がしたい人
 ・プログラミングの勉強に特化したい人
 
・ソフトウェアツールの使い方を学びたい人
 ・アーキテクチャに詳しくなりたい人
 ・データベースのプロになりたい人

など、色々だと思います。

ただ、必要な知識を習得し、スキルとして身につけるためには、単に知ったり覚えたりするだけではなく、『実践すること』『他者に教えること』が欠かせません。これは先日お話したラーニング・ピラミッドにもまつわることです。

画像1

そのため、業務に無関係なスキルの習得というのは、とても時間とコストがかかります。『実践で使う機会』『他人と会話する機会』が圧倒的に低くなるからです。どんなに本を読んで、どんなにプライベートの時間を削って勉強しても、知識を詰め込むだけでは、スキルとして身についたとは言いません。

こうした『学習』だけでは、なかなか成果が出すことが難しく、徐々に勉強を継続していくことが億劫になっていきます。

また、会社や上司も、部下に対して「覚えてもらいたい」ことは色々あっても、それと業務をどう結び付けていくのかについては、ビックリするほどに考えられていません。

ですから、せっかく「重要だから…」と教える機会があったとしても、現場で実践する機会を作ってあげることができずに、スキルとしては身につかず無駄に終わってしまうのです。それが原因で

 「自分はこの業界に向いていないかも」

などという疑問を感じることになってしまいかねません。

しかし、考えても見てください。

そもそも学校教育の時代から「予習」や「復習」が大事と言われているのは、継続的に知識を引き出す機会を作らないと、人間の脳はすぐに忘れてしまうようにできているからです。

それを、大人になったからと言って、もっと勉強しなくなったビジネスパーソンに、ちょっと教えたら"完璧に使いこなせるようになってた!"なんてこと、あるわけないじゃないですか。


一方で、業務にすぐ直結するような内容の勉強は、即座に実践しやすく、スキル修得に結びつきやすいという特徴があります。しっかりとOJTができている環境下では、成長の伸び率は非常に高いと言われていますよね。

けれども、業務に直結する勉強をしていても、なかなかスキルに結びつかない場合もあります。その主な原因は、『うまくできなかった部分を復習できていない』ケースです。いわゆるPDCAの「A」に繋がらない場合です。

特に、一つひとつの仕事が短期間で完了してしまうような業務の人は、うまくできなかったからと言って、しっかりと反省しても、復習した分野が次の業務に活かせるとは限りません。そのため、せっかく勉強したことを実践できずにいることも多いのです。

これらのことから、学んだ知識を実践できるような勉強方法を突き詰めて考えれば、

 予習型の勉強が「合理的」
  ①
実行する前にまず学ぶ
  ②実行しながら、学んだことを反芻する

であることがわかります。つまり、明日の仕事、あるいは来週の仕事で使いそうな部分を勉強するのです。そうすれば、すぐに実践する機会が回ってくる可能性が高く、スキルとして定着できる可能性が高まるのです。先述のように、復習型の勉強ではこうはいきません。

 復習型の勉強
  ①
実行する
  ②実行した結果を元に正しい方法を学ぶ
  ③でも、学びなおした仕事がもう一度依頼されるとは限らない

と言うリスクを負うからです。

また、あらかじめ勉強したことに対して、そのまま実施するだけでなく、ほんの少しでも何かの工夫を取り入れて仕事をしていくことで、仕事の効率が改善されていくことも期待できます。仕事がうまくいけば周囲から褒められるし、楽しくなってきますから、次に勉強するための意欲にもつながっていきます。


しかし、業務に合わせた短期的な勉強だけでは、体系的に学ぶこと、基礎を学ぶこと、新しいことを学ぶことができません。目先の作業についてピンポイントで学ぶことを目的としてしまうため、全体を俯瞰することができなくなってしまい、どうしても『小手先』となりかねません。

全体を学ぶには、どうしても長期的な学習も必要になります。

ところが、短期的な学習は「予習」でなければならず、比較的短い期間で学ぶ必要があり、緊急性の高い取り組みになってしまいがちです。結果的に、限られた時間で短期的な学習と長期的な学習を両立させることができず、徐々に目の前の作業にばかり目を取られていってしまうエンジニアも多いのではないでしょうか。

そうなると、ビジネスパーソンとして大成するのは難しくなります。

業務内容によっては、「その会社」の中だけで有効なスキルとなってしまっていて、業界全体、社会全体から見たら、まったく使い物にならないガラパゴス化したスキルを磨き続けていた──────なんてことになりかねません。


短期的な学習と両立するためにも、長期的な学習をする時間を一定量は必ず確保しましょう。そして、焦らず計画を立てて少しずつ修得していけばいいのです。

短期的に修得したことでも、小手先のテクニックだけで終わらせるのではなく、後で時間を取って本格的に体系や本質的な部分を基礎から再スタートを切る形で学んでおくと、次からの仕事では、そういった本質を念頭に入れた設計や仕様を構築することができるようになります。

たとえば、データベース1つとっても、最初は短期的にデータベースの概要やSQLの書き方を学ぶ方が早いと思います。そういった基礎を知らずにいきなり実行計画の読み方を説明されてもチンプンカンプンになるはずです。

もし、長期的に

 ・DBごとに異なるオプティマイザの癖
 ・カーディナリティ
 ・
索引(インデックス)ごとの機構
 ・実行計画の解読
 ・統計情報の読み方
 ・正規化/非正規化
 ・排他制御/デッドロックについて

など、本質的な部分を理解すれば、それを設計時点で考慮した形でデータベースモデリングができ、よりシンプルで、より効率性を意識したシステムが構築できるようになるかもしれません。

こうしたことから、IT業界のエンジニアにとって「学ぶ」活動においては、

 目先の課題については業務に直結した部分を予習型で学び、
 本質を理解するためには長期を見据えて体系から学ぶ

と言う流れで進めることが、最も効果が高いと言えます。これは、脳の記憶のメカニズムとしても有効な方法だと思います。

あとは、本人のやる気と、時間を作る努力が実るかどうか…ですね。

いただいたサポートは、全額本noteへの執筆…記載活動、およびそのための情報収集活動に使わせていただきます。