エンジニアの成長

未経験エンジニアのための成長ロードマップ【キャリア20年の現役SIer部長が贈る】

2020-08-23

悩める人
悩める人
・まだ駆け出しエンジニアですが、何をどのように勉強していけばいいの?
・どんな分野でも一万時間頑張れば一流になれると言いますが、3年ちょっとで一流になれる?

この記事はこういった人のために書きました。

 

  • この記事でお伝えしたいこと
  • エンジニアの成長ロードマップについて
  • 未経験期にやるべきこと
  • 駆け出し期にやるべきこと
  • 一人前になったらやるべきこと

 

  • この記事を書いている僕はこんな人です

新卒でIT業界に入り、2度の転職を経て一部上場の大手SIerで部長として働いています。
キャリアは20年で、C言語のプログラマーから、インフラエンジニア、ITアーキテクト、PMを務め、現在は人材育成の施策に携わる傍ら、新卒・中途採用の面接官も務めています。
これまで、何百人ものITエンジニアと仕事を共に、数多くの新卒・転職希望者と採用面接を通じて接してきました。

 

この記事では、未経験や駆け出しエンジニアの方を対象に、エンジニア成長ロードマップを使って、業務の中と外で何をどのように勉強し、取り組んでいけばよいか詳しく解説します。

 

結論から言うと、ITエンジニアが一人前になるまでには3年から5年はかかります。また、ITスキルも大事ですが、ビジネスマンとしての成長が重要です。
ヤマダ
ヤマダ

この記事は、全てのエンジニアに当てはまる話ですが、SIer、SESのエンジニア向けに作っています。

現在駆け出しエンジニアの方や、IT業界、特にSIerかSESへの就職・転職を考えている方は、ぜひ最後まで読んでみてください。

 

未経験から一人前エンジニアへの成長ロードマップ

まずはこの図を見てみてください。

ITエンジニアが一人前になるまでには3年~5年は必要です。

エンジニアが身に付けるスキルはとても多く、全てを一人前と認めてもらえるようになるまでは、どうしてもそのくらいの時間がかかります。

この図では、左側に「やるべきこと」を並べ、右側にその結果「得られるもの」を書いています。

「得られるもの」とは、エンジニアとしてのスキルもあれば、個人としてのブランド力や人脈なども含まれます。

矢印を追っていけば、「やるべきこと」を積み重ねた結果、様々なスキルや強みを得られ、ひとりのエンジニアとしてのブランド力やプレゼンスが上がり、一人前として巣立っていけることがわかるようになっています。

 

では、それぞれの「やるべきこと」について詳しくお話していきます。

 

未経験エンジニアがやるべきこと

未経験期とは、まさにこれからIT業界に飛び込もうとしている学生さんや、未経験からIT業界へ転職しようとしている方がエンジニアになるための準備をする期間のことを指します。

実は、未経験期にどれだけ準備を積み重ねたかで、エンジニアになってから楽しく、充実した日々を過ごせるかどうかが決まると言っても過言ではありません。

  • やるべきこと
  • ブラインドタッチの習得
  • Officeを使いこなす!
  • EXCELマクロの習得

ひとつずつ解説していきます。

 

ブラインドタッチの習得

この記事を読んでいるあなたは、既にブラインドタッチができるかもしれません。

もし、ブラインドタッチができない、もしくは苦手という場合は、この期間に徹底的に練習してキーボードを一切見なくても文章が書けるようにしてください。

エンジニアにとってパソコンは道具であり、キーボードはペンとノートと同じです。

エンジニアは業務の中でとても多くの文章を書きます。

キーを打つのが遅いとそれだけ業務に時間がかかることになりますし、そもそも道具に振り回されていると仕事が楽しくなくなります。

僕も、文系からIT業界に飛び込みましたが、学生のうちに徹底的にブラインドタッチの練習をして、キーを打つスピードだけは誰にも負けないくらいのレベルまで上達しました。

その結果、メールや文章を書くスピードがとても速くなり、同僚と同じ作業をしても速く終わるので仕事のスピードが上がるということを実感できました。

 

  • 得られるもの
  • PCのツール化(PCを自分の道具・ツールとして使えるようになる)

 

Officeを使いこなす!

Officeとは、Microsoft Officeのことで、EXCEL、Word、PowerPointの3つのソフトウェアのことを指します。

この3つもエンジニアにとっては道具です。

特にEXCELは駆け出しエンジニアになってすぐに業務で使うことになります。

