自己紹介
経歴
- 関西私大 文系学部卒
- 人材大手 R 社営業
- プログラミングスクール
- AWS アドバンスドコンサルティングパートナーT社 (CIer [※1]) AWS エンジニア
- 某金融系大手 A 社 AWS テックリード兼 Ruby エンジニア (現職)
- 副業: 某プログラミングスクール エンジニアメンター
AWS なら御三家(クラスメソッド、サーバーワークス、アイレット)などが該当する前職の CIer(T 社)で約 2 年間 AWS の設計/構築/保守/運用/監視に携わった後、2021年6月より某消費者金融大手にAWSテックリード兼Rubyエンジニアとしてjoinしています。
[※1] CIer:Cloud Integrator (クラウドインテグレーター) の略称。めちゃくちゃざっくり説明すると、クラウド専業のSIerのこと。
現在はDocker(ECS Fargate)をベースにしたRuby on Railsでのアプリケーション開発をはじめ、全社的なAWS運用ルールの監修、AWSインフラの自動化、セキュリティ対応、監視設計等々、多岐にわたり任せていただいています。
前々職が営業ということもあり、相手の要望を汲み取るコミュニケーションや技術を分かりやすく伝えるプレゼンテーションが得意です。(なんか履歴書書いてるみたいでくすぐったいのですが、気にせず続けます)
その他経歴については興味があればOffersマイページなどをご覧いただけますと幸いです。
現職での担当業務
現職の企業では、社内内製化を推進するフェーズにあります。そのため、主に自社のシステム新規開発やリプレイス、子会社からの受託案件等をチームで請け負っています。
私が所属するチームはというと、立ち上げ間もなく上司あわせて 7 名 (開発メンバーは 5 名) の少数精鋭。そのため、密なコミュニケーションと自走力が求められ、なかなか歯ごたえのある職場環境ではないかと思います。
チーム内での私のポジションを一言で表すとすれば「社内 AWS コンサル兼 Rails アプリケーション開発エンジニア」です。
他部署から AWS に関する相談を受けることも少なくなく、社内的には「AWS といえば オタユウ だ」といった第一想起が取れてきている印象です。
具体的な業務内容については、以下一例です。
- チームが手掛けるプロジェクト全体の AWS インフラ構築や運用・管理
- Docker on EC2 や ECS へのデプロイ
- CodePipeline を用いた CI/CD 環境の構築
- 監視設定の標準化、自動化
- 標準メトリクス
- カスタムメトリクス
- Slack 連携
- セキュリティパッチ適用の自動化 (承認フロー込み)
- AWS インフラの CloudFormation 化
- Ruby on Rails を用いた開発業務
- 問い合わせフォーム
- ポータルサイト
- 本番環境へのデプロイに伴うアプリケーション設定
- AWS に関するミーティングへの参加
- CCoE [※2]
- セキュリティ診断
- 診断ツール PoC
- Amazon Connect プロジェクト
ぱっと思い付く限り列挙しましたが、めちゃ良い経験させてもらってますね。
[※2] CCoE:Cloud Center of Excellence (クラウドセンターオブエクセレンス) の略称。めちゃくちゃざっくり説明すると、企業内でクラウドサービスを推進するための仕組み作り専門チームのこと。本記事では詳しく説明しませんので、興味のある方は別途調べてみてくださいませ。
後述しますが、前職の AWS エンジニア時代にはなかった先進的な分野にどんどん挑戦させてもらえていて、控えめに言って最高な環境です。毎日退屈しないし、できること盛り沢山。
[ 0ヶ月目 ] エンジニアへの転職を決意
この辺りは書き出すと長くなってしまうので、詳しくは書きません。
誤解を恐れずにものすごーく端的に言うと「営業だけでは食えないと思ったので、手に職つけて時間と場所に制約なく稼げるようになるために時間を一点集中投下しました」という感じです。
何より仕事だけの人生にしたくなかったし、大切な人や自己研鑽・趣味などに金も時間も割けて、余裕のある人生を送りたいと思ったんですよね。
リモートワークの普及率が低い職種でわざわざ戦う必要もないので営業はスパッと損切りして、覚悟と逃げられない環境を金(プログラミングスクール)で買い、AWSエンジニアとしてスピード転職しました。
ちなみに、エンジニアという職種が真っ先に候補にあがった理由は以下の3点でした。
- 少年時代にゲーム(RPG ツクール)や親父が趣味で買ってきたホームページビルダー(懐かしい)で遊んだことがあった
- ちょうどプログラミングスクール黎明期で、新規参入障壁が低そうだと思った
- 他業種・他職種と比較した際の働きやすさ(リモートワーク含む)、キャリアの選びやすさ(身に付けるスキル次第ではどこでも働けそう)
[ 3ヶ月目 ] プログラミングスクールで限界まで勉強
「プログラミングスクールに通う奴は情弱だ」的な意見をたまーに見かけますが、覚悟もたいして持っていない状態でなんとなく楽したいな〜ぐらいの温度感で臨むなら、いわゆる情弱に当てはまる気がします。
プログラミングスクールが転職を保証してくれるわけではないので、そこにすがりつかず自走できる人なら選択肢として問題ないです。もちろん、転職目的ではなく、IT教養を身に付ける目的で通われる方もいらっしゃるので、上記の限りでないことは補足しておきます。
プログラミングスクールでは、午前 10 時に学習開始〜午後 22 時以降に帰宅 + 寝るまで自習な毎日を約 3 ヶ月続けました。
(これぐらいしないと転職の土俵にも立てないだろうなと見込んでの取り組みでしたが、予想通りでした。。。)
[ 4ヶ月目 ] インフラ知識を独学で補強し、就職決定!
プログラミングスクールでの主な学びは、
- Ruby + Ruby on Rails の基礎
- Git や SQL の基礎
- チーム開発の基礎
- AWS (VPC と EC2 構築 + Capistrano で自動デプロイ)
といった内容だったので、インフラ知識の補強が急務でした。そのため、カリキュラムを終え、転職活動が始まる前後のタイミングで AWSの教本やUdemyの教材を買って独学を始めます。
独学の過程でAWSへの興味・関心が深まったことがきっかけとなり、実務未経験ながら T 社での採用が決まり、晴れてエンジニアとしてのキャリアをスタートします。ここまでで約4ヶ月。
[ 8ヶ月目 ] AWS SAAを取得。業務的に独り立ち
AWSエンジニアとして働き始めた当初は、本当に右も左も分からず、とにかく必死。OJTで先輩エンジニアからAWSに関する設計や構築、Q&Aサポート・障害対応を中心に業務レクチャーを受けつつ、AWS SAA取得を目指して学習する毎日でした。
入社3ヶ月でなんとかSAAを取得した際の喜びはひとしおでしたね!
AWS SAAの資格学習を通じて、AWSの主要サービスに関する体系的な知識が身に付いたこともあり、業務を順調にキャッチアップし無事独り立ちします。その間に、私より1ヶ月早く入社した外国人選手はどこかへ行ってしまいました。
[ 1年9ヶ月目 ] AWSについて自走する自信を持つも、成長に危機感
それから1年9ヶ月が経ち、「AWSのことならある程度自走できそう!」という自信が付き始めた頃、世界はコロナ禍真っ只中。当時の会社も 2021 年から、フルリモートでの業務に切り替わっていました。
当時は念願のフルリモートを喜んだものですが、残念ながらその喜びは下記の自問によって儚く散ります。
- 一人称で開発できるスキルが身に付いているか?
- 新しいことに挑戦できているか?
- 今の仕事が面白いと思えているか?
- 今の会社で働き続けたときに、活躍できているイメージがもてるか?
答えは全て No でした。そこそこ稼げてはいましたが、成長実感をまるで持てていませんでした。
- 開発もインフラも一人称で出来るエンジニアになって、市場価値(≒単価)を上げたい。
- AWSインフラの設計や構築、サポート・障害対応などを通じて、得た知見を糧に、新しい環境に挑戦したい。
「もっと稼ぎたいんじゃなかったっけ?もっと自由になりたいんじゃなかったっけ?」と。
[ 2年目 ] 現在の職場に転職
そこから、求人媒体を使って転職先を探す毎日が始まります。開発経験をがっつり積めそうな会社、リモートワーク環境や制度が整っている会社を中心に探していたところ、現職の会社に出会います。
面接で話を伺うと「新しく開発したシステムに AWS を採用したところで運用経験者を探している」とのこと。あれ、これ完全に俺の出番じゃね? そんなこんなで超スムーズに現職での中途採用が決まります。
AtCoder で Ruby(Ruby on Rails)のリハビリをしながら、AWSを触りまくる素敵な毎日の幕開けです。ここまでで約2年。入社当時は、これまでのAWSエンジニアとしての実務経験をもとに、主に以下のような業務を担当していました。
- 既存システムの AWS管理
- 設定状態のドキュメント化
- 設定内容がベストプラクティスに則っているかの確認と改善対応
- 新規プロジェクトのAWS構築からアプリケーションデプロイまで
- AWS 構築や設定に関するナレッジのドキュメント化
- 部署としての AWS 汎用ルールの策定
これらのタスクを進めていくうちに (入社3〜4ヶ月後) 、他部署のAWS案件に関する打ち合わせや相談がちょくちょく舞い込んでくるようになり、トントン拍子に全社運用の話になっていった覚えがあります。
もともと自社のAWS周りの運用を主な役割として期待されていたのは自覚していましたが、入社後たった数ヶ月で全社的な推進を任せていただけるようになれたのは、嬉しい誤算でした。
ポイントは自社のAWSの実務経験者が少ないタイミングで入社できたこと、実務経験をふんだんに活かして期待役割に応えたことの2点かなと。
要するに「戦う土俵を変えて自分のポジションを確立した」って感じですね。
[ 3年目 ] 副業をはじめるまで
そうしているうちに、ふと「今の自分の市場価値ってどんなもんなんだろう?」と気になってきました。思い立ったが吉日、フリーランスエージェントに登録しまくって面談を受けまくります。確か7社ぐらい。
せっかくならついでに副業も探してみようということで、平日夜・土日稼働(月 30〜40 時間程度)で探してみました。結論、ほとんどが「スキル (特にAWS) は申し分ないが、平日夜・土日稼働に難色を示される」とのこと。
まあ、現実はそう甘くないよなあ…と思っていた矢先、Remogu(リモグ)というエージェントサービスを運営するLASSIC社との面談をきっかけに状況は一変します。リモートワークを専門に求人を取り扱っておられ、AWSの案件も複数お持ちのようでした。また、はじめて副業に取り組むという私の状況も考慮しながら、最適な提案を探っていただきました。
そこで候補の1つとしてご提案いただいたのが、プログラミングスクールのエンジニアメンター業務でした。
「現職も頑張りたいけど、副業にも取り組んでみたい!」という欲張りわんぱく小僧だった私にとって、シフト制で時間の融通がある程度効くといった点は非常に魅力的だったため、すぐに応募を決めました。
(実はこの間に、Offersから2つスカウトをいただいていたのですが、現職との兼ね合いで先方から提示いただいた稼働条件を満たすことが難しいと判断し、お断りをしておりました。。。悔しい。。。)
そのままエンジニアメンター面接兼顔合わせに臨み、即決で採用いただきました。Ruby (Ruby on Rails) の実装や AWS のデプロイ周りの質問対応に日々取り組みながら、楽しませていただいております。
ここまでで約3年。少し遠回りだった気もしますが、手探りながら私なりの最短経路だったと言えます。
ぼくがかんがえた最短キャリアロードマップ
では、本章からは私の経験を踏まえて、「もう一度、営業時代からやり直すとしたらどう進めるか?」をお伝えしていきます。
目標は「副業ができるエンジニアになるまで」としましょう。筆者の経験上、開発言語は Ruby想定ですが、ご自身が学ぶ言語に置き換えて考えていただいても良いかと思います。
それでは次に進みましょう。
学習編(初学者向け)
まず、基礎をどのようにして身に付けていくか?に焦点を当てましょう。ローマは一日にして成らず。基礎を疎かにすれば、後々苦しむことになるのは自分です。
Ruby 学び始めの取っ掛かりはProgate,ドットインストール,paiza,Udemy等々、何でも良いです。もちろん、いきなりプログラミングスクールに通っても良いですが、まずは無料の範囲で進めてみるのもアリかと思います。
いずれにせよ大事なのは、手を動かして学び続けること。基礎文法を叩き込む作業です。条件分岐やループ処理が一通り分かるようになったら、AtCoderやpaizaの問題集にチャレンジして基本的なアルゴリズムを学びましょう。
AtCoder ならA, B問題、paizaならD, C問題を安定して解けるようになれば尚良いですね。
併行して、Rails TutorialやTechTrainの教材にチャレンジしておくと、アプリケーションを作るための基礎も合わせて習得していけると思います。
ちなみに Rails は 5.x 系や 6.x 系が現在の主流ですが、今回のAdvent Calendarにも投稿されている通り、Rails7に期待が高まっています。そのため、今後のキャリアを考えていく上で、Railsを学んでおくのは有効な選択肢と言えるのではないでしょうか。
Ruby,Ruby on Railsのほか、SQLやGitについても合わせて学んでおきましょう。実務では必ずと言っていいほど登場しますし、使えることが当たり前のように認識されているケースも多いです。この辺りもProgateから学んで、UdemyやTechTrainの教材に取り組むのがオススメ。
教材で紹介されている Railsアプリケーションの実装が一通り出来るようになったら、以下を最低限学びましょう。
- RSpecを用いた自動テストの実装方法
- JavaScript(JS)の基礎
JSについては、チャレンジ要素として非同期通信(ajax)の実装に取り組んでみてもいいですね。
ajax以外のチャレンジ要素としては、DockerやCI/CD(GitHub ActionsまたはAWS CodePipeline)、Rails APIモード辺りでしょうか。おおかた完成したら、AWSなどのクラウドサービスにアプリケーションをデプロイしていきます。
インフラを学ぶにはAWSから入ってしまうのが手っ取り早いように感じます。なぜなら、日本語の学習リソースが豊富ですし、資格学習を通じてAWSやインフラに対する理解が深まる効果が期待できるからです。
ただし「無料利用枠を超えないようにすること」や「不正アクセスを予防すること」は徹底してください。デプロイ周りの教材については Udemy が充実している印象です。
アプリケーションをデプロイできるようになったら、これまでの工程をきちんと整理し手順化しておきましょう。再現性を担保することは、開発実務を進める上でも非常に重要です。このタイミングで履歴書や職務経歴書を準備しはじめてもよいでしょう。
転職編
学習を開始したタイミングで転職サイトに登録しておきましょう。サービスによって求人内容が異なるので、普段から目を通しておくのがベターです。
また、興味のある企業を見つけたときに、どんなスキルを使っているのか、あるいは求めているのかを知ることが出来るので、そこから逆算して学習計画を立てることも可能です。ぜひ活用してみてください。
少し不安になるかも知れませんが、上記に加えてエンジニア専門のエージェントサービスや TechTrain,MENTAのようなサービスを使って客観的に自分のスキルがどのくらいのレベルか、を把握するようにしてください。
エージェントサービスや TechTrainでも、求人の有無を確認しておくことをオススメします。ここで大事なのは「タイミングを逃さないこと」と「自分の現在地 (レベル) を都度把握すること」の2つです。
スキル面で足りない部分は、転職活動中に追加学習していくようにしてください。忙しい日々が続くかも知れませんが、ここが踏ん張りどきです。今の会社を「いつでも辞められるぞ」という気持ちをもって、サンクコストに執着しないように。
副業編(転職後やエンジニア向け)
まず、副業をはじめるための前提条件として、「実務経験1年以上」が挙げられます。どこの企業であっても、個人開発ではなく、エンジニアとしての実務経験がどのぐらいあるかが1つのものさしになります。
ただし、個人開発でがっつりユーザーを抱えてサービス運営していた、というのであれば話は別かも知れません。はじめに、フリーランスエージェントに複数社登録しておきましょう。
Webミーティングや電話での面談、またはメール等でこちらの要望をヒアリングしてもらいます。また、面談までの間に、履歴書と職務経歴書、スキルシートの作り込みを行います。副業では、ポテンシャルよりもスキル (何が出来るか) に重点を置いて記載するようにしてください。
エージェントとの面談に向けて、主に以下の点を考えておきましょう。
- 条件を明確に伝えておく
- 時給 3,000 円以上、平日夜〜土日稼働のみ (月 30-40 時間想定)、リモートワークのみ など
- 妥協しない
- エージェントから企業に交渉してもらう
- 妥協する場合はベースラインを決めておく (なんでもかんでも飛び付かない)
- なぜ副業したいかを言語化する
- 短期視点
- 稼ぎたい、スキルを身に付けたい など
- 中長期視点
- 単価を上げたい、独立準備がしたい など
- 短期視点
レバテックフリーランスなどの大手だと、週5常駐前提で提案してくることが多いです。なので、OffersやRemoguのようなサービスを上手く使ってお目当ての求人を探し続けましょう。
実際の求人に応募したあとは企業担当者との面談です。繰り返しになりますが、ポテンシャルよりもスキル (何が出来るか) に重点を置いて、相手が欲しがりそうな情報を提供しましょう。
今後の展望
今後の展望として、本業ではAWS Organizations(OU設計やSCP設計)に関するプラクティスは是非身に付けたいです。ここまで大規模なタスクに取り組める機会は貴重なので、わくわくが止まりません。
あとは、Athena とか Glue とか QuickSight を使って分析基盤作れるようになりたいなーとぼんやり考えています。ビッグデータ活用が叫ばれている中で、自分の中にもいくつか引き出しを作っておきたいですね。
また、副業については、現在の副業は楽しいですが、正直もっともっと稼ぎたいなーというところです。スポットで AWS 系の運用やコンサル案件や Rails の開発案件とかやりたい。現在は現職 (本業) メインなので、平日夜や土日稼働でも良いよっていう寛容な企業様がいらっしゃいましたら、ぜひ一度Offersなどからお声がけいただけますと幸いです。
まとめ
長文をお読みいただき、ありがとうございました。お疲れ様でした。
ここまでお読みいただいた方であれば、なんとなくロードマップがイメージ出来たのではないでしょうか。
これまでお伝えしてきた要点を簡単にまとめておきます。なお、具体的な内容については、各章をご覧くださいませ。
- 自分の人生を生きるべし
- プログラミングはとにかく手を動かすべし
- AWS は請求と不正アクセスに気を付けるべし
- エンジニア求人 (副業含む) は常にウォッチすべし
- 客観的な自分のスキルレベルを知るべし
- 自分が活躍できそうな土俵を選ぶべし
本記事が、読者の皆さんにとってよりよいキャリアを歩むきっかけになれば嬉しいです。