未経験エンジニアがWebベンチャーに就職するまでの最短ロードマップ【AWS編】
世の中にはいろいろなアドバイスが溢れかえっています。
AWSエンジニアとして未経験就職したければ、AWSの資格をとったほうがいい
AWSエンジニアになるなら、プログラミングは学ばなくてもいい
未経験からエンジニアになるなら、React + Rails + AWSでWebアプリケーションを作ってポートフォリオにしたほうがいい
などなど、様々なアドバイスが世の中に溢れかえっています。
自分は、AWS(GCP)エンジニアとして3年働いています。また、フロントエンド時代も含めると5年間エンジニアとして従事していて、以下の企業でエンジニアリングをしてきました。
freee
会計とか人事労務で有名な会社
CAMPFIRE
クラウドファンディングの最大手。この会社でAWSエンジニアとしてリードエンジニアとして働いていました。
FreakOut
広告の会社(オフィスがかっこいい)
UPSIDER
クレジットカードの会社
Globee (副業)
最近上場した、abceedというTOEIC向けアプリを開発している会社
Erake (副業)
TrifaというeSIMサービスを提供している会社
Clove (副業)
遊戯王やポケモンカードのECサイトを運営している会社
全ての企業に共通するのが、Webベンチャーということです。
相当数のWebベンチャーで働いてきたため、WebベンチャーでAWSエンジニアとして働くためには、最低限これぐらい出来たほうがいい!っていうレベル感は肌感覚で身についています。
そのため、この記事では、
「WebベンチャーにAWSエンジニアとして就職するために、最低限できるようになったほうがいいこと」
を紹介します。
使えたほうがいい技術
AWS
CICD
git
Docker
IaC(Terraformとか)
プログラミング言語1つ
上記のスキルセットが最低限学んでおきたい技術です。
AWS
AWSエンジニアとして就職するのだから、AWSは絶対です。
ただ、Twitterを見る限り、未経験エンジニアの方々のAWSの勉強は少し間違っていないかな?と思うことがあります。
多くの未経験エンジニアの方が、AWSの資格を取得しようとし、それに時間を使います。
AWSエンジニアとして働いてきた私の経験では、AWSの資格は未経験就職に必要ないですし、未経験の時に資格勉強をしても効果は薄いです。
資格試験は、体系的に知識を学ぶ際にとても効果的です。しかし、最初から体系的な知識を学ぶのは、英和辞典を使って英語の勉強を始めるようなもので、勉強時間の割に成果が低いです。
未経験エンジニアは、資格試験ではなく、「技術書やチュートリアル通りに手を動かしていたら、AWS上にプロダクトを作ることができた!」みたいな勉強法の方が、絶対にいいです。
具体的な勉強内容
VPC
ALB
ECS
難しかったらEC2でも
RDS
S3
を使ったWebアプリケーションをデプロイする。
私が個人的にオススメしたい勉強は上記のアーキテクチャを作ることです。
ALBにアクセスするとECS(EC2)上で動く簡単なWebアプリにアクセスでき、そのWebアプリからRDSに接続しデータを取得したり、S3に画像のアップロードができる。(ログイン機能はいらないです)
そんなアプリです。
このアプリを作れたら、
ネットワーク構築
セキュリティグループ設定
Dockerコンテナ運用
S3への画像アップロード(IAM Role設定)
データベース運用
ロードバランサー設定
などなど、Webベンチャーで出来なければならないことができる証明になるからです。
現役のAWSエンジニアだったら、数時間もあれば作れる構成です。しかし、未経験エンジニアの場合は一つずつ設定していったら、数ヶ月かかると思います。(フルタイムで勉強できるなら、数週間)
オススメ技術書・勉強法
未経験エンジニアにオススメのAWS関連の技術書を紹介します
この本をやりましょう。
この本で基本的なネットワークやサーバー、DBを構築できるようになります。
いろいろな技術書やネット教材に手を出すよりは、この本の内容を理解できるようになるまで何度も勉強することをオススメします。
ECSやDockerコンテナを利用してAWS上にアプリケーションが作る技術書
未経験エンジニアの方には少し難しいところも多いのですが、先ほど紹介した紫の本を完璧に理解できたら、この本がオススメです。
※未経験エンジニアの方には難しい本なので、時間をかけて理解しましょう。もし、数ヶ月かけてもこの本の通りにAWSアーキテクチャが構築できない場合は、AWSの公式チュートリアルなど他のリソースで勉強することをオススメします。逆にこの本の内容通りにAWSアーキテクチャが構成できたら、現役AWSエンジニアとして十分やっていけます。
CICD
CICDもAWSエンジニアとして働くのならば、習得しておいた方がいい技術です。
Github Actions
CircleCI
AWS Codeシリーズ
など、様々な種類がありますが、何か一つ勉強すれば問題ありません。(一つ使えるようになったら、他も使えます)
Github Actions
個人的なオススメは、Github Actionsです。
様々なWebベンチャーで使われているだけでなく、ほぼ100%の確率で使うであろうgithubに付随したCICDサービスなので、Webベンチャーのエンジニアなら身につけて損はないです
Circle CI
個人的な経験として、あまりオススメしません。(個人の意見です)
Circle CIはCI技術を世の中に広めた偉大なプロダクトですが、Github Actionsに人気を奪われている印象です。
これから勉強をするのならば、勢いの強いGithub Actionsをオススメします。
AWS Codeシリーズ
AWSの中にCICDパイプラインを作れるということで、セキュリティ的に色々嬉しいことが多いAWS Codeシリーズ
AWSエンジニアとして就活をするのならば、Github Actionsではなく、CICDもAWS上で作ってしまうのも選択肢の一つだと思います。
先ほど紹介したAWSのコンテナの技術書の中で、AWS Codeシリーズを利用したデプロイパイプラインの作り方が紹介されているので、この本を学べば、就活に必要なAWSの知識だけでなく、CICDの知識も習得できます。
git
Gitはぜっっっっったい必要です!!
Webベンチャーで働くなら、確実に必要な技術なので、絶対に身につけてください。
最初はとっつきにくく、わかりづらい技術なのですが、これを乗り越えられなければWebエンジニアとして生きていくことはできません。。。
技術書
私は、Gitをこの本で学びました。
すごい、理解しやすかった記憶があるのですが、5年近く前なので、もっといい技術書があるかもしれません。
ただ、就活に必要なgitの知識はこの本で身につきます。
そして、gitは学ぶというよりも慣れるべき技術です。
そのため、この本で最低限使えるようにしたら、現場でいっぱい使って慣れていきましょう!
Docker
現代のWebベンチャーのWeb開発現場において、Dockerを使っていない企業は少数派です。
Dockerを使った仮想化環境の構築や、本番コンテナの運用はAWSエンジニアにとって腕の見せ所なので、AWSエンジニアとして就活を進めたい人は必ず学んでください。
技術書
Dockerのおすすめ書は、これ一択です!
私自身、Dockerにすごい苦手意識があったのですが、この本を学んだおかげで苦手意識を払拭できました!
IaCツール
IaCツールというのは、AWSやGCPといったインフラ構築をソースコードで管理するための技術です。
本来、AWSでネットワークを作ろうとすると、AWSの管理画面にログインして、ブラウザでいろいろな設定値を入力して、ボタンをポチポチしながらネットワークを作っていきます。
しかし、IaCツールを使うと、
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
enable_dns_hostnames = true
enable_dns_support = false
}
といった形で、ソースコードで構築できます。
現在のWebベンチャーでは、AWSやGCP環境をIaCツールで構築している企業が多いので、この技術も身につけておいた方が良い技術です。
※とはいえ、AWSの理解やGCPの理解の方が優先度は高いので、IaCについてはやらなくても内定がもらえると思います。(AWSやサーバーに関する理解の方が、IaCツールの使い方よりも重要だということを面接官は理解しています)
技術書
私が一番好きなIaCツールTerraformのおすすめ技術書を紹介します。
Terraformを学ぶのなら、迷わずこの一冊!
最強のTerraform入門書「Terraform Up & Running」です!
Terraformの基礎的な知識はこの本を学べば、すべて習得できます!
日本語版もあります!!!
プログラミング言語
ここから先は
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?