「独学でもサーバーエンジニアになれる?」
「どうやって学習すればいい?」
「独学のポイントがあれば知りたい」
サーバーエンジニアに興味があるものの、独学でもなれるのか、どう学習すればいいのか、悩んでいないでしょうか。
学習サービスがたくさん存在するプログラミングと比べ、サーバーエンジニアになるための教材はまだまだ少ないです。
独学すれば費用をおさえられますが、挫折しやすいのも事実。
正しい学習方法を知って、なるべく効率的に身につけたいですよね。
そこでこの記事では、フリーランスエンジニアの私が
- 独学でサーバーエンジニアになるための3ステップ
- 身につけるべき知識
- 独学のメリット・デメリット
- おさえておくべきポイント
を紹介します!
結論、独学でもサーバーエンジニアになれます。
サーバーエンジニアに必要な知識、独学のメリット・デメリットを理解したうえで、正しい方法で学習を進めることが大切です。
この記事を読めば、独学でサーバーエンジニアになる方法がわかるはず。
ぜひ参考にしてみてください。
サーバーエンジニアとは
サーバーエンジニアとは、サーバー周りの業務を担当するエンジニアのことです。
- 設計
- 構築
- 運用
- 保守
の全体を担います。
サーバーとは、利用者の要求に対してデータを提供するコンピュータやプログラムのこと。
ネットを通じてパソコンで何か操作をする場合、サーバーとのやり取りが行われています。
たとえば私たちがWebサイトを見る際、以下のようなサーバーが動いています。
サーバー名 | 役割 |
Webサーバー | 利用者からのリクエストに応じて、Web上のデータを送り返す |
ファイルサーバー | ネットワーク上でファイルの共有・利用を行えるようにする |
データベースサーバー | データの管理を行う |
アプリケーションサーバー | Javaやphpなどのプログラムを実行して結果を返す |
「Webサーバー」「ファイルサーバー」などのサーバーは、元から用意されている訳ではありません。
コンピューターに対して「Webサーバー」という役割を与え、必要な設定を行うことで、そのコンピューターが「Webサーバー」として動くようになります。
「Facebookのようなサービスを作る」
「想定する利用人数は〇人ほど」
「10分を超えるような動画もアップロード、公開できるようにしたい」
などの要件を元に
- 必要なサーバーの種類・スペック・構成を決め(設計)
- 各サーバーに必要なソフトのインストールや設定を行い(構築)
- 稼働させ(運用)
- トラブル時の対応や、利用者が増減した場合などの構成変更を行う(保守)
ことがサーバーエンジニアのお仕事です。
独学でサーバーエンジニアになるための3ステップ
独学でサーバーエンジニアになるための3ステップを紹介します!
以下の順で実践していけば、効率的にサーバーエンジニアになれるでしょう。
- Webサービスで概要をつかむ
- 実際に構築してみる
- 実務経験を積む
順に詳しく、紹介します。
1.Webサービスで概要をつかむ
まずはWebサービスでサーバーエンジニアに必要な知識の概要をつかみましょう!
以下で紹介しているサイトはいずれも無料で利用でき、Linux、ネットワーク、AWSなどを概要レベルで学べます。
サイト名 | 学べる内容 | 特徴 |
Linux入門講座 | サーバーOS(Linux) | 演習が多く手を動かしながら学べる |
Linuxゲリラ戦記 | サーバーOS(Linux) | 対話形式で読みやすい |
3分間ネットワーキング | ネットワーク | 対話形式で読みやすい |
AWS クラウドプラクティショナーの基礎知識 | クラウド(AWS) | 「AWS 認定クラウドプラクティショナー」試験の講座。非受験者でもAWSの概要をつかむために使える。 |
ここで紹介したものは一例です。
他にも学習に使えるサイトはたくさんあるので、利用してみて合わなかった場合は他のサイトも見てみるとよいでしょう。
「ネットワーク 学習サイト」など、「〇〇(学習したい単元名) 学習サイト」と検索すれば、候補がたくさん出てくるはずです。
2.実際に構築してみる
続いて、サーバーを構築してみましょう!
実際にやってみることで、より理解が深まります。
ステップ1で紹介したLinux入門講座では、中盤からLinuxの環境構築や操作手順を学べます。
基本的な操作を学んだら
- Webページを公開する
- データベースとの連携も行うWebアプリケーションを公開する
など、徐々にステップアップしていくとよいでしょう。
Webサーバー、データベースサーバーなどいくつかのサーバーが必要な場合は、クラウド環境の利用がおすすめです。
ネットさえつながればPCの性能に関係なくサーバーを構築でき、PC内に作るよりも簡単に作業を進められます。
3.実務経験を積む
ステップ1~2を通して基本が身についたら、いよいよ実践です!
実務経験を積むには
- クラウドソーシングサイトやエージェントを利用する
- 知り合いやSNS経由で案件を探す
- 就職する
などの方法があります。
以下の表はそれぞれの方法の特徴を、表にまとめたものです。
方法 | 詳細 | 特徴 |
クラウドソーシングサイト | 仕事を発注したい人⇔受注したい人を繋げるマッチングサービス。自ら仕事に応募して受注する。 |
|
エージェント | 仕事を発注したい企業⇔受注したい人を繋げるサービス。 経験に応じて案件を紹介してもらえる。 |
|
SNS・知り合い経由 | twitterなどのSNSを通じて案件を受ける。 知り合い経由で案件を受ける。 |
|
就職 | 未経験OKのIT企業に就職する。 |
|
クラウドソーシングサイトやエージェントはどちらかというと経験者向けで、未経験から受注するのは難しいでしょう。
未経験から実務経験を積むなら、就職がおすすめです。
就職すれば自分で案件を探す必要がなく、会社からのサポートを受けながら、確実に経験を積むことができます。
就職が難しく他の方法を利用する場合、案件の詳細をよく確認し、難易度が低く確実にできそうなものからチャレンジすることをおすすめします。
知り合いにフリーのエンジニアがいるなら、作業の一部を代行させてもらい経験を積む方法もあります。
サーバーエンジニアに必要な知識
ここでは、サーバーエンジニアに必要な知識を紹介します。
必要な知識は、大きく分けて3つです。
- サーバーOS
- クラウド
- ネットワーク
順に詳しく紹介します。
1.サーバーOS
まず必要なのは、サーバーOSに関する知識です。
具体的にはLinux(UNIX)やWindows Serverなどの、サーバーを動かしているOSについての知識となります。
OSとは、コンピュータを動かす土台となるソフトウェアのことです。
OSが行っていることは
- キーボードやマウスからの入力を受け付ける
- アプリケーションの起動、終了を管理する
など。
普段あなたが利用しているPC上でも、MacならMac OS、WindowsならWindows OSが動いています。
これらのOSは「クライアント用」です。
対して、Linux(UNIX)やWindows Serverなど「サーバー用」のOSが存在します。
サーバーの構築・運用時には「サーバー用」のOSを操作する必要があります。
今までずっとWindowのPCを使ってきた人がMacを使うとうまく操作できないように、各OSの操作方法に慣れていなければ、スムーズに作業できません。
実際に操作しながら学んでいくとよいでしょう。
2.クラウド
クラウドについての知識は、サーバーエンジニアには必須です。
クラウドとは、ネット経由でサーバーを利用できるサービスのこと。
物理的にサーバーを用意する場合と比べて
- 物理的なマシンを用意する必要がない
- マシンを置くスペースが要らない
- ネットがつながればどこからでもメンテナンスできる
- 初期費用が安い
- 構築や構成変更が簡単
などのメリットがあります。
最近はクラウドだけで環境を構築することも増えています。
AWSやMicrosoft Azureなど、主要なクラウドサービスについての知識は身につけておきましょう。
サーバーOSと同様、実際に操作しながら学ぶことをおすすめします。
AWSとAzureのどちらも、公式サイトにトレーニングが載っていますが、英語の直訳のような文章です。
人によってはわかりにくいと感じるかもしれません。
その場合は、技術情報の共有サービスQiitaなどから、日本人が書いている記事を探してみるとよいでしょう。
なお、AWSの基礎を学んでみたいという方は、当メディアが提供するAWS Hacksがおすすめ。受講期間が無制限のオンライン講座なので、自分のペースで学習をすすめられます。
また、質問回数も無制限!疑問をその場で解決できるので初心者も安心です。公式ページではサンプル動画もあるので、ぜひご覧ください。
3.ネットワーク
ネットワークに関する知識も身に着けておきましょう。
ネットワーク専門のエンジニアもいますが、サーバーエンジニアにも最低限の知識は必要です。
具体的には
「機密情報を扱うファイルサーバーを、社内のネットワークからのみアクセス可能としたい」
「Webサーバー経由でのみ、データベースサーバーにアクセスできるようにしたい」
などの設定を行う際に、ネットワークの知識を使います。
- OSI参照モデル
- WAN/LAN
- イーサネット
- TCP/IP
- ルーティング
- スイッチング
など、基礎をおさえておきましょう。
独学でサーバーエンジニアを目指すメリット
ここでは、独学でサーバーエンジニアを目指すメリットを3つ紹介します。
- 自分のペースで学習できる
- 費用が安い
- わからない部分だけを学習できる
順に紹介していきます。
1.自分のペースで学習できる
独学の1つめのメリットは自分のペースで学習できることです。
スクールを利用した場合、大抵は「毎週火曜と木曜、20時~23時」など時間を決められ、カリキュラムに沿って学習を進めます。
「出社前の早朝に学習したい」
「仕事が忙しくなったので、中断したい」
などの融通が利かないこともあるでしょう。
独学であればいつ、どこで、何を学ぶのかをすべて自分で決められます。
2.お金がかからない
独学は学習にかかる費用をおさえられます。
スクールに通った場合、費用の相場は約30万円と高額です。
独学であれば、かかるのは
- 書籍代
- 有料サービス代
だけ。
購入が必須であるものはないので、予算に合わせて必要なものだけにお金をかけられます。
独学だからといって「お金をかけないこと」にこだわりすぎないようにしましょう。
有料サービスを利用することで、効率的に学習ができ、時短になる場合もあります。
「まずは無料のサービスを使ってみて、わからなかった部分について本を購入して重点的に学ぶ」など、無料と有料をうまく組み合わせるとよいでしょう。
3.わからない部分だけを学習できる
わからない部分だけを学習できることも、独学のメリットです。
スクールの場合、すべての範囲を網羅的に学習します。
「ネットワークについては十分知っているから、必要ない」
「AWSの〇〇の部分についてよくわからなかったから時間をかけて学習したい」
などの希望があったとしても、通らないこともあります。
独学であれば、すでに知っている内容は飛ばして、わからない部分だけを重点的に学習できます。
独学でサーバーエンジニアを目指すデメリット
ここでは独学のデメリットを紹介します。
- 挫折しやすい
- 質問できない
- すべてを自己管理する必要がある
デメリットを理解したうえで、しっかり対策を行うことが大切です。
順に詳しく紹介します。
1.挫折しやすい
独学は挫折しやすいです。
- 期限がない
- スケジュールを決める必要がない
- お金がかかっていない
- 途中で辞めても誰にも迷惑がかかわらない
などが挫折しやすい理由です。
対策として
- オンラインサロンに入って、学習仲間を作る
- SNSで目標を宣言する
- エンジニアとして確実に転職するため、今の会社に「半年後に辞めます」と伝えてしまう
など、学習を中断しにくくする工夫をするとよいでしょう。
2.質問できない
質問ができないことも、独学のデメリットです。
「いくら調べてもわからないことがある」
「書いてあるとおりに設定しているのに動かない」
「謎のエラーメッセージが出てきた」
などの場合に、自分で調べて解決する必要があります。
経験者なら数分で解決できる内容であっても、対処に何時間もかかってしまうことも。
- MENTAなどの質問相手を探せるマッチングサービスに登録しておく
- 質問ができる学習サービスを利用する
など、困ったときにすぐ質問できる状態にしておくとよいでしょう。
3.すべてを自己管理する必要がある
独学はすべてを自己管理する必要があります。
管理が必要なことは
- 学習する内容
- 方法
- ペース
- 期限
- モチベーション
など。
これらの管理が負担になる場合は
- カリキュラムがある学習サービスを利用する
- スクールのカリキュラムを参考に、同じ内容を別の教材に置き換えて学習する
などの対策が有効です。
独学でサーバーエンジニアになるためにおさえておきたい3つのポイント
ここでは、独学でサーバーエンジニアになるためにおさえておきたいポイントを3つ紹介します。
- 目的を決める
- 手を動かす
- 相談相手をもつ
スクールならカリキュラムに沿って受講を進めるだけで、ある程度の力がつきます。
一方独学の場合はやみくもに進めていては、いつまでたっても実力がつきません。
ポイントを意識して学習を進めることが大切です。
順に詳しく紹介します。
1.目的を決める
学習を始まる前に「何のためにやるのか」の目的をはっきりと決めましょう。
目的がないと、ほぼ間違いなく挫折します。
「年内にサーバーエンジニアとして就職する」
「2年後にフリーランスになる」
など、期限も一緒に決めるのがポイント。
期限が決まれば「いつまでに何をやらなければならないのか」も自然と定まり、スケジュールが立てやすいです。
2.手を動かす
学習の際には手を動かすことを意識しましょう。
料理やスポーツなどと同様、実際にやらないと身につきません。
とくに本や学習サイトに書いてある演習は必ずやりましょう。
- pingを飛ばす
- Linuxをコマンド操作する
- クラウド上にデータベースサーバーを構築する
などの演習が、単元ごとにあるはずです。
演習を面倒くさがって飛ばしてしまうと、理解が深まらず、かえって非効率になってしまいます。
「座学はおまけ、メインは演習」と考え、とにかく手を動かすことに注力しましょう。
3.相談相手をもつ
困ったときに相談できる相手をもつことで、独学の負担を大きく減らせます。
- MENTAなどの質問相手を探せるサービスに登録しておく
- 質問ができる学習サービスを利用する
- オンラインコミュニティに参加する
などで相談相手を作っておきましょう。
自分で解決することで身につく力もありますが、ある程度のスキルがないと、やみくもに時間がかかってしまいます。
はじめのうちは学習を前に進めることを最優先にして、不明点が出たら悩まずにすぐ相談するとよいでしょう。
オンライン講座で独学するならAWSHacksがおすすめ
サーバー周りのスキルをつけるなら、一緒にクラウドの知識も学ぶのがおすすめ。最近は、システム更改するときに、現場でシステム構築をしなくて済むクラウドの選択肢が上がる場面が増えてきています。
そのため、物理サーバーに加えて、クラウドサーバーの知識をつけることで有利になります。
オンライン講座を利用して独学するなら、当メディアの運営するAWSHacksがおすすめです。
AWS環境の構築がカリキュラムに含まれており、実務に近いかたちでAWSの操作を経験できます。
Line@による期限・回数なしの質問対応で、困った時もすぐに聞けて安心です。
独学にしては少し費用が高いと感じるかもしれませんが、45本の動画や無制限の質問対応など、コストに見合うだけのサービスを受けられます。
ぜひ参考にしてみてください。