はじめに
こんにちは、インターン生の櫻井幸大です。普段は大学院で社会基盤インフラマネジメントについて研究をしています。 今回私は 9月16日から30日にかけて、約2週間に渡り行われた職場体験型インターンシップ(エンジニアコース)に参加させて頂きました。この記事ではインターンシップの体験記として、どんな内容に取り組んだのか、職場の環境はどのような感じなのかをご紹介します。
インターンシップ参加の経緯
梅雨に入ろうとするくらいの時期に就活を始めた私は(と言ってもただ某大手就活サイトに登録申請を送りやった気になっていただけですが)、夏前までは「インターンシップか~、どこかの会社に行ってみなくちゃな~」と漫然と思い過ごしていました。しかしいざ大学が夏休みに入ると、周りの友人が次々とインターンを開始する中で「もしかして自分もそろそろマズいのでは」と焦りを抱え始めました。
自分のやりたいことに思いを巡らせる中、インフラ工学を専攻している立場として、「インフラ関連の会社なら自分も何かにコミット出来るのかも」「どうせインフラを扱うなら時代の超々最先端を行く情報基盤について勉強したい」と思い描くようになりました。 そのままの流れで情報基盤の会社を検索し、技術や知識もなくただ熱意だけを込めた ESを書き上げ、志望部署の欄に「ネットワーク基盤」と丸をつけそのままエイヤっと提出したところ、とても幸運なことに合格の通知を頂くことが出来ました。 以上の経緯で、NTTコミュニケーションズさんのところで二週間の実習に励む運びとなりました(ちなみに体験型ワークショップの方には見事に落選しました)。
インターンシップに参加する前は NTTコミュニケーションズという会社について知っている単語はOCNのみで、長距離の通信をやっている会社なんだな~というぼんやりとした理解に留まっていました(それも公式のYoutubeで見た情報です)。 NTTコミュニケーションズが MVNO事業をやっているということも知らずにmobile関連の部署で実習させて頂くこととなり「ほんとによくこんな体たらくで合格なんてもらえたな…」と今でも思っています。
インターンシップで取り組んだこと
インターン前半期
このようにネットワークの基礎中の基礎も知らないままインターンシップに参加することとなった私ですが、もちろんこのまま業務に携わるわけにはいかないので、基礎の基礎を勉強するところからスタートしました(ここで初めてネットワークの階層モデルを知りました。当時の私はほんとにそういうレベルでした)。 勉強はトレーナーの方がほぼ付きっきりで見て下さったので、実際に使用される機器に触りながら、他に類を見ない速度で知識・技術を身に着けることが出来ました。とても楽しくワクワクしながら勉強できたことを今でも強く覚えています。トレーナーの方のピンポイントかつ丁寧で熱心な教育していただいたおかげもあり、たった一週間でゼロレベルの状態から BGPを用いた簡単なルーティングが出来るようにまでなりました。
ネットワークの基礎を学ぶのと同時に、配属されたグループの方々にはPCRF(モバイルのポリシー制御システムを司る機能)の更改についてや、今をときめく5G・Local 5Gの技術についての説明を受ける貴重な機会を頂きました。特に現状の携帯網で使われているEPC(スマートフォンから送られるパケットが基地局からインターネットに抜けるまでに通過する部分)の中の仕組みについてのお話や、これが5Gになって5G COREへとガラリと変革する、といった内容がとても面白かったです。
総じて、前半期では 技術の基礎から今起こっている問題や実際の事業現場のお話まで、非常に幅広い内容のお話を聞く機会を提供して頂けました。
配属されたグループにおいて、たくさんの人からが何をどう思いながらお仕事に取り組んでいらっしゃるのかを吸収することが出来ました。この期間で自分の中で会社のイメージはかなり大きく良く変わりました。
インターン後半期
インターンシップの後半では「次期ネットワークに更改するにあたり検討されているClos Fabricネットワークを構成する機器が、ルーティング広告の負荷に耐えられるのかを検証するシステムを構築する」という実際の業務に少しだけ関わらせて頂きました(といっても自分の方から何かを提案させていただくというものではなく、実際の開発の現場を体験するといった内容です)。
ネットワークは構成機器がそれぞれのルーティングテーブルを正しく保持することでパケットのやり取りが可能となり、これが正確でなければきちんとパケットが正しく伝達できません。 今回新しく導入が検討されているClos Fabricネットワークでは、EVPN/VXLANというプロトコルを用いてルーティングのアドバタイズが行なわれています。ネットワークが正しく使えるかどうかを確かめるためには、アドバタイズされた通知を受けて各構成機器がきちんとルーティングテーブルを更新しているかどうかを検証することが必要です。プロトコルエミュレータを用いて行うこの検証を自動化する仕組み(アドバタイズをもとにルーティングテーブルが更新されているかを確かめる仕組み)について、今回自分が実習の中で制作に携わらせて頂きました。
開発は、Dockerを用いて仮想化された実行環境上で行いました。コンテナ技術とは OSの上で開発環境の切り離しを行いプロセス分離による処理の軽量化を実現した仮想化技術のことであり、これによってハードウェアの状態と切り離した状態の中で開発環境を動かすことが可能となります。こうすることで開発する個人の状態に依存しない開発環境の整備が出来るようになっていました。 更に、今回携わったチームにおける開発環境では、GitLabを利用することで多人数での同時的なコード開発・デバッグを実現する環境が整っていました(流石はソフトウェア開発分野の最先端の最前線)。Gitのシステムを初めて使わせてもらうこととなり、開発のツリーに自分の足跡をほんの少しでも残せたことが、とても嬉しかったです。
ちょうど自分のインターンシップ時期が次期ネットワークへの移行を模索している段階と重なったということで、ネットワークの網が張り替わる、まさに時代の変わり目に立ち会えたかのように感じました。 また、ネットワークが更改される作業にほんの一部分ですが携わることができ、そこに携わる社員の方々からたくさんのお話を伺うことを通じてシステムの増築・保守・維持管理・あるいはその先の未来に向けて俯瞰的な眼差しを持って基盤を創るのが大切だなぁ、と学びました。 今日の情報インフラ分野ではもの凄いスピードで技術革新が生み出され続けていく中で、自分も負けじと知識・技術を吸収し続ける、勉強し続け現場に応用していくことが改めて必要であると気づかされたような気がしています。
インターンシップを振り返って
インターンシップを終えて私の抱く NTTコミュニケーションズの今のイメージは、「将来の情報基盤に向けて挑戦を重ねる会社である」と感じています。インターンシップ期間中に何度か配属されたグループの定例会に参加させて頂いたのですが、そこでの議題の内容が非常に濃く自分の中で印象に残っています。 システム間のリクエスト処理の仕組みや次期装置の更改に向けてのアジェンダを話し合う方々の姿を見て、次の社会の下支えを積極的に創る熱意を私は感じ取りました。その中のほんの小さな一端にでも自分の二週間が関われたことを、とても嬉しく感じました(Gitのログに名前を刻めたことが自分の何よりの宝物です)。
インフラは何かをするための基盤であり、なくてはならない下部のレイヤーです。だからといって使えればいいという簡単なものではなく、将来や時代を見据えた俯瞰的で総合的なアプローチが重要であると私は考えます。NTTコミュニケーションズは情報基盤を積極的により良くしようと果敢に挑戦されている、ということを会社で働く方々のお話を聞いて肌で感じましたし、「志を高く熱意を持って社会に貢献したい」という方にオススメの会社であると私は感じます。また、凄い人から凄い内容を学ぶ仕組みが充実しておりますので、「自分の技術力を向上させていきたい」という技術的な上昇志向の高い人にもオススメの会社と言えます。
また、今回のインターンシップは最初から最後まで全てリモート環境での実施とはなりましたが、それでも多くの方々に熱心に実習を支えて頂き、社員の方々の温かさというのも非常に色濃く感じました。 Slack等で何かを聞けばすぐ的確に答えて下さるトレーナーさんの優しさや、インターン生一人ひとりに業務用のパソコンを送付してくださったヒューマンリソース部さんのご厚意もあり、快適に、とても楽しく実習に取り組むことが出来ました。本当にありがとうございました。
さて、これから秋も深まる中、就職活動も次のフェーズへと移行していきます。今回のインターンシップでは無知の状態から情報インフラの分野に飛び込んでみて、ほんの少しの基礎を学ぶのと同時に、情報分野の果てしない広大さに打ちひしがれました。しかし、たくさんの人のお話を直に伺う中で「熱意」に関してはより一層高まったように感じます。 もちろん道は険しいのですが、「今の自分に何が足りないのか」はなんとなくでも見えてきたような気がしてますし、インターンで学んだ内容を精一杯活かしてより一層社会貢献できるようなエンジニアになれるよう、勉強にも尽力していければと思っています(もちろんESにも技術面からのアピールポイントを書けるように頑張ります)。NTTコミュニケーションズの皆さん、二週間という短い期間でしたが、本当にありがとうございました。
トレーナーからのコメント
今回インターンシップを担当した プラットフォームサービス本部データプラットフォームサービス部の溝口です。
櫻井さんは、ネットワーク関連の技術スキルは確かにほとんどゼロの状態でしたが、この2週間でネットワーク装置の検証の自動実行プログラムの作成ができるところまでスキルアップしてもらうことができました。これは櫻井さんの、物怖じせず疑問に思った点は何でも質問できるキャラクタによるものが大きいと感じました。今後ともぜひ続けていってほしいですね。
インターンシップを通じて開発部門において大きな割合を占める検証という業務を経験して、企業の中でエンジニアがどのように業務を行っているかイメージをもっていただくことができたのではないでしょうか。この経験を活かしてより一層就職活動や研究に励んでいただければ、トレーナーとしても嬉しい限りです。