昔はそうでもありませんでしたが、最近の新人エンジニアはほぼ問題なくEXCELを使いこなします。

もし、あなたがまだEXCELを未経験だったり、苦手意識があるなら徹底的にやり込んで覚えてください。

ネットで検索するとEXCELの使い方を解説したサイトはいくらでもありますので、そこで解説されている内容を真似て実際にEXCELでやってみる方法がオススメです。

表計算のやり方や、図形やグラフの書き方、基礎的な関数、図形の書き方などは確実にマスターしておきましょう。

  • 得られるもの
  • EXCELのツール化
  • Wordのツール化
  • PowerPointのツール化

 

EXCELマクロの習得

3つ目はEXCELマクロの習得です。

ちょっと意外に思いましたか?

EXCELマクロとは、EXCEL上での作業を記録し、自動的に実行してくれる機能のことで、EXCELにデフォルトで備わっています。

VBA(Visual Basic for Applications)というプログラミング言語を記述することで作ることができます。

マイクロソフトが1990年代に開発していた汎用プログラミング言語Microsoft Visual Basicを、同社製品のMicrosoft Officeに搭載したものがVBAである。VBAを使用することで、ExcelAccessWordOutlookPowerPointなど、Officeのアプリケーション・ソフトウェアの機能をカスタマイズしたり、拡張したりすることができる。

出典:Wikipedia

このように、EXCELだけでなく、Office製品すべてに備わっている機能です。

 

しかし、なぜEXCELマクロなのか?

それには2つの理由があります。

 

  • 【理由その1】プログラミングの勉強になる

VBAは簡易的なプログラミング言語で、プロのエンジニアからすると「あんなの言語じゃない」と思うかもしれませんが、もともとがVisual Basicという実務で使う立派な言語をベースにしているため、「順次」「分岐」「反復」というプログラミングの大原則となる命令もしっかり備わっていますし、デバッグもできます。

しかもネットにいくらでも情報が載っているため、未経験者が最も学びやすい言語でもあります。

そして、マクロを実行するとEXCELが実際に動作するため、プログラムの動作を目で見える形で追うことができ、どのように動いているのかがわかりやすいという初心者にとって大きな利点があります。

 

  • 【理由その2】業務効率化にとても役に立つ

前述したとおり、EXCELはエンジニアになってすぐ使うことになります。

実際の開発プロジェクトでも使いますし、社内業務でもよく使います。

新人は結構EXCELで作られたいろいろな管理簿とか帳票の管理を任されることが多く、色々なファイルを読み込んで一行ずつ、1セルずつ転記したりと、結構地味でめんどくさい作業になることが多いです。

そういうとき、EXCELマクロを使ってファイルの読み込みや転記を自動化するようなツールを作ると、仕事が早く終わります。

「EXCELマクロで効率化しちゃいました」と先輩に言うと「こいつデキるな?」と思ってもらえるでしょう。

 

この本のように、例題がたくさん掲載されている本の通りに実際にEXCEL上でコピーして動かしてみるのが上達の近道です。

 

  • 得られるもの
  • プログラミングスキルの基礎
  • 面倒な業務を効率化できるようになる

 

駆け出しエンジニアがやるべきこと

駆け出し期とは、エンジニアになった直後から3年、人によっては5年くらいの期間を指します。

この記事は、その駆け出しエンジニアのために書いた記事です。

この期間で、あなたがエンジニアとして適性があるかどうかがわかり、また、一人前エンジニアになるために数多くの成果やスキルを積み上げる重要な期間です。

この期間の学習の仕方だけでなく、他のエンジニアに差をつけるために、日々の業務にどのような姿勢で取り組めばよいかについてもお話します。

 

ビジネスポートフォリオの積み上げ

ビジネスポートフォリオって何?と思われたかもしれません。

これは僕が作った造語で、エンジニアというよりビジネスマンとして何ができるのかを示すもので、非常に細かな作業もポートフォリオに含めます。

電話の取次ぎやコピー取りなどの雑用と呼ばれるようなものや、議事録取り、報告書の作成などの細かなドキュメンテーション、先ほどお話したEXCELマクロのツール作りや社内用のサーバー管理、など技術を要するような作業まで様々です。

ビジネスポートフォリオの例

  • 電話の取次ぎ
  • 議事録作成
  • プロジェクトメンバーの稼働時間の記録・管理
  • 発注処理・納品処理
  • 他部門への問い合わせ(人事・総務・法務などの管理系、他の開発部門など)
  • 社外への問い合わせ(お客様、取引ベンダなど)
  • 社内サーバー管理
  • ツール作り(EXCELなど)

 

