どうも、オカダです。
私は普段フリーランスエンジニアとして、ネットワーク業界に身を置いておりまして、いわゆるネットワークエンジニアをしております。
関連記事
ネットワークエンジニアをしている人は基本的にプログラミングしないのが普通です。
いや、むしろプログラミングできません。(笑)
畑が違いすぎるので・・・餅は餅屋でネットワークの事はネットワークエンジニアが、サーバの事はサーバエンジニアが、プログラミングの事はプログラマがやる。
という感じで役割が完全に別れてます。
家を建てるのに、大工さんだけではなく、基礎屋さん、設備屋さん、屋根屋さん、内装屋さんなどそれぞれ専門家がいるのと同じですね。
ネットワークやサーバのエンジニアは総称して「インフラエンジニア」と呼ばれたりしますが、企業ではインフラエンジニアの中でもネットワークとサーバのエンジニアは別々の人が担当していたりします。
インフラエンジニアは基本プログラミングはしないのですが、近年プログラミングのスキルが色々なところで求められるようになってきているのも事実です。
ここ数年でフリーランスエンジニアも増えてきてますが、その中でも一番需要があるのがプログラミングのスキルです。
ただ実態として、ネットワークエンジニアにプログラミングのスキルが必要かと言われると、今の所必要ないです。
ちなみに、IT業界をあまり知らない方がイメージするシステムエンジニアのイメージってほとんどプログラマなんじゃないですかね?
「お仕事は何してるんですか?」と聞かれて、ネットワークエンジニアです。と言ってもほとんどの方がイメージできません。
目次
ネットワークエンジニアって何なの?
ネットワークエンジニアとは、携帯電話やPC、タブレットなどの端末をインターネットや企業にある社内ネットワークに繋げられるようにするため、ルータやスイッチなどの機器を設計したり、LANケーブルを配線したりといった作業をする仕事です。
ネットワークがあるおかげで、インターネットの閲覧やメール、Youtubeやスマホのアプリが使えたりするわけです。
これだけ聞いてもネットワークエンジニアって実は超重要な仕事だということが分かりますね。
ネットワークやサーバは繋がって当たり前なものだと思われがちなので、地味なように思いますが、ITインフラとして非常に重要なものですので、これからも無くなる事はない技術ですし、職業としてもこれからも必要なものだと考えられます。
そして、ネットワークエンジニアの仕事は主に以下のように分類されます。
- ネットワーク提案
- ネットワーク設計
- ネットワーク構築
- ネットワーク監視・運用
- ネットワーク保守
もうちょっと詳しく解説していきます。
ネットワークエンジニアの仕事内容
ネットワーク提案
ネットワークの提案に関しては、企業によっては営業が中心で進められることもあるかと思いますが、営業はそこまで技術的に詳しくないので、「プリセールスエンジニア」というエンジニアでありながらお客さんのフロントに立って提案活動をするエンジニアもいたりします。
まさに私はこのプリセールスエンジニアとして、ネットワークエンジニアの仕事をしています。
お客様から頂いた要件をまとめて、提案書や見積書を作成して提案を行ったり、そこから設計・構築を担当することもあります。
「ネットワークエンジニア」という単語だけでいうと、提案をメインで行う「プリセールスエンジニア」は切り離して考える事が多いかもしれません。
ネットワーク設計
ネットワークの設計に関しては、お客様から頂いた要件を元に、どんなネットワークの構成・デザインにするか、ネットワーク機器は何を使うか、ネットワーク機器の設定や、物理的な配線はどうするかなどをまとめた設計書を作成して、設計を行います。
机上だけで資料作成をすることもありますし、実際のネットワーク機器を使って、コンフィグを作成して通信を流して検証したりという作業も行って、きちんと繋がるように設計する事が主な仕事です。
ネットワークの設計は全ての工程の中でも一番重要で、構築されて本番環境に入ったネットワークが運用フェーズに入った際、トラブルが発生しないように物理的にも論理的にも様々なことを考慮して設計する必要があります。
一番面白いところでもありますし、難しくて悩むところでもあり、やりがいは非常にある仕事です。
ネットワーク構築
ネットワークの設計書に基づいて、ルータやスイッチなどのネットワーク機器の運搬と設置、ケーブルの配線、機器の設定などを行い、通信の到達性を確認するのが主な仕事です。
基本的には設計書や作業手順書の通りに作業を行っていきますので、設計の段階でトラブルが発生しないように検討する必要があるのですが、いざ構築作業時に想定外のトラブルが発生した際には現場でトラブルシューティングを行うので、知識や経験を沢山積んでおく必要があります。
設計の段階で完璧に仕上がっていれば、予想以上に早く作業が終わってしまうなんてことも良くあるので、やはりネットワークは設計が非常に重要です。
ネットワーク監視・運用
構築されたネットワークを日々監視して、突然ネットワーク機器が故障して繋がらなくなったり、トラブルが発生してネットワークに不具合が発生した際のトラブルシューティングなどを行うのが、ネットワーク運用・監視の仕事です。
ネットワークの設計と構築は行うけど、運用はお客様にお任せ。というパターンも良くありますが、ネットワークの知識が全くないというお客さんも普通にいます。
また、運用している中でネットワークの要件が変わる事も多々あるため、その場合はネットワーク機器の設定を変更したり、設計書や運用ドキュメントを更新したりという作業も発生するので、最新の状態を維持するためにもネットワーク運用は非常に重要な仕事です。
ネットワーク保守
ネットワーク保守は運用と同じような意味合いで使われることもあるのですが、基本的に「保守」というとネットワーク機器の保守契約を指します。
保守はほとんどの場合は、機器メーカーやベンダが提供する保守サービスを契約して、機器故障が発生した場合に交換用の機器を持ち込んでもらって交換してもらいます。
この時に、最新の設定内容が反映されているコンフィグファイルなどの資料を保管しておく必要があるので、ネットワーク運用がいかに大切かという事がわかります。
また、保守契約を結んでいない場合は予備機などを購入して、管理者が自分で交換する必要があるので、この場合もある程度の知識やスキルが必要となります。
ネットワークエンジニアの年収
ちなみに、ネットワークエンジニアの平均年収は転職サイト「doda」によると、451.5万円だそうです。
出典:doda
私は大学を卒業して新卒で入社した会社が年収500万円程度でしたので、平均よりは少し高めですね。
その後派遣エンジニアで600万円、フリーランスで950万円オーバーと来ていますので、なかなか良い感じで収入アップに成功していると思います。
ですので、こちらの記事でも書きましたが、ネットワークエンジニアの収入アップ最短コースとしては、CCNA取得→正社員(または派遣社員)として経験値を積む→フリーランスエンジニアとして収入爆増という道のりがおすすめです。
その後はフリーランスエンジニアを続けても良いですし、正社員として高収入な会社に転職しても良いと思います。
ネットワークエンジニアにプログラミングスキルは必要?
長々とネットワークエンジニアの仕事内容について書いてきましたが、ここまで見て頂いて分かる通り、プログラミングのスキルは基本は必要ではありません。
ただし、ある程度ネットワークの作業を自動化するためにスクリプトを書いたり、マクロを組む時があるので、その場合プログラミングのスキルがあると役に立ちます。
私の場合は、業務でExcelでマクロを作成した事がありますが、ネットワーク構築に関係した仕事ではありませんでした。一応学生時代に勉強したVBが少し役に立ちました。
また最近では、ネットワークの仮想化技術が進歩したり、クラウドサービスが増えているので、どちらかと言えばハードウェアに関する知識よりもソフトウェアの知識が必要になっているため、プログラミングのスキルがあると有利である事は事実です。
結局ネットワークエンジニアに必要なスキルは何か
結局のところ、ネットワークエンジニアとして活躍するために必要なスキルですが、まずは大前提としてネットワーク全般の知識が必要です。
とりあえずの第一歩としては、CCNA取得を目指すのが一番手っ取り早くておすすめです。
ネットワークの基礎知識も手に入りますし、何よりも世界中で一番シェアが大きいCiscoの機器を使えるようになりますので。
さらに技術力や知識レベルを上げたいという人は、CCNPも取得するとなお良しという感じです。
個人的には、CCNA取得レベルまで行けたら、さっさと現場で仕事をして、実際に経験値を貯めたほうが良いと思います。
その後の収入アップに向けた転職や、独立も結局は経験がモノを言いますからね。これは私の実体験からしても本当にそうです。
それから、できれば実務では提案・設計・構築〜運用保守まで全てを経験したほうがより良いと思います。
希望するポジションになれない可能性はもちろんありますが、それぞれのポジションや業務内容を把握する事で、運用フェーズで必要なことを考慮した設計にしたり、作業のしやすい設計書や物理的な機器の配置、ケーブリングなどを考えられる思考になりますので、できる限り色々なポジションを経験してください。
なんだかんだ言っても、最強のスキルはコミュニケーション能力だと思います。
散々色々語ってそれかよ!
というツッコミもあるかと思いますが、提案〜運用まで色々なポジションで色々な人が仕事に関わっているため、それぞれ担当する人とのコミュニケーションは必要不可欠です。
全てを上手く潤滑に業務を進めていくためには、それぞれのポジションや業務を体験し、さらにこまめにコミュニケーションを取ることでプロジェクトをキレイに進めて完了に導けると思っています。
これは後々、プロジェクト全体をマネジメントするようになった際にも必要なスキルにもなるので、ぜひ自分からコミュニケーションして素晴らしいネットワークエンジニアとして活躍してください。