どうも、リモート専門エンジニアのウェブ系ウシジマくんです。
人生において最大の苦行とも言える満員電車から解放され、リモートワークをしながらRailsを中心とした案件をこなしています。
理想的な働き方を手に入れたわけですが、
自分の市場価値を高めていくためにも、新たなスキルを身につけないとな
と思っていたんですよね。
で、Railsのフリーランス案件をみてもAWSへの知見を求めている企業が多いのもあり、そのスキルを身に着けるためにRaiseTechのAWSフルコースを受講してきました。
結果、現在参画している案件で学んだことをめちゃくちゃ活かす事ができたので、今回はRaiseTechについて取り上げたいと思います。
今のスキルに頭打ち感を感じているのであれば、参考になると思いますので、ぜひ読み進めてみてくださいね。
RaiseTechとは?
RaiseTech(レイズテック)は、教育エンジニアの@エナミコウジさんが中心となって運営している
エンジニアリングスクールです。
エナミコウジさんってどんなひと?
現場で今現在使われている技術にフォーカスしていて、ちまたでよくある「なんちゃってエンジニア」や「学生エンジニア」が講師をしているプログラミングスクールとは質が違う。
多くのプログラミングスクールがパクられるのを恐れて詳細なカリキュラム公開を恐れる中、RaiseTechは公式サイトで学習スケジュールとその内容についてがっつり公開しています。
教材自体もハイレベルなので、文字通りプロのエンジニアを目指す人向けですね。
とはいえ、講師の@エナミコウジさんは非常に明るく、喋りがめちゃくちゃ上手いので、講座を受けている間笑っていた記憶しかないです(笑)
サポート体制としても、自分が申し込んだコースのslackチャンネルにて何回でも無制限に質問ができるし、おまけに面接対策やスキルシート添削などの転職サポートまでついてくる。
また、最速でエンジニアとして稼ぐことを理念としているのですが、ちゃんと確かな技術を身につけた上での金額なので、努力次第でAWS未経験者でもフリーランスで55万円から参画できる可能性も。
さらに技術を磨いていけば、単価80万円オーバーも視野に入るので、高単価な案件への参画を目指したい場合もRaiseTechなら実現可能ですね。
RaiseTechと従来のプログラミングスクールの違い
日本国内のエンジニア不足+プログラミングブームにより、現在非常に多くのプログラミングスクールが乱立しています。
カリキュラム自体も似たり寄ったりで、ほとんどがRubyやPHPなどのスクリプト言語のフレームワークを使ってWebアプリケーションを作成するケースになっているんですよね。
加えて未経験~初学者を想定しているため、現場である程度の経験を積んだエンジニアにとっては正直物足りないと思います。
しかしRaiseTechには、そんな中級者なエンジニアを対象にしたAWS自動化コースも用意されており、そこでは現在のインフラクラウドサービスのデファクトスタンダードになりつつあるAWSを集中的に学ぶことが可能。
今までのプログラミングスクールでは、せいぜいCapistranoなどでEC2にデプロイくらいしか扱っていないAWSを、基礎からツールによる環境構築自動化まで幅広くカバー。
しかも、運営会社自体も自社開発および受託開発でがっつりAWSを使っているため、生きた技術を学べるのは、他のプログラミングスクールに比べると大きなアドバンテージと言えますね。
Railsエンジニアが受講するべきRaiseTechのコース
AWSのスキルを確実に身につけていきたいのであれば、AWSフルコースを受講するのがいいでしょう。
最初はブラウザ上からAWSマネジメコンソールでインスタンスを作るところからやるので、
「インフラ周りの基礎力をつけたい!」
と考えている方におすすめですね。
AWSフルコースのカリキュラム前半
AWSフルコースのカリキュラム後半
僕はこちらのコースを受講したのですが、設定項目一つ一つに対して、
- 実際の業務ではどのように設定しているか
- アプリケーションをデプロイした時に、どのように関わってくるか
をわかりやすく解説もらえたので、インフラ構成を実務で使う際や公式ドキュメントを参照する際に迷うことがなくなりました。
講座自体はAWSの内容ですが、AzureやGCPといった他のクラウドサービスでも考え方は一緒なので、応用力をつける意味でも基礎は大事です。
逆に、
「個人開発レベルでAWSへのデプロイはあるから、インフラの自動化をメインで学んでみたい」
と考えているのであれば、AWS自動化コースがいいですね。
AWS自動化コースのカリキュラム
こちらは単体コースなので、短期集中型で学ぶことができます。
Railsエンジニアの場合、AWSへの知見もあると、現場ではかなり重宝されますし、あるフリーランスエージェントに聞いた話によると、AWSへの知見があると単価が1.5倍くらい変わることもあるとか。
サーバーサイドエンジニアがインフラやDevOps領域もカバーしていくようになると、市場価値・希少性が高まるので、高単価案件への参画も可能になるのは、自然な流れと言えるでしょう。
RaiseTechで学んだことをアウトプットすれば、開発がもっと楽しくなる
RaiseTechだけに限ったことではないですが、やはり学んだことを確実にモノにするためにはアウトプットが必要不可欠。
ということで、僕も実は講座で学んだことを活かしてRaisアプリケーションのインフラ構成の自動化・コード化したんですよね。
このリポジトリ内のansible
ディレクトリでは、Ansibleを使ってRailsをEC2内で動かすために必要なミドルウェアとモジュールのインストールを自動化させています。
ansibleディレクトリの構成
ansible
├── group_vars/
│ ├── rails.yml
│ └── rails.yml.sample
├── hosts
├── rails.retry
├── rails.yml
└── roles/
├── common/
│ └── tasks/
│ └── main.yml
├── mysql/
│ ├── files/
│ │ └── etc/
│ ├── handlers/
│ │ └── main.yml
│ ├── tasks/
│ │ └── main.yml
│ └── templates/
│ └── my.cnf.j2
├── nginx/
│ ├── handlers/
│ │ └── main.yml
│ ├── tasks/
│ │ └── main.yml
│ └── templates/
│ └── nginx.conf.j2
└── ruby/
├── files/
│ └── .gemrc
├── handlers/
│ └── main.yml
└── tasks/
└── main.yml
コマンドを叩いて無事にインストールできたときは、めちゃくちゃテンションが上がりましたw
そして、リポジトリ内のaws
ディレクトリではCloudFormationを使い、AWSの構成をコード化をしています。
ansibleディレクトリの構成
├── aws/
└── service.yml
service.ymlをAWSのマネジメントコンソールから読み込ませることで、自動で諸々のセッティングをしてくれるようになりますし、ファイル形式がYAMLということもあり直感的に書きやすいのがいいですね。
このように、AnsibleやCloudFormationでインフラ構成をコード化するとGit管理できるようになります。
どんな構成にしているかが後から見返した時に一目でわかるのも、個人開発や実務において大きなメリットですね。
実務で役に立ったRaiseTechの講義内容
現在僕が案件で携わっているプロジェクトでは、Ansibleを使っています。
ある日、Ansibleのplaybookを修正するタスクをアサインされたのですが、時間がかかりそうに思えたので、多めにタスク消化の見積もり時間を設けていたんですね。
でも実際に取り組んでみると、RaiseTechの「infrastructure as a codeの実践」で学んだことをベースに応用させるだけでOKでした。
想定していた見積もり時間よりも早くタスクをこなす事ができたので、CTOから
「めっちゃ早いですね!自分以外にAnsibleを触れる人がいなかったので、このタスクを担当してもらえて助かりました!ありがとうございます!」
といった形で感謝されちゃいました。
RaiseTechは現場で第一線を張っているインフラエンジニアが講師をしているだけあって、RaiseTechを受講してよかったと、改めて思えた瞬間でしたね。
運営者に聞いた!RaiseTech卒業後にスキルを伸ばしていくためのコツ
せっかく受講するのであれば、卒業後にも学んだスキルを伸ばしていきたいですよね。
ということで、RaiseTechの開発者である@エナミコウジさんに、「RaiseTech卒業後にスキルを伸ばしていくためのコツ」についてインタビューしてみました。
RaiseTech受講後は現場に実際に入って経験を積んでいくことになると思います。
その際、スキルを伸ばしていく際にコツとかありますか??
その回答としては僕の中で2つありますね。
1つめは、
現場で実際にエンジニアとして働いていて、技術的に信頼がおける人と、繋がっておくことですね。
ここでいう繋がりというのは、オンラインサロンがイメージしやすいかなと思います。
学習を進めててわからないことがあった時に、すぐに答えが返ってくるような環境が理想ですね。
現在だと、勝又さんの雑食系エンジニアサロンや神里さんの人生逆転サロンなんかがいいんじゃないでしょうか。
なるほど。確かに激強なエンジニアと繋がっていれば、それだけでモチベーションが保てそうですよね。
もう一つの理由はどうでしょう??
2つめは、
自分が伸ばしたいスキルに関する案件を仕事として取ってきて、現場での経験を積んでいくことですね。
例え自分が伸ばしたいスキルの実務経験がなかったとしても、「できます!」と意欲をアピールします。
というのも、現場に入って実務経験を積むこと自体が圧倒的に早く成長できるんですよね。
その理由としては簡単で、強制力が働くので、やらざるを得ないからです。
仕事としてやる以上、成果を出す必要がありますからね。稼ぎながら学び続けることができるので、自己投資としてもめちゃくちゃコスパがいい。
実はこれ、かつて自分が実際にやった方法なんですけどね(笑)
そうだったんですね!経験なくても手を挙げて現場に出ていくというのは、大変でしょうけど実務に勝るものはないですからね。
そうなんです。逆にいうと、成果が出せなかった時に精神的に追い詰められるので、あまり再現性は高くないですね(笑)
ただ、「それでも俺はやってやる!」という覚悟があるのであれば、周りより2~3倍は成長できるのは間違いないので、できる人はチャレンジしてみて欲しいなとは思います。
貴重なご意見、ありがとうございました!
まとめ:即戦力なAWSスキルを学ぶならRaiseTechで間違いなし!
ということで、Railsエンジニア視点からみたAWSをRaiseTechで学ぶ意義について述べてみました。
AWSって、できる事が多すぎて、逆に何から学んでいいかわからなくなりがちなので、独学すると知識が偏りがちになるので、かなりハードルが高いんですよね。
RaiseTechではその点、まずどこを優先して学ぶべきなのか、現場でどう使われているのかを学べるので、下手に書籍よりも生きた技術を学べます。
フリーランスなら、RaiseTechも経費にできますし、受講後にスキルをアピールすれば単価が上がるので、受講費用もすぐ回収できますね。
今以上にエンジニアとしてのスキルを高めたいのであれば、この機会に受講してみてはいかがでしょうか。