【スキル】ITエンジニアの勉強の仕方について

engineering-study

本サイトはPRが含まれています。

エンジニアって普段どんな風に勉強しているのかしら?少し検索して分かったつもりになっても後で忘れちゃうし、私もどう考えれば良いか分からなくて困ってるの・・・

チャーチルさん

ポン先生

エンジニアはスキルとして身につけないといけないからね。今日はそのあたりを考えてみよう。

ITエンジニアは常日頃勉強です。世の中では常に新しい技術が・・・という前に既存の技術であっても自分が知らないことはどんどん吸収していく必要があります。でもどうやって勉強すればよいか勉強の仕方が分からない(ToT)なんて人も多いんじゃないでしょうか?この記事では普段の勉強の仕方の1案としてオススメのやり方を提案します。この記事の内容を実践することでエンジニアにとって重要なスキルを身につける事ができるのでぜひ参考にしてください。

勉強の方法

この章の項目
  • 結論
  • 具体例
  • 解説
  • 資格ってどうなの?

結論

先に結論から書きます。オススメの勉強方法は下記の通りです。

具体的な事案に対し仮説を立て、確認・改善のプロセスを回す

具体的な内容については次章以降で説明します。

具体例

具体的な例で説明します。例えば以下のような場面を想定します。

具体例
  • ファイアウォールのセッティング、検証を実施中
  • ファイアウォール経由でPC1からPC2へのpingを通す事が目的
  • 現在うまく行っておらず通信できない

検証環境

技術的な原因としてはルーティングかもしれないし、ポリシーの設定かもしれないし、IPアドレスの設定ミスかもしれません。何れにしても自分の想像の付く所から確認して行くことになるでしょう。これは言い換えると、「仮説を立て、それが正しいか確認する」とも言えます。

例えば、ポリシーに問題が有るのでは?と仮説を立てます。ポリシーに被疑がある場合、まずは設定を確認してブロックされるような設定が入っていないか確認します。もし、分からなければ一旦全通信を許可するポリシーを追加してみます。

【pingできた場合】
ポリシー設定の問題であることが分かったので設定の修正案を考えます。

【pingできなかった場合】
また別のポイントで仮説を立て、別の確認を・・・となっていく訳です。

解説

この勉強方法のポイントは以下の3点です。各ポイントを意識しながら勉強することでより効率的になるでしょう。

勉強のポイント
  • 仮説→正しいor間違っているのフィードバックが早い
  • 仮説を建てる力が身につく
  • 自分で経験したことこそ身に付く

仮説→正しいor間違っているのフィードバックが早い

実はこういった流れを繰り返すだけでも十分勉強になっています。上記の流れは何かに似ていると思いませんか?ちょっと無理やりですが流れとしては PDCAサイクルに似ています。上記の例と照らし合わせると、このようになります。

PDCAサイクルと勉強
  • Plan(計画):上記例では原因と思われるポイントについて仮説を建てる

  • Do(実行):上記例では該当箇所を確認または設定変更してみる

  • Check(評価):上記例では改善有無を確認する(改善なければ別箇所で再度仮説)

  • Action(改善):上記例では仮説が正しければ該当箇所の設定を精査する

PDCAサイクルは一般的に、目標を明確にできる・無駄なく改善できる、といったメリットが挙げられますが、ここではフィードバックの早さに注目します。

例えば仮説を立ててもそれが正しいかどうか分かるのが半年後、一年後だったらどうでしょう?きっとモチベーションを維持できないですよね。逆にすぐに結果がわかれば何が間違っていたのか、次はどうすれば良いのかすぐに考える事ができます。

この、「原因や改善を考える事」が成長に繋がります。短期間でこのサイクルをたくさん回すことができれば、そのまま勉強になります。そのため、仮説を立てる→やってみる→評価する→改善する、の中身も重要ですが1サイクル当たりの時間は早い方が良いでしょう。

ポン先生

もちろんモノによってはサイクルに時間がかかるし、長いからダメだって訳じゃないよ。ただ、自分の勉強という観点で言うと短い方がモチベーションを保ちやすいし、自分の成長を実感できるのでオススメという事だね。

仮説を建てる力が身につく

ある程度PDCAサイクルを回す事に慣れて来ると、あまり意識せずに自然にできるようになります。これはサイクルを効率的に回せるようになるという事もありますが、そもそも仮説の立て方が上手になります。つまり、最初からある程度正しい仮説を立てることができるようになります

直接的には知らない新しい事をやる時でも、過去の複数の経験を繋ぎ合わせてある程度予想を立てる事ができます。例えばL3スイッチの設定をやったことが無くとも、L2スイッチとルータをやったことあればある程度想像は付きます。

これと同じように、仮説を立てるというのは過去経験したことの知見が広がるのはもちろんですが、将来的に新しい事に手を伸ばす際のハードルを下げてくれます

本当に何も知らないと想像することすらできないけど、ある程度知ってれば新しい事でも色々予想は付くもんだね。

チャーチルさん

自分で経験したことこそ身に付く

単純に知識を広げるという意味では本やWEBで勉強する方が効率的だと思うかもしれません。それらの方法とどう違うのでしょうか?

本で勉強する場合は基本的に受け身です。つまり、先人たちの「何やかんやあって××を○○して、あーだこーだ・・・」の部分は省略されて体系立てられた結論だけを見るケースが多くなります。もちろん書物としては正しいのですが、やはり結論だけ聞かされると受け身になりがちです。

