📚

【エンジニア職】Finatextグループサマーインターン開催レポ -2024年-

2024/10/31に公開

集合写真
エンジニア職サマーインターンプログラムを修了した皆様とメンターの様子

はじめに

こんにちは!エンジニアのreoです。
Finatextグループでは現在新卒採用を強化しており、若手社員が中心となって日々さまざまな施策を企画・実施しています。

今回はその中でも目玉施策である、サマーインターンシップについて紹介します。エンジニア就職を考えている学生の皆さんは、ぜひ今後の参考にしてください!
なお、インターンプログラムの内容は、あくまで今年度のものとなります。今後内容が変更になる場合がありますので、あらかじめご了承ください。

ソフトウェアエンジニアプログラム募集・選考

詳細につきましては、以下の募集ページをご覧ください。
https://hd.finatext.com/news/20240529/

ソフトウェアエンジニアプログラム概要

今年のプログラムでは、弊社の事業に関連して、証券取引システムを構築するというテーマで実施しました!
具体的には、参加者は2チームに分かれて、それぞれ注文受付システムを構築するというものです。
(下図の赤枠の部分)

プログラム詳細/説明
ソフトウェアエンジニアプログラム詳細

上記に加えて、各チームそれぞれに要件にあったシステムにするように+αの条件を設けました。
これは、「同じシステムでも、要件によって構成が異なることを体験してもらう」ためです。

プログラム説明/詳細
チームごとに異なる要件

ソフトウェアエンジニアプログラムスケジュール

前年に引き続き、今年も5日間のスケジュールで実施しました。
ソフトウェアエンジニアプログラムでは、開発作業に加えて社内外のエンジニアによる講演、現場エンジニアとの1on1の実施など内容盛りだくさんとなっています!

スケジュール説明

1日目: オリエンテーション

プログラムは、弊社CEO林による激励から始まりました👏
Finatext設立までの歴史やその裏にあるカルチャーを聞き、この後のプログラムに臨む気持ちを作っていきます💪

講義風景_林さん
CEO林による講演の様子

また、特別ゲストとしてアマゾン ウェブ サービス ジャパン合同会社様から髙橋様(Yukkiさん)をお招きして、クラウド時代におけるエンジニアのマインドセットやアマゾン ウェブ サービスが提供するサービス(以下、AWSサービス)の基本的な使い方、それらの使い分けなどについて特別講義をしていただきました👏

講義風景_Yukkiさん
Yukkiさんによる特別講義の様子

Yukkiさんはパートナーソリューションアーキテクトであり、Japan AWS Jr.Championsを運営している方でもあります。
Japan AWS Jr.Championsは、周囲に影響を与えている若手AWSエンジニアを選出しコミュニティを形成するプログラムです。

2024年度はFinatextからも2名選出されています!
https://hd.finatext.com/news/20240625-2/

そんな方から学ぶ精神・技術両面のトピックを、このプログラムのみならず、今後のエンジニア人生に活かしていくことを期待しています!

2日目以降: 開発

2日目以降、参加者は実際の開発作業に取り組みました。
各チームは、データの収集、加工、保存、そしてAPIの実装に取り組みました。

特に、Amazon Simple Storage Service(以降、Amazon S3)やAmazon DynamoDB(以降、DynamoDB)を使用したデータの保存や、AWS Lambda(以降、Lambda)を用いたサーバーレスアーキテクチャの構築が重要なポイントとなりました。

チーム作業風景
チーム内で議論している様子

開発作業中、参加者はメンターからのサポートを受けながら、問題解決に取り組みました。

メンター質問風景
メンターと議論を交わしている様子

メンターは1on1を通して、技術的なアドバイスだけでなく、チーム内でのコミュニケーションや役割分担についてもアドバイスを行いました。

メンター質問風景
1on1の様子

また、期間中は参加者を囲んでランチ会も開催しました!

ランチ風景
ランチでワイワイしている様子

ランチ風景
AWSコミュニティ恒例のAmazon S3ポーズ

ランチ風景
ランチ中に目線ありがとうの様子

2日目以降: 社内エンジニア講演

2日目は弊社新卒エンジニアの佐田から「深化と探索で強いエンジニアを目指す」というタイトルで講演いただきました 👏

講義風景_佐田さん
エンジニア佐田による講演の様子

