見出し画像

C#・Azure アプリケーション開発者が AWS 資格試験に取り組んでみた

はじめに

こんにちは、SHIFTのITソリューション部に所属しているNakanoです。

私は新卒以来19年間、Microsoft製品を利用する基幹業務アプリケーションの開発に従事していました。アプリケーション開発はある程度やり切ってきた感があり今後のことを考えていく中で、昨今のDXの流れを感じ、より幅広い領域で貢献したいと思いました。そこでSHIFTに転職し、未経験のインフラエンジニアに転身しました。

アプリケーション開発とITインフラは明確な境界がありスキル領域も異なります。そのため未知に近い領域であり、いち早くスキルを得ることがお客様に貢献するための最初の課題でしたが、周囲に相談しながら考えた結果、AWS認定資格取得をその手段として選択しました。理由は以下の通りです。

  • クラウド化が進んでおり、インフラにおいてもクラウドエンジニアのニーズが高まる。

  • 3大クラウドに代表されるパブリッククラウドにおいても、AWSのシェアが他に比べ圧倒的に高い。

2022年5月頃から取り組みを開始し、約半年で「Cloud Practitioner」「Solution Architect - Associate」「Developer - Associate」を取得しました。今回はその取り組み方法と共に、別領域であるアプリケーション開発経験がどのように活きたのか、AWS認定資格取得を通じて得たスキルをどのように実務に活かせているのかについて、ご紹介します。

私と同じように別領域に転身してITエンジニアとして幅を広げたいと考えている方の一助になれば幸いです。

これまでの経験と技術領域

本題に入る前に前提として、冒頭でも触れた転職前の経験と強みとする技術領域を説明します。

業務内容

新卒で基幹業務アプリケーションベンダーへ入社以来、C#とSQL Serverによる基幹業務アプリケーション開発に従事していました。

業務内容としてはアプリケーション開発で一般的である、業務分析、要件定義、設計、コーディング、テスト、製品リリース(CDやDVDに焼き付け、ISO化など)といったものです。

この数年はSaaS化の流れを受け、オンプレミスのパッケージソフトをAzure上に展開するサービスに移行しており、製品リリース作業がAzureのデプロイや性能監視など変わりました。

強みとする技術領域

前職ではMicrosoftにフォーカスすることを謳っていたこともあり、Microsoft製品を得意としています。特に以下の製品を強みとしていました。

C#

コーディング → 若手のコードチェックをしたりペアプログラミングを頼まれたり。社内ではシニアメンバーの位置づけ。

SQL Server

物理設計やクエリ実装はもちろんのこと、チューニングも担当。C#同様社内ではシニアメンバーの位置づけ。

Azure

SaaS として利用、AppService と SQL Database をメインに、監視やセキュリティ周りの機能を触ったり。 インフラ面ではあまり関与せず。
もちろん自身の業務環境やお客様サポート関連で多少触れることはありましたが、主業務としてインフラに関わることはありませんでした。

AWS認定資格取得ロードマップ

当面は以下の順序でアソシエイトレベルの資格を取得することとしました。

  1. AWS Certified Cloud Practitioner(以下「Cloud Practitioner」)

  2. AWS Certified Solutions Architect - Associate(以下「SAA」)

  3. AWS Certified Developer - Associate(以下「DVA」)

  4. AWS Certified SysOps Administrator - Associate(以下「SOA」)

  5. AWS Certified Solutions Architect - Professional(以下「SAP」)

  6. AWS Certified DevOps Engineer - Professional(以下「DOP」)

まずはAWS上のサービスをAzureと対応付けすることで名称と内容を覚えてアーキテクチャを脳内でイメージできるよう状態を目指すこととしました。
そのためにCloud Practitionerでとっかかりを作り、SAAの学習を通じてより広く・深くすることを目指しました。

次はより各サービスの使用方法に対する知識を深めるため、DVAとSOAを目指すこととしました。DVAを先にしたのはアプリケーション開発経験がある自分にとって馴染みやすいのではと考えたことが理由です。
DevOpsの発想からすれば先に運用領域を含むSOAを目指すことも考えられましたが、やはり前職の経験から、運用を想定しながら学習することでDVAが先でもデメリットは無いと判断しました。

その先はさらに各サービスに対する理解を深めるため、プロフェッショナルレベルの2つを目指すように設定しました。