自分の体験と他人の経験談、どちらが印象に残ってますか?当然前者ですよね。単純に自分自身の経験の方が記憶に残りやすいです。

エンジニアにとって必要なのは知識ではなくスキルです。ここで言うスキルとは、経験やトレーニングを通じて取得する能力のことで実践において実行する力です。何かを設計するにしても、機器の設定をするにしても、トラブルシューティングするにしても毎回一からドキュメントを探してやり方を確認して・・・とやっていては一人前とは言えませんよね。

細かい設定コマンドを全て暗記しろという事ではなく、大まかな流れは頭に入っている、実施内容の特徴やメリット・デメリットを説明できる等々エンジニアとして最低限必要な事は自然にすらすら出てくる位の状態にしておかないと円滑に仕事はできないという事です。

受け身で学んだ事は頭の片隅の知識として眠っているかもしれませんが、いざと言う時に実行できるかというと微妙です。。。感覚的にも自分で経験した事が糧になるというのは分かると思いますが、エンジニアも自分でやってナンボの世界です。自身で経験する→理解する→習得する→いつでも再現できる、このステップを確実に踏んで行くことでスキルとして修めることができます。

ポン先生

自分事として取り組むと真剣に考え悩むし、目で見ただけの情報よりも手を動かした事の方がやっぱり覚えてるよね!

資格ってどうなの?

資格取得については、「資格だけ取っても意味がない」といった意見があると思いますが、このサイトでは基本推奨です。ただし闇雲に取れば良いという訳ではなく、中身の確認は必要です。具体的には以下のようなケースで取得するには良いでしょう。

資格取得(おすすめケース)
  • 自身の業務と関係が有り、体系立てて勉強したい
  • 取得によって基本給アップなど実利やモチベーションアップに繋がる
  • 会社の推奨資格(メーカのパートナー契約で資格保有者何名以上必要など)
  • 難易度が高く取得すれば対外的な権威や案件獲得に繋がる

人によっては、実務で必要になるので先に資格勉強をした、長年実務経験はあり復習的な意味合いで資格取得した、様々な例があります。何れにしても、「業務との関係をはっきりさせる」「仕事にどう活かされるのか」の軸がブレないようにしましょう。この部分がしっかり整理できていれば資格取得は一定の意味を持ちます。

一方で、下記のようなケースはオススメしません。

資格取得(非推奨ケース)
  • 何でも闇雲に取る(いわゆる資格コレクター)

  • 役に立たない資格(あまりにも簡単すぎる、業務に無関係など)

資格取得そのものが趣味で生きがいなんだ!という事であれば良いですが、エンジニア業務へ活かす・勉強のためという目的であれば上記のような取り方は非推奨です。勉強と言っても時間は無限にある訳ではなく何かに集中させる必要があります。何でもかんでも取ったとしても、結局スキルにならず時間や労力だけが無駄になっては意味がないですね。。

資格は取得すること自体も大切だけど、目的意識の部分がもっと重要なんだね。

チャーチルさん

ネットワークエンジニアを目指すならCCNAを取得しよう!

CCNAとはCisco社のメーカ認定資格です。CCNAの取得はネットワークエンジニアの基本的な知識Cisco製品の理解の証明になります。

特定メーカの資格で役に立つの?実際には他メーカの機種も扱うんじゃないの?

チャーチルさん

ポン先生

確かに業務上Cisco以外の機器を扱うことはあるだろうけど、最初にCiscoを勉強しておくと他の機器も理解しやすくなるんだ。

Ciscoは数あるネットワーク機器メーカの内の1社ですがディファクトスタンダードと言われています。つまり業界標準として位置付けられており、他メーカ機種でもCiscoのコマンドライン等を参考にしている事が多いです。そのため初見の機器でもCiscoと設定方法が似ており、「大体は分かる」なんてケースも多々あります。ネットワークエンジニアとしてはCiscoの学習はむしろ必須と言えるレベルでしょう。

また、Ciscoの資格と言っても独自仕様や製品の話だけでなく、ネットワークの一般的な知識も必要です。Cisco製品と言えベースはネットワークの標準規格に基づいて設計されており、CCNA取得でネットワークの一般的な知識も習得可能です。

上記理由からCCNAは非常におすすめの資格です。ネットワークエンジニアとして本格的に活躍したいのであれば是非チェックすべきでしょう。

【CCNAとは】難しい?勉強は?Cisco資格の登竜門 基本解説

まとめ

ポイント
  • エンジニアは知識ではなくスキルが大切

  • 勉強方法の一案:具体的な事案に対し仮説を立て、確認・改善のプロセスを回す

    • 仮説→正しいor間違っているのフィードバックが早い

    • 仮説を建てる力が身につく

    • 自分で経験したことこそ身に付く

  • 資格取得→取っても良いが業務との関係や目的確認が重要

エンジニアは一生勉強です。立場や役割によって要件定義する人や設計する人、実機を設定する人などありますが、どの業務にしても決まったマニュアルを覚えられれば完了という訳ではありません。常に新しい技術や製品は出てくるし、何なら古い技術でも知らないことが出てくることがあります。一方、勉強のやり方はある程度自分にあったテンプレートが見つかればその後も応用が効きます。この記事の内容が全てでは無いですが自分に合った勉強方法や考え方のヒントになれば幸いです。