Yuki さん ~ アソシエイト ソリューションアーキテクト
前職では、IT/ 通信事業会社にて新卒から約 8 年ほど勤務していました。直近 4 年間では、自社が提供しているプライベートクラウドサービスの運用保守部門に所属し、保守運用業務の自動化をするプロジェクトの PM およびシステム開発を行っていました。開発したシステムはゼロタッチオペレーションシステムと呼ばれており、プライベートクラウドサービスで故障が発生してから検知、復旧オペレーション、ログの記録、顧客への通知、オペレーターへの通知、アラートの削除までの一連のオペレーションをオペレーターが介在することなく自動で行うもので、そのシステムの企画、要件定義、仕様検討、開発、商用導入、運用まで一連の流れを実施していました。開発にあたっては、ServiceNow、Ansible といったソフトウェアや JavaScript、BashShell、Python といった言語を使って開発を行いました。また、PM として最大 13 名のプロジェクトメンバーを率いて、開発体制の整備、リリースに向けたスケジュール管理、他部署との調整業務なども実施していました。社内システムではありましたが、社内の DX 事例として営業経由でお客様に紹介したり、技術論文への投稿なども行うことで対外活動も行っていました。
IT 技術の資格取得や社内研修への参加、もしくは参考書を読むことで勉強をしていました。特に新しい業務や新しいプロジェクトなど、知見の少ない領域に携わることになった際は、業務以外でもキャッチアップを行いました。例えば直近 4 年間で携わっていたゼロタッチオペレーションシステムの開発と PM 業務においては、自身に開発経験も PM 経験もなかったので開発者としての技術と PM としての技術の両方を身に着ける必要がありました。まず開発者としては、開発プラットフォームとしての GitHub の使い方や DB 設計のための参考書を読んだり、JavaScript や Ansible のコーディングを行うハンズオンを交えた社内研修を受講したり、ITIL の資格取得を行ったりしました。参考書や研修や資格取得といったインプットだけでは実システムのゼロからのコーディングは難しかったので、社内のサンプルコードを元に手を動かしながらプログラムを動作させてみることで開発スキルを習得していきました。参考書は体系的な技術知識を得るために、資格取得は自信の技術スキルの指標やキャリアアップのために、ハンズオンやコーディングでは、実践的な技術習得のためにそれぞれ目的別に組みました。また、もう一方の PM としては、開発プロセスや開発手法の参考書を読んで勉強したり、PM の資格を取得したりすることで勉強しました。ただ、勉強した内容をそのまま実業務に充てるのは難しかったので、チームメンバーと議論をして実務に落とし込み試行錯誤を繰り返すことでプロジェクトを進めることができました。また、ベンダー主催のイベント、技術学会などの外部のイベントにも参加しました。そこでは最新技術のキャッチアップや他社事例を聞いたりベンダー製品に触れたりすることができます。参加するだけでも有意義でしたが、自ら登壇もすることで外部に発信し、自分の技術理解をさらに深めることにもつながりました。結果として、手探りではありましたがプロジェクトが無事に起動にのり、ゼロタッチオペレーションシステムの導入とその後4年間安定した運用を続けることができました。
ベンダー主催のイベントと情報通信技術学会の 2 種類の登壇経験があります。まずベンダー主催のイベントでは、そのベンダー製品を使って故障対応業務を 9 割削減した事例紹介として登壇しました。メリットとしては、聴講頂いた方からの質問やご意見から自分自身新しい気づきが得られたり、後日議論の場を設けて意見交換をすることでオペレーション分野での課題感やトレンドを知ることができました。また、自分自身のプレゼンス向上によりその後の仕事の幅が広がりました。具体的には、営業を介してお客様に社内 DX 事例として紹介を行ったり、SI 案件の技術支援を行ったり、新しい自動化プロジェクトの開発を担当することができ、技術スキルに幅を持たせることができました。もう1つの情報通信技術学会では、「大規模クラウドサービス故障復旧におけるゼロタッチオペレーションシステムの開発と評価」という論文を発表したことで、登壇の機会に繋がりました。自チームの目的に沿った開発を行ったシステムでしたが、論文ではより汎用的な技術として論ずる必要があるので、標準化・モデル化した方式に落とし込みました。また、システムの動作実績として、結果を数値化し評価と考察を行いました。それにより「なぜそのシステムが必要だったのか」「なぜその方式・設計になったのか」「なぜうまくいったのか」といったことが明確になり、自分自身の理解を深めることができたのと、他社に展開できる汎用的な方法論として確立することができました。また、その論文に対して学会から評価を得たことで自分自身の技術スキルの自信にもつながりました。
私の場合は前職で AWS を実際に触る機会がなかったので、AWS サービスに関する知識のキャッチアップが必要でした。まず AWS サービスに関する知識については、AWS の 200 を超えるサービスに加えて、その周辺の技術知識(例えば、DB や AI / ML などの汎用的な技術知識)も必要なのでとても苦労しました。ただ、AWS では社内研修だけではなく、公式で提供されている AWS 認定資格や BlackBelt などの動画や製品に関する FAQのように技術知識を身に着けるための仕組みと教材、ドキュメントがたくさんあるので、それらを利用することでキャッチアップを行うことができます。特に、AWS 認定資格はスキルアップの指標としてわかりやすかったのでまずはそこから取り組みました。また、AWS は多くのお客様に使っていただいているので事例やユースケースがたくさんあり、実案件ベースで AWS アーキテクチャを学ぶこともできます。 さらに、 ソリューションアーキテクト( SA ) には、特定のお客様のビジネスを支援するために必要な中長期的な視野を持った提案活動を含むエンゲージメントスキルも求められます。これまで、お客様と直接やりとりするような機会もあまりなかったのでスキル習得に不安もありましたが、ロールプレイや OJT などのトレーニングプログラムが用意されていて、RampUp 期間中に着実に習得することができます。実案件で先輩 SA のやり方を見て学ぶ機会もあり、習得機会としては豊富です。どちらのスキルにおいてもキャッチアップするべきことが多すぎて大変だと思うこともありますが、焦らず計画的に 1 つずつ習得していけば、お客様との会話の中で役立つときが来ます。そして自信につながり、また習得を続けようというサイクルが生まれ、それを続けていくことでスキルアップを維持しています。
CloudOps と Serverless と AI / ML です。CloudOps と Serverless については、前職で関わりのあった分野だからです。オペレーション分野における自動化を行ってきた経験を活かして CloudOps を今後の自分の強みとしたいと考えています。具体的な方法としては、分野別の社内コミュニティに所属し CloudOps 分野におけるアクティビティに積極的に関わっていくことでスキルを伸ばしていきたい考えています。例えば、AWS では毎年、AWS Summit などクラウド活用のベストプラクティスの共有や情報交換を行うイベントが開催されており、SA もセッションに登壇する機会があります。そのようなイベントで CloudOps 領域について、対外的に発表やデモを紹介したり、業務の中で勉強会や Workshop を開催することで自分自身の理解を深めたいと思います。また、自動化においてワークフローと API を使った複数のシステムを組み合わせたシステムの開発を行っていた経験があるので、Serverless 分野にも強く興味を持っています。マイクロサービスアーキテクチャでの設計や開発において、前職で学んだ設計思想や経験を AWS サービスでのアーキテクティングに役立てたり、そういった案件に積極的に関わっていくことでよりフォーカスしたいと考えています。一方で、AI / ML にフォーカスしたい理由は、自分の弱みだからです。前職で機械学習を使った予防保全を行おうとしていたのですが、ML 領域において十分な知識があまりなく大きな成果は得られませんでした。また、多くの業界やワークロードにおいて注目されている分野で、今後お客様からの引き合いも多くなってくる領域だと考えています。キャッチアップの方法としては、AWS でも AI / ML 領域のサービスは数多くあるので、そういったサービスの知識を身に着けることと、参考書や YouTube 動画を使った汎用的な技術学習も行おうと考えています。