AWSは未経験でしたが前述の通りAzureは前職で日常的に触っており一般的なパブリッククラウドの概念は理解していたため、まずはAWS上のサービスをAzureと対応付けすることで名称と内容を覚えてアーキテクチャを脳内でイメージできるようにした上で、1つ1つのサービスの知識を深めていく方針としました。

これまでの受験結果

2022年12月時点で約半年が経過し、3つ目のDVAまで合格しました。
それぞれの取り組み方法と結果をまとめます。

Cloud Practitioner

取り組み方法

設問の傾向を把握する意味で、Web上にある模擬試験(私はUdemyを選択)を利用しました。設問と解説だけでサービス名と概要は十分理解できそうでしたので、他は使用せず模擬試験を繰り返し解きました。業務の空き時間で1週間ほど取り組み、総時間も10時間程度でした。

苦労したこと

ここではほとんどありませんでした。
強いて言えばAzureに比べAWSの方がサービスが細分化され、正確には把握していませんが数も多いと感じました。
そのためあるAzureのサービスに対応するものがいくつかあるように感じ、対応付けに戸惑う局面が当初発生しました。これもAWSのサービスとして理解が進むにつれ解消しました。

所感

苦労したことにも記載しましたが、AWSはAzureに比べサービスが多いです。他のクラウド経験者が後からAWSに取り組む場合には誰もが感じるのではないかと思います。
逆にAWS経験者が他のクラウドを学ぶ際には取り組みやすいと想像しました。

Solutions Architect Associate

取り組み方法

まずアソシエイトレベルの難易度とCloud Practitionerとの差異を測る意味で、Web上にある模擬試験を利用しました。予想通りCloud Practitionerに比べ各サービスに対する詳細な理解が求められることが分かりましたが、設問で求められる知識領域は把握できたため、以下の知識を強化する学習方法を検討しました。

  • ネットワーク関連の知識

  • AWSの各サービスの知識

その結果、SAA向けの学習コンテンツを利用することとして、費用・充実度の両面ですぐれていたUdemyの教材を購入し、通勤電車で学習しました。
その後は模擬試験を解き9割程度の点数が出せるようになるまで繰り返しました。この頃には業務も忙しく、ほぼ通勤時間しか使えなかったため、2ヶ月程度の期間で学習しました。総時間は24時間程度です。

苦労したこと

とにかくネットワークのセキュリティを設定する分野は、業務経験が無かったため苦労しました。
恥ずかしながらIPアドレスの割り振りやインバウンド/アウトバウンドも概念レベルしか理解できていなかったため、この部分は分からないことが出るたびにWeb上で基本的な用語や知識を確認しながら進めました。
幸い検索すれば豊富に情報が出てくるため学習自体はそれほど苦労しませんでした。またあくまでクラウドであり実機や配線は考えなくて良い点も救いでした。

所感

個人的な感想としては、Cloud PractitionerはあくまでAWSの入門編であるのに対し、SAAはAWSエンジニアとして必要最低限の知識を持っていることを確認するための認定試験であると感じました。
実務にもこの先の認定試験にも、SAAの対象範囲のサービスに対してこの程度の知識は維持する必要があると思います。
そのため合格後も時々学習に使用した教材は見返しています。

また一方で、前職での経験が通用するのはごく一部であることを感じました。一言で言えば「領域がずれている」ですが、もう少し言えば以下の通りです。

  • AWSのサービスの中でも特にIaaS部分の知識が必要

  • アプリケーション開発観点の知識はほぼ役に立たない(ミドルウェアを組み合わせるような経験が一部の設問の助けにはなりましたが、それもごく一部でした)

他の類似ブログでもアソシエイトレベル3資格の中で難易度をそれぞれ述べていますが、個人的には一番苦戦したのがSAAでした。

AWS Certified Developer - Associate(以下「DVA」)

取り組み方法

開発者向けと謳っていることもあり、前職の経験との親和性がいかほどか?を測って学習方法を検討しようと考えました。
ここでもやはり最初にWeb上の模擬試験を使用しました。
その結果、設問に対する解決策は分かるものの、いかんせん対象範囲に含まれるサービスの詳細設定や構築方法に対する理解の必要性を痛感したため、やはり教材を利用した学習に取り組むことにしました。