つまり、システム開発以外の業務すべてを指します。

このように、直接エンジニアのスキルアップにつながらないような作業はやりたがらない人が多いです。

実はこれがチャンスで、こういう作業についても本気で取り組み、エンジニア業務と同じクオリティで成果を出せる人は非常に重宝され評判が上がります。

また、ひとつひとつ小さな成功体験を積み上げることは、ビジネスマンとして大きな自信にもつながり、やれることのスケールがだんだん大きくなっていきます。

ぜひ、どのような小さな細かな作業でも、全力で取り組んで完璧なアウトプットを出していきましょう。

 

いくつか重要なものを紹介します。

 

  • 議事録取り

議事録取りは駆け出しエンジニアの大きな仕事の一つになります。

最初の頃は何話してるかわからないし、眠くもなりますが、ここは踏ん張りどころです。

議事録は、1時間、場合によっては2時間3時間とかかる会議の要点と決定事項、宿題事項を整理して文書にするもので、これがきちんとできるようになると、物事の無駄を省き要点だけを抽出できるサマライズ能力が付きます。

エンジニアとしても、ビジネスマンとしても、サマライズ能力は非常に重要で、これが出来ないと役職を上げることは難しいでしょう。

 

  • 他部門への問い合わせ(人事・総務・法務などの管理系、他の開発部門など)

エンジニアは人事や総務、法務などの知識がないので、契約や発注などするときは頻繁に管理部門に問い合わせを行います。

また、専門外の開発スキルが必要なときは、その専門の部門へ問い合わせをすることもあります。

これは積極的にやりましょう。

社内で人脈を増やすことは、自分の仕事の幅が広がるのと同じで、長い目で見て非常にプラスに働きます。

社内のルールや決まりごとに精通してくると、同じ部門内で重宝されます。「あいつに聞けばそれ全部わかるよ」みたいな存在になってきます。

特に法務系の知識が付いてくると、それは将来的に自分の武器にもなります。

 

  • 社外への問い合わせ(お客様、取引ベンダなど)

発注や契約などで、取引先の企業やお客様の関係者に問い合わせなどを行ったり、その逆で問い合わせが来ることも多々あります。

これも積極的にやりましょう。

社内以上に、長い目で見ると社外の人脈は重要です。

付き合いの長いベンダを作っておくと、業界や技術の最新情報が入ってきたり、同じ業界のお客様の動向がわかったりもします。

これは先々、ビジネスにつながることもありますし、常に自分の頭の中をアップデートできるため、大変オススメです。

また、お客様の管理部門と仲良くなると、どのようなルールでお客様が動いているのかがわかり、開発プロジェクトにおいても先回りして動くことができるので、非常に重要です。

 

 

こうした開発業務以外の仕事でも全力で取り組んでいくと、3年~5年するころには「あいつは色んなことを知っている」「あいつはどんな作業でもクオリティが高い」という評価に変わり、それが自分のブランド力となり、チームや社内でのプレゼンス向上にもつながります。

  • 得られるもの
  • サマライズスキル
  • コミュニケーションスキル
  • ドキュメンテーション(文章)スキル
  • 社内外の人脈
  • 自分のブランド力・プレゼンス(存在感)

 

エンジニア業務の積み上げ

これは、あなたがエンジニアとして行う開発作業だったり、保守作業そのものを指します。

こればかりは、どのような業務になるかかわかりません。

特にSESは「案件ガチャ」と言われるように、アサインされる開発案件によってエンジニアとしての成長度合いが大きく違ってきます。

きちんと設計、プログラミングができる案件もあれば、何年もテストだけしかやらないという案件もあります。

ひとつだけ心がけていきたいのは、一見単調で退屈に見える作業でも、必ず目的があります。

その作業の目的を必ず理解してください。

テストだったら、どのような品質を確認したいから、一見すると無駄に見えるこのテスト項目を行うのか?というような思考を巡らせる癖をつけましょう。

そのような姿勢で取り組むと、必ず得られるものがあり、自分のエンジニア能力が積みあがっていきます。

  • 得られるもの
  • ひとつひとつの作業の目的と意義
  • 断片的にエンジニアとしての知識がつく

 

プログラミング(独学)

開発系のシステムエンジニアも、インフラエンジニアも、プロジェクトマネージャーでも、プログラミングはずっと続けてください。

