見出し画像

[報告] Microsoftでインターンしてきました

夏休みの間,日本マイクロソフト株式会社 (MSKK) にて"クラウドソリューションアーキテクト (CSA)"としてインターンをさせていただいておりました.

インターンについて

インターンの詳細はこちらにて確認できます.(2023年6月現在,インターン用サイトは閉じているようです)

基本月〜金フルコミットが求められ,それに対して月35万円の給与が与えられます(休むと減る).インターンは技術職・技術営業職・営業職の3つの大枠で応募できましたが,それ以上の粒度の志望はできません.僕はCSAというロールに行けたら最高だなと思いながら技術営業職に応募したらたまたまCSAとして採用されたラッキーガイです.

選考について

選考としては,①書類選考と②選考会の二段階がありました.

①書類選考

書類選考では,SwayというMicrosoftのサービスを使って,履歴書っぽいものを作成して提出します.ただの履歴書・CVというよりも,叶えたい夢や自分の強み,やりたいことなど,プロアクティブな文章を書く感じです.書くときはキラキラJKを憑依させると良かったです.

②選考会

選考会では,午前中にグループディスカッション,午後には面接官と1on1がありました.面接官はグループディスカッションを監視していました.

インターン中

第一週はMSKKの会社説明から始まる企業理解やカルチャー,マインドセットへのフィッティング,その他最新テクノロジー,D&I等々の理解を目的にしたようなプログラムが用意されていました.

二週目以降は採用されたロールに配属され,チームのマネージャーとメンターのサポートを受けながら二ヶ月間インターンを進めていきました.一週目は基本出社でしたが,ここからはハイブリッド形式で,必要があれば,また希望があれば出社しても良いという感じでした.自分は通勤に1時間半かかったので(つくば→品川)週1,2くらいで出社しては休憩がてら会社を散歩してました.

綺麗な食堂(社食がもっと安かったらなぁ...)

あと当たり前ですが,髪型・服装自由なのが個人的に嬉しかったです.

インターン期間中,何をするかは個人の自由ですが,チームひいてはマネージャーの方針も種々様々で,かなりサポーティブなチームもあれば,自由にやらせるチームもあるみたいでした.ただどちらにせよ二ヶ月間を通して何かしらの"インパクト" を創出することがインターン生に課せられた課題でありモットーでしたので,みんなエネルギッシュにやれることを探して奔走していました.

最終日には最終成果発表会があり,インターン生がそれぞれどのようなインパクトを残したのかをプレゼンしました.

最終日の集合写真

やったこと

口外できないものもたくさんありますが,言えるものを並べると以下の3つです.

  • Azure Container Apps用GitHubアクション開発

  • Azure Container Appsのバグを発見

  • その他

Azure Container Apps (ACA) (とGitHub)にフォーカスした二ヶ月間でした.ACAは2022年にGA (General Available)になったばかりの新しいプロダクトで,マイクロサービス用のフルマネージドサーバーレスコンテナーサービスです.Azureのコンテナー系サービスにはAzure kubernetes Service (AKS) というのがあるのですが,AKSのKubernetesの部分をフルマネージドしてくれたのがACAです.柔軟性の低さによる実用性の問題などまだまだ懸念点はありますが,今後のスタンダードプロダクトになると言われています.

Azure Container Apps用GitHubアクション開発

実はAzure公式のGitHubアクションってたくさんあって他クラウドベンダー(AWSやGCP)と比べてもかなり充実しています.

そんなAzureですが,ACA用の公式アクションがまだ無かったので開発・公開しました(関わってくださった社員さんには感謝しかありません).

このアクションは複雑なパラメータ指定の必要なくACAのプレビューリビジョンを継続的にデプロイしてくれるものです(イメージとしてはVercelやherokuがやってるプレビューデプロイと同じ).

このアクションはすでに48スターがついており,これはAzure公式アクション47個中12位の数です.少し誇らしいです.

Azure Container Appsのバグを発見

↑の開発中にACAの挙動におかしい点を見つけました.最初は自分の実装ミスを疑いましたが,詳しく検証した結果バグだと分かりました.発見後はGitHubを通してエスカレーションしました.なのでどのようなバグか気になる方はこちらから確認できます.