一方で、開発業務としての知識(コードのビルドやデプロイ、キューを使用した処理の平準化、データ連携、等)は前職の経験がほぼ通用したため、この観点での学習は全く取り組みませんでした。
その分、設問に対してある程度設定や構築方法を覚えられたら脳内で構築手順をイメージすることに取り組み、そこで疑問点や違和感があれば公式ドキュメントやマネジメントコンソールを見て解消するというアプローチに取り組みました。

学習期間はやはり通勤時間だけを利用し、2ヶ月程度の期間で学習しました。総時間は15時間程度です。

苦労したこと

学習開始当初こそはAWSのサービスに対する知識を付けるのに時間と労力を割きましたが、その先はほとんど躓く部分はありませんでした。

所感

「いずれかのパブリッククラウドでアプリケーション開発の経験があれば馴染みある領域である」という印象です。
SAAを取得していればAWSの必要最低限の知識が土台としてできているので、あとは実際に設定や構築する知識を付ければ通用するのではないかというのが個人的な感想です。
認定試験では試験中調べることはできませんが実務では調べることも可能ですので、それなりに実務にも入れるのではないかという感触があります。
これはAzureでの実務で何かある度にあれこれ調べたりする苦労があったという前提も功を奏しているという側面もありそうです。

現在の状況

AWS認定資格取得ロードマップにも記載した方針で現在も学習を進めており、2023年2月頃にSOA受験予定です。

また実務においても、現在参画しているプロジェクトにてお客様からAWS案件の支援のご相談をいただき、概要の説明にて業務内容や求められるスキル・知見もすぐに把握できるなど、早速学習成果が活きている感触を得ています。実際にはお客様固有の部分をキャッチアップする時間が必要になると思いますが、案件支援と学習の両軸でスキルアップを達成し、より貢献することを目指しています。

まとめ

転職が決まった当初はアプリケーション開発者だった自分がインフラエンジニアとして通用するのかが不安でしたが、現在は業務に邁進しながら自己研鑽を継続すれば、十分に通用するという実感を得ることができ、実際にお客様からもご評価いただけています。
ITエンジニアにはそれぞれの専門領域・強みがあると思いますが、そこをとにかく深めるという道があるように、広く&そこそこ深くという方針で対応できる範囲を増やすという道も同様に価値があると、私は考えられるようになりました。

また、実務経験無い領域の資格取得を目的とした学習についても、当初は方法論的だと懐疑的でしたが、実務に使う想定をしっかり持って資格を選定するのであれば、単なる資格ホルダーで終わるのではなく後付けで実務に活かせることも体験でき、王道ではないかもしれませんが決して無駄にならないと自信を持って言えるようになりました。
自己研鑽に対して明確な目標と期日を設定できるという意味でも、認定試験を使用するのは有効な手段だと考えています。

AWS(Azureなど成長中のパブリッククラウド全般そうですが)という観点では、幸いサービス自体が日々進化を続けるため、資格を取ったら終わりではなくその知識をアップデートし続ける必要があります。
そのため資格がただの飾りではなくITエンジニアとして成長し続けることの手助けにもなるのではないかと思っています。

引き続きAWS認定試験に取り組みインフラエンジニア、クラウドエンジニアとしてのスキルを身に付け、多くの領域で貢献できるITエンジニアを目指して自己研鑽を続けます。

おわりに

今回の記事では、C#アプリケーション開発者がインフラエンジニア・AWSエンジニアを目指すというテーマで私の体験をまとめました。
目的としっかりとした戦略を立てて臨めば十分可能であるという点が、経験や領域が違えど似たような挑戦をしようとしているITエンジニアの一助になれば幸いです。 私自身もこの挑戦を続け、随時技術ブログ等でアウトプットしていこうと考えています。


執筆者プロフィール: Hideaki Nakano
SHIFT ITソリューション部に所属。現在は某金融機関のオンプレシステム更改案件にPMOとして参画、その流れで同じお客様のAWS案件の支援も提案中。
ベンダーのインフラ設計推進の傍ら、前職経験を活かして顧客の業務要件の理解およびインフラへの影響の把握など、知見を駆使して日々奮闘の毎日。

お問合せはお気軽に
https://service.shiftinc.jp/contact/

SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/

SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/

SHIFTの導入事例
https://service.shiftinc.jp/case/

お役立ち資料はこちら
https://service.shiftinc.jp/resources/

SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/