日曜大工で構いませんので、常にコードに触れていることはエンジニアとして何歳になっても重要です。

案件でプログラミングを経験できる人も、できれば、業務外で独学で勉強することをオススメします。

業務で作るプログラムは、どうしてもシステムの機能を実現するための細かい部品であることが多く、単調で誰にでもわかりやすく作られた面白みのないコードになりやすいです。

ゲームプログラムでも、スマホアプリでもいいですが、何か作って面白いプログラムを業務とは別に作ってみましょう。

スーパープログラマーになる必要はありませんが、プログラミング技術の幅を広げることは、自分の実力の幅を広げることになりますし、副業にも活かせるようになります。

  • 得られるもの
  • プログラミングスキル

 

検証環境構築+検証作業

これはインフラエンジニアになる人向けです。

インフラエンジニアは、仕事柄、サーバーやネットワークなどのシステムのインフラ(基盤)を扱います。

インフラの技術は専門性が高く、覚える知識の幅も広く、大変難しいです。

しかも、サーバーの上に乗せるデータベースやWebアプリケーションサーバなどの「ミドルウェア」と呼ばれる製品は数も多く、実は内部処理が非公開であることが多く、どのように動くのか製造元もよくわかってない場合があります。

そのために機能がどう動くのか検証するために、専用の環境を作って、実際に動かして動作を確かめるという作業があり、インフラエンジニアは若手がこれを行うことが多いです。

インフラを覚えるには、自分の手で作って動かすことが一番の近道です。

業務でもやることが多い作業ですが、できれば自宅に小さなサーバーを置いたり、ラズベリーパイでもいいですが、自宅で自由に使える環境があると、インフラエンジニアとして実力を高めるためにオススメです。

家にそんなもの置きたくない場合は、クラウドも良いです。

AWSやAzureなどまだまだ使いこなせる人が少ないので、今のうちに経験して腕を磨いておくと市場価値の高い人材になれます。

  • 得られるもの
  • 実務に役立つ製品知識
  • クラウドなど将来的に市場価値の高い人材になるための知識

 

情報処理の勉強+資格取得

これは開発系システムエンジニアも、インフラエンジニアも必ず通る道です。

SIerでもSESでも、システム開発プロジェクトに参画するために資格条件を求められることが多いです。

政府・公共系の案件などはほぼ100%資格要件があります。

エンジニアは常に勉強しつづけないとついていけなくなる職業です。

 

TCP/IPの勉強

情報処理といっても非常に知識の幅が広いのですが、まずはTCP/IPを学んでください。

これは、ネットワークに携わるインフラエンジニアだけでなく、エンジニア全員が必須で持っているべき知識・スキルです。

プログラマーでも、ソケット通信というTCPを使った通信を行うプログラムを書くことも多いです。

このTCP/IPの知識があるとないとでは、プログラムの理解度も違います。

また、TCP/IPはこれからも変わることのない普遍的かつ本質的な技術で、コンピューターの原理原則のひとつです。

IT業界は次々に新しい技術が出てきますが、全て原理原則の技術を応用したものです。

エンジニアとして、このような原理原則の知識を持つことは、今後新しい技術に対してもキャッチアップするために必要なことなのです。

 

エンジニアが全員読んで理解するべき必携の1冊です。

僕も新人時代は穴が開くほど読みました。

20年以上前から存在し、アップデートを重ねている伝説的な技術書です。

 

情報処理技術者試験

どうしても開発現場の経験で覚えられる知識は断片的で偏りがちです。

その断片と偏りを補って、ITの知識ととシステム開発の方法論を網羅的かつ体系的に身に付けるには情報処理試験の内容が最適です。

できれば、駆け出しエンジニアのうちに、下記の資格は持っておきましょう。

ITパスポート試験という簡単な試験もありますが、ほとんど評価されないので、まずは基本情報技術者を勉強しましょう

駆け出しエンジニアにオススメの資格

  • 基本情報技術者(駆け出し1年以内)
  • 応用情報技術者(駆け出し3年以内)

 

ベンダー資格

これはインフラエンジニア向けです。

インフラエンジニアはどうしてもハードウェア、ソフトウェア両方の製品固有の知識が必要です。

まずはLinuxのコマンドを覚えることがとっかかりですが、インフラの作業に慣れてきたら、下記二つの資格を取得することをオススメします。

駆け出しエンジニアにオススメの資格

  • LPIC(Linux Professional Institute)
  • CCNA(Cisco Certified Network Associate)