ソフトウェア産業の変遷とソフトウェアエンジニアの仕事についておさらいした後、「深化」と「探索」というワードを用いて予測困難な世の中でプロダクトとエンジニアがどう歩んでいけるといいかといった壮大な発表でした!
学生にはもちろん、現職のエンジニアにとっても考えさせられる内容でした…!!

4日目は、弊社CTO/CISO田島によるFinatextグループの開発組織について講演いただきました 👏

講義風景_田島さん
CTO/CISO田島による講演の様子

Finatextで使われている技術だけに留まらず、弊社で運用されているガードレール戦略に踏み込むことで、技術に対して効率性だけでなくセキュリティを常に意識することの重要性について説明いただきました!

ガードレール戦略の話は、記事が公開されているのでぜひ一読ください!
https://techblog.finatext.com/finatext-aws-guardrail-2705cd1e3679

5日目: 成果発表会

最終日には、成果発表会が行われました。
各チームは、最終的なプロジェクトの成果を発表し、デモを行いました。
参加者は、自分たちが開発したシステムがどのように機能するのかを実演し、質疑応答の時間も設けられました。

チームAの発表

チームAの要件は、「コストを抑えつつ、柔軟なデータスキーマと簡易リカバリを重視したPoCレベルのシステムを100人規模で運用したい」というものでした。
それを踏まえて設計されたアーキテクチャがこちらです 👏

アーキテクチャ図A
チームAのアーキテクチャ図

本サマーインターンで、初めて本格的にAWSサービスに触れたメンバーもいる中、「コストを抑える」「ユーザー数の規模」という観点から Lambda 、「コストを抑える」「柔軟なデータスキーマ」「運用に人的ソースをあまり回せない」という観点から DynamoDB を選定するなど、要件を整理して、実務と遜色ない設計をしている点が印象的でした。

チーム発表A
チームAの発表の様子

また、発表後の質疑応答では「ユーザーが今後増えることを考慮した場合、最初にボトルネックになる部分はどこか」といった運用観点での質問も飛び交いましたが、質問の意図を咀嚼して回答している点も素晴らしかったです 👏

チームBの発表

チームBの要件は、「高可用性と迅速なレスポンスを重視し、50万人規模の高トラフィックに耐えうるスケーラブルなシステムをコストを気にせず構築・運用したい」というものでした。
それを踏まえて設計されたアーキテクチャがこちらです 👏

アーキテクチャ図B
チームBのアーキテクチャ図

「可用性」を軸にした設計を求められているという要件をきちんと理解して、「常時起動している」「自動スケーリング」という観点から Amazon Elastic Container Service (以降、Amazon ECS)、その前段にApplication Load Balancer(ALB)を用意することで、複数のアベイラビリティゾーン(AZ)に Amazon ECSを配置して負荷分散、単一障害点の排除を行う設計が印象的でした。

チーム発表B
チーム発表B
チームBの発表の様子

現場のエンジニアからも技術選定の観点に対して補足が出るなど、こちらも実務と遜色ないやり取りをしていました 👏

Slackスクショ
弊社エンジニアからの補足コメント

講評

発表会にはアマゾン ウェブ サービス ジャパン合同会社よりゲスト審査員をお招きしましたが、今年度の成果物は非常にレベルが高く、初めてAWSサービスを触ったとは思えないような、よく考えられた設計がされていた、という講評をいただきました!

講評風景_平野さん
ゲストによるフィードバックの様子

また、今後のキャリアに向けたアドバイスや、Finatextでの長期インターンシップや新卒採用についての案内もあり、参加者は次のステップに向けた意欲を新たにしました。

インターン閉会式
プログラム修了後、メンターからの長期インターン案内の様子

参加者の声

https://x.com/maotan426/status/1829478878336991401
https://x.com/shaun_gram/status/1829543500272246841

まとめ

夏の暑さや台風にも負けず、今年も無事サマーインターンプログラムを完走することができました 👏
実践的なシステム開発を通して、技術的なスキルだけでなく、チームでの協力やコミュニケーション能力も向上させる機会になれていたなら幸いです。

Finatextではインターンを経て活躍する新卒社員も多く、スキルアップを図るのに充実したプログラムを提供しています。これからも参加者の目線で内容をブラッシュアップしていきますので、ぜひ次回以降の開催をお楽しみに!

Finatext Tech Blog

Discussion