ネットワークエンジニアがプログラミングを学ぶ際の「おすすめ言語」と「学習方法」について説明します。
ネットワークエンジニアのプログラミングの必要性については、下記を参照して下さい。
ネットワークエンジニアにおすすめの言語
ネットワークエンジニアがプログラミングを学ぶ際におすすめの言語は、「Python」と「JavaScript」です。優先度としては、「Python」→「JavaScript」の順番で学習することをおすすめします。
Python
Pythonがおすすめの理由は、下記の通りです。
- Cisco機器でPythonが動作する
- ネットワークの仮想化や自動化に利用できる
- AWS等のクラウド環境で利用できる
Cisco機器でPythonが動作する
Cisco IOS XE では、Pythonがサポートされています。(Cisco機器上でPythonを動作させることができます。)
下記は、Ciscoのルーター上でPythonを利用してループバックインターフェースを作成している動画です。
ネットワークの仮想化や自動化に利用できる
ネットワークの仮想化(例:SDN/OpenFlow)や自動化(例:Ansible)は、Pythonを使ってコントロールすることができます。
下記は、OpenFlowのコントローラがスイッチをPythonで管理する例です。
コントローラのプログラミング(Python)
HOST1_IPADDR = "192.168.100.1"
HOST2_IPADDR = "192.168.100.2"
if dstip_str == HOST1_IPADDR or dstip_str == HOST2_IPADDR:
self.write_flooding_rule(etherframe, dpid, buffer_id, inport) #条件に合致した場合は、転送を許可する
Ansibleでのネットワーク機器の操作の例は、下記を参照してください。
AWS等のクラウド環境で利用できる
AWS等のクラウド環境では、コードを実行できるサービスがあり、Pythonが利用できます。※AWSでは、Lambda(ラムダ)というサービスで、Pythonを実行可能です。
例として、「LambdaでのPythonコード」と「AWSサービス(S3やEC2等)」を組み合わせることにより、監視システム(自動電話)を構築することができます。
JavaScript
JavaScriptがおすすめの理由は、下記の通りです。
- Webアプリを作成することができる
- Webブラウザがあれば動作する
- HTMLやCSSも併せて学習できる
Webアプリを作成することができる
JavaScriptを覚えると、Webアプリ(ブラウザ上で動作するアプリ/ツール)を作成することができます。Webアプリはブラウザさえあれば動作するため、インストールが不要のツールとして、便利に利用することができます。
本サイトで公開している下記のツールは、IPアドレスとプレフィックス値を入力すると、リアルタイムでサブネットマスクやワイルドカードマスクを計算するツールです。このツールは、JavaScriptのみで作成しています。(HTMLとCSSについては、基本的な知識だけで作成可能です。)
Webブラウザがあれば動作する
JavaScriptは、Webブラウザ上で動作する言語です。
そのため、Webブラウザ(Chrome/Firefox/Edge/Safari等)とテキストエディタがあれば、簡単に開発を行うことができます。
開発を専門としないネットワークエンジニアにとって、開発環境を簡単に構築できることは大きなメリットです。
HTMLやCSSも併せて学習できる
Webアプリを作る際には、見た目を整えるためにHTMLやCSSの基礎知識も必要となります。JavaScriptを学習すると、HTMLやCSSについても調べるため、基礎知識を身に付けることができます。
また、Bootstrap等の装飾技術についても学ぶことができます。
プログラミングの学習パターン
ネットワークエンジニアが、実業務を行いながらプログラミングを学ぶ方法としては、2パターンあります。
- 書籍や動画をベースに独学で学習する
- オンラインスクールで学習する
各パターンの比較
比較項目 | 独学 | スクール |
---|---|---|
到達レベル | :中 | :高 |
費用 | :安い | :高い |
学習期間 | :長い | :短い |
独学の場合の到達レベルを「中」としていますが、大規模なシステム開発ではなく、ツール作成程度であれば、問題なく対応可能です。
書籍や動画をベースに独学で学習する
独学で学習する場合は、以下のステップがおすすめです。
入門用の書籍で基礎レベルの知識を身に付けます。初めてプログラミングを学ぶ場合は、プログラミングの仕組みの説明があり、図解が多いものを選ぶとスムーズに学習を進めることができます。
費用と学習期間の目安
費用:二千円〜四千円
学習期間:1ヶ月
動画を利用してプログラミングの理解を深めます。動画では、実際にプログラムが動いている様子を確認しながら、学習を進めることができます。無料動画は「YouTube」、有料動画は「Udemy」などがあります。
費用と学習期間の目安
費用:無料〜五千円
学習期間:1ヶ月
学習サイトを利用すると、開発環境の構築から簡易的なシステム開発までのプログラミングの過程を経験することができます。有名なサイトとしては、「Progate」や「ドットインストール」があります。
費用と学習期間の目安
費用:千円〜三千円
学習期間:1〜3ヶ月
実践用の書籍で業務で使えるスキルを伸ばします。自身の業務で活用できそうな書籍を選び、実際に業務で利用できるアプリやツールを作成します。
費用と学習期間の目安
費用:二千円〜四千円
学習期間:- ※必要に応じて継続学習
【参考】費用と期間のまとめ
ステップ | 費用 | 期間 |
---|---|---|
書籍(基礎) | 二千円〜四千円 | 1ヶ月 |
動画 | 無料〜五千円 | 1ヶ月 |
学習サイト | 千円〜三千円 | 1〜3ヶ月 |
書籍(応用) | 二千円〜四千円 | ※必要に応じて継続学習 |
オンラインスクールで学習する
オンラインスクールを活用すれば、費用は掛かりますが短期間で体系的に学ぶことができます。
オンラインで学習できるプログラミングスクールであれば、ネットワークエンジニアとしての業務を行いながら、短期間で体系的に学習することができます。
費用と学習期間の目安
費用:二万円〜二十万円
学習期間:1〜3ヶ月
実践用の書籍で業務で使えるスキルを伸ばします。自身の業務で活用できそうな書籍を選び、実際に業務で利用できるアプリやツールを作成します。
費用と学習期間の目安
費用:二千円〜四千円
学習期間:- ※必要に応じて継続学習
【参考】費用と期間のまとめ
ステップ | 費用 | 期間 |
---|---|---|
オンラインスクール | 二万円〜二十万円 | 1〜3ヶ月 |
書籍(応用) | 二千円〜四千円 | ※必要に応じて継続学習 |
おすすめ書籍
基礎・入門編(7選)
Pythonのおすすめ書籍(基礎・入門)
JavaScriptのおすすめ書籍(基礎・入門)
応用・実践編(6選)
Pythonのおすすめ書籍(応用・実践)
JavaScriptのおすすめ書籍(応用・実践)
おすすめ動画
無料動画(YouTube 6選)
PythonとJavaScriptについて解説しているYoutubeチャンネルを6つ紹介します。※各種情報は、2022年10月10日時点の情報です。
キノコード / プログラミング学習チャンネル
- 登録者数:15.9万人
- 動画本数:611本
- チャンネル開設日:2019/8/21
- 対象言語:Python/JavaScript
▼YouTubeはこちら▼
だれでもエンジニア / 山浦清透
- 登録者数:7.98万人
- 動画本数:119本
- チャンネル開設日:2020/6/11
- 対象言語:Python/JavaScript
▼YouTubeはこちら▼
Akichun★PG
- 登録者数:5.98万人
- 動画本数:135本
- チャンネル開設日:2018/11/15
- 対象言語:Python/JavaScript
▼YouTubeはこちら▼
プログラミングアカデミー
- 登録者数:1.78万人
- 動画本数:136本
- チャンネル開設日:2019/11/18
- 対象言語:Python/JavaScript
▼YouTubeはこちら▼
いまにゅのプログラミング塾
- 登録者数:12.5万人
- 動画本数:201本
- チャンネル開設日:2018/9/25
- 対象言語:Python
▼YouTubeはこちら▼
しまぶーのIT大学
- 登録者数:11.3万人
- 動画本数:213本
- チャンネル開設日:2019/10/21
- 対象言語:JavaScript
▼YouTubeはこちら▼
有料動画(Udemy 10選)
※各種情報は、2022年10月10日時点の情報です。
PythonのUdemy動画
現役シリコンバレーエンジニアが教えるPython 3
- 受講者数:98057人
- 動画時間:29時間
- 最終更新月:2022/7
- 定価:¥24,000
\ 評価: 4.5 の動画を確認する /
はじめてのPython 少しずつ丁寧に学ぶプログラミング言語Python3のエッセンス
- 受講者数:15992人
- 動画時間:4.5時間
- 最終更新月:2022/9
- 定価:¥15,000
\ 評価: 4.2 の動画を確認する /
【完全初心者向け】絶対に挫折させないPython入門講座
- 受講者数:5077人
- 動画時間:10時間
- 最終更新月:2020/12
- 定価:¥10,000
\ 評価: 4.2 の動画を確認する /
独学で身につけるPython〜基礎編〜【業務効率化・自動化で残業を無くそう!】
- 受講者数:10685人
- 動画時間:6.5時間
- 最終更新月:2022/10
- 定価:¥7,500
\ 評価: 4.5 の動画を確認する /
独学で身につけるPython〜Excel自動化編〜【業務効率化・自動化で残業を無くそう!】
- 受講者数:102人
- 動画時間:4時間
- 最終更新月:2022/10
- 定価:¥6,100
\ 評価: 5.0 の動画を確認する /
爆速で5つのPython Webアプリを開発
- 受講者数:11680人
- 動画時間:11時間
- 最終更新月:2022/1
- 定価:¥23,000
\ 評価: 4.4 の動画を確認する /
JavaScriptのUdemy動画
ちゃんと学ぶ、HTML/CSS + JavaScript
- 受講者数:47244人
- 動画時間:9時間
- 最終更新月:2021/1
- 定価:¥24,000
\ 評価: 4.4 の動画を確認する /
はじめてのJavaScriptプログラミング入門【2022年最新版】
- 受講者数:4775人
- 動画時間:6時間
- 最終更新月:2022/10
- 定価:¥2,440
\ 評価: 4.3 の動画を確認する /
実例でわかる JavaScript 初心者講座
- 受講者数:8451人
- 動画時間:8.5時間
- 最終更新月:2020/5
- 定価:¥10,000
\ 評価: 4.2 の動画を確認する /
【JavaScript&CSS】ガチで学びたい人のためのWEB開発実践入門(フロントエンド編)
- 受講者数:32944人
- 動画時間:24.5時間
- 最終更新月:2022/8
- 定価:¥10,000
\ 評価: 4.6 の動画を確認する /
プログラミング学習サイト
Python/JavaScript共通(3選)
Progate
- 学習方式:スライド形式
- プログラミング環境:ブラウザ上でのプログラミング
- 利用料金:¥1,078(月額)
- 無料会員:あり
▼公式サイトはこちら▼
ドットインストール
- 学習方式:動画形式
- プログラミング環境:ブラウザ上でのプログラミング ※一部は、開発環境を構築する必要あり
- 利用料金:¥1,080(月額)
- 無料会員:あり
▼公式サイトはこちら▼
paizaラーニング
- 学習方式:動画形式
- プログラミング環境:ブラウザ上でのプログラミング
- 利用料金:¥1,078(月額) ※¥4,488(6ヶ月プラン)/¥7,200(12ヶ月プラン)
- 無料会員:あり
▼公式サイトはこちら▼
Python特化(2選)
PyQ
- 学習方式:テキスト(参考書)形式
- プログラミング環境:ブラウザ上でのプログラミング
- 利用料金:¥3,040(月額)
- 無料会員:なし ※キャンペーン期間中は無料体験あり
▼公式サイトはこちら▼
キノクエスト
- 学習方式:問題集形式
- プログラミング環境:ブラウザ上でのプログラミング
- 利用料金:¥1,990(月額)
- 無料会員:なし
▼公式サイトはこちら▼
オンラインスクール
定額制(払いきり 2選)
TechAcademy
- 学習期間:4週間〜
- 推奨コース:Pythonコース、フロントエンドコース(JavaScript含む)
- 費用:¥174,900〜
- 無料体験:テックアカデミーの無料体験へ
▼公式サイトはこちら▼
月額制(サブスク 2選)
CODEGYM Monthly
- 学習期間:オーダーメイドでカリキュラムを設定
- 推奨コース:ライトプラン
- 費用:¥24,970(月額/ライトプラン)〜
- 無料体験:入会金が無料になる無料相談あり
▼公式サイトはこちら▼
侍テラコヤ(SAMURAI TERAKOYA)
- 学習期間:講師と相談して学習プランを設定
- 推奨コース:ライトプラン、ベーシックプラン
- 費用:¥1,980(月額/ライトプラン)、¥3,480(月額/ベーシックプラン)
- 無料体験:あり(1ヶ月の返金保証)
▼公式サイトはこちら▼
インフラ設計・構築からシステム開発までを対応できるエンジニアを「フルスタックエンジニア」と呼ぶことがあります。ネットワークエンジニアのキャリアパスについては、下記を参照してください。