ACAでは複数のリビジョンに任意のトラフィックを当てれるのですが,もちろんトラフィック合計は100%にならないといけないわけです.合計が50%だと文字通り50%の確率でしかアクセスできないアプリが出来上がるので.今回そのトラフィック合計が100%にならないバグを見つけました.

これが単なるタイポとか簡単に治せる原因だと良かったんですが,調査を進めるとリビジョンとトラフィックの仕様の問題だと分かりました(やはり詳細はこちらから).

なので僭越ながらこういう仕様にしたらいいんじゃないか?それとももしかしてこれって想定仕様なんですか?だとしたら非常にconfusingですという意見を,出来るだけ開発チームの機嫌を損ねないようにエスカレーションしました(この技術は大事らしい).

そして後日開発チームよりメッセージがきました.

やっぱりバグでした.でもひとまず良かったです.この仕様がそのままだとACAでCI/CD組む際にとても面倒なことになりそうなので.自分では重要なバグだと思ってます(小声).

その他

  • Azure Container Apps + GitHub Actions勉強会

ACAとGitHubアクションによる自動化プロセスの概要とライブデモを1時間くらいしました.数日前から徹夜で作ったスライドが,今見返すとマジで黒歴史で笑えないです.

クラウドのプロ達にクラウドの勉強会するって正気かって思いながらやりましたが自動化まではディグれてない方も結構いて,やった意味はあったと思ってます(思いたい).アンケート評価は全員が5段階中5くれました(優しすぎる).

  • 1on1

Microsoftにはインターン生に限らず,社員同士が気軽に30~60minで1on1をする文化があります(もちろん就業時間内).僕は合計33人の社員さんと1on1をして,他ロールの理解度を高めたり,キャリアのこと相談したり,ぶっちゃけMSどうすかみたいなことを話してました.

  • インターン生イベント運営

複数人でインターン生同士が親睦を深めるイベントの運営をしました.イベント企画中に「まだ仲良くなれてない人たちでグルーピングしたいね」という意見が出たとき「組み合わせ最適化だね」とボソッと呟いたが最後,タスクは僕に振られました.

インターン生に"仲良くなれた人リスト"をアンケートし,その回答を元に焼きなまし法を実装して解いてみました.結構達成感あったんですが,当日欠席がいたりして,結局そのグルーピングは使いませんでした.
あはは...

  • Azure学習

チームの計らいで,メンターとは別に週メンターをつけてくださり,毎週与えられるテーマ(DevOps, Container, Serverless, Low-code, etc…)に沿ってAzureの学習をしてました(家庭教師みたい).

ACA+GitHubにフォーカスしてコミットしつつ,半受動的&網羅的にAzureを学べてとてもよかったです.

感想

かなり楽しかったです.あとやっぱり給料がしっかり出るのが嬉しい(軽井沢で散財してきました)

エンジニアでやっていくのもアカデミックでやっていくのも不満・不安があった僕としては,プロトタイピングしたり提案したりするCSAがとても合っていると感じました.

配属されたチームも最高で,チームの方々は全員優しくて優秀でした.マネージャーに関しては毎週「どう!?大丈夫!?無理してない!?徹夜とかしてない!?」と気にかけてくれて,あぁマネージャーかくあるべきという感じでした...徹夜はしてましたごめんなさい.

また大学とは全く違う環境でした.例えば「ブリリアントジャーク」に分類される人は,研究界隈では(ある程度)許容されます(歓迎する節もある)が,Microsoftでは見かけませんでした.インターン生を見渡して見ても同じことが言えました.そういった意味で,普段接しないような人たちと関わることはとても新鮮でした.

情報系の大学生をしてると人の能力をハードスキルで評価しがちですが,Microsoftのような大企業を構成する人員としてソフトスキルは不可欠なんだと思います.これは情報系大学生として生きてると養われにくい感性だと思います.

その感性とソリューションアーキテクトの実務経験が積めてなおかつ給料も貰えたので言うことなしです.星三つです.対戦ありがとうございました.

この記事が気に入ったらサポートをしてみませんか?