LPICはLinux OSの技術者としての技能を認定する、世界中で実施されている標準的な試験です。

レベルが1から3まであり、LPICはレベル1からレベル3まで実施されており、レベル3にもなると、Linuxのプロフェッショナルと名乗ってもよい資格です。

CCNAは世界最大手のネットワーク関連機器メーカーであるシスコシステムズ社が実施する、ネットワークエンジニアの技能を認定する試験です。

 

先ほど解説したTCP/IPのところでも言いましたが、ネットワークの技術と、このOSの技術は、古くから変わらない普遍的な技術であり、これからも変わることはないコンピューターの原理原則であると断言できます。

 

翔泳社のこのシリーズは最も定番です。

実機を触って覚えることと、書籍から体系的に学ぶことの両面から学習することがオススメです。

 

  • 得られるもの
  • 新技術に対応できるエンジニアになるためのコンピューターの原理原則
  • 網羅的・体系的なエンジニアリングの知識
  • 網羅的・体系的なインフラ製品知識

 

おすすめ書籍

これまでお話した内容も含め、駆け出しエンジニアにオススメの書籍を紹介します。

技術の領域別に、おすすめの経験年数についても記載していますので、自分自身の経験・レベルにあった一冊を見つけることが可能です。

よかったらぜひ読んでみてください。

合わせて読む
エンジニア初心者が読んでおきたいおすすめの本13選【キャリア20年のSIer管理職が推薦】

悩める人・システムエンジニアになりたいのですが、読んでおくべき本はある? ・新人エンジニアですが、今のうちに読んでおくべき本があれば教えてほしい ・エンジニアの本が多すぎてどれを選べば良いかわからない ...

続きを見る

合わせて読む
インフラエンジニアが読んでおきたいおすすめの本20選【キャリア20年のインフラエンジニアが推薦】

悩める人・駆け出しのインフラエンジニアですが、今のうちに読んでおくべき本があれば教えてほしいです ・インフラ関連の本が多すぎてどれを選べば良いかわかりません この記事はこういった人のために書きました。 ...

続きを見る

 

一人前になったらやるべきこと

これまでお話したことを実行し、3年から5年の経験をつむと、そろそろ一人前のエンジニアと呼んでもいいでしょう。

人によっては、5年などまだまだ若手!エンジニアの世界はこれから!と言う人もいるかもしれません。

まあ実は僕もそう思いますが、ここまで業務の中でも、業務の外でも努力を積み重ねてきた人にはある程度大きなかたまりの仕事を任せてもよいでしょう。

 

ある程度大きな仕事を任せてもいいと思えるようになれれば、そのエンジニアは一人前です。

あとは、これまで通り、業務の中でひとつひとつの仕事を大事にし、日々新しい知識を業務の外でも取り入れるようにしてください。

 

情報処理の資格は引き続き勉強することをオススメします。

一人前と呼ばれるには、高度な知識・技能を証明する、システムアーキテクトやネットワークスペシャリストなど、高度区分の資格にチャレンジしたり、CCIEなど、インフラ系の高度な資格を取得するのも良いでしょう。

あとは、さらに専門性を高めるとともに、お客様とのコミュニケーションを通じて、「お客様の立場に立てるエンジニア」を目指してください。

 

これが本当に難しく、僕も未だにお客様からお叱りを受けることもあるくらいなので、まだまだエンジニアの道は長いということですね。

 

まとめ

未経験者や、駆け出しエンジニアの成長について、ロードマップを使って解説しましたが、いかがでしたでしょうか。

エンジニアの業務内容は非常に範囲が広く、それを網羅的に身に付けることは難しいです。

なので、業務の中でも業務の外でもなるべく学ぶ機会を増やしていくことが必要です。

また、エンジニアである前に、ビジネスマンであるという認識を持ってください。

ビジネスマンとしてできることを増やせる人は、社内でブランド力が上がり、プレゼンスも向上します。

そういう「できる事」=「ポートフォリオ」が多い人材は、結果としてエンジニアとしての成長にもつながります。

 

この記事を読んで、少しでも未経験者や駆け出しエンジニアのみなさんの勉強の参考になれば嬉しいです。

  • この記事を書いた人

ヤマダヒロタカ

インフラエンジニア/ITアーキテクト/プロジェクトマネージャ。 SESのエンジニアから2度の転職を経て、現在某SIerにて技術系組織のマネージャーを務める。

-エンジニアの成長

© 2021 YAMADA BLOG