【ITニュース解説】Accepted Into Enye Cohort 5
2025年09月12日に「Dev.to」が公開したITニュース「Accepted Into Enye Cohort 5」について初心者にもわかりやすく解説しています。
ITニュース概要
Enye Cohort 5インターンシップに合格した著者が、過去の挫折を乗り越え再挑戦した道のりを語る。API開発やUI/UX設計、データベース設計、技術選定など多岐にわたる実践的な課題を段階的にクリアし、多くの学びと成長を得て、最終合格に至った。
ITニュース解説
Enye Cohort 5への参加が決定した喜びからこの物語は始まる。夜中にアプリの修正作業をしていた筆者は、Slackで事前に通知されていたメールを心待ちにしていた。そのメールを開いた瞬間、喜びが込み上げ、ようやく肩の力が抜けたという。この合格は、筆者にとって特別な意味を持つものだった。
実は、筆者は以前にもEnyeのインターンシップ(Cohort 2と4)に応募していたが、多忙や期限内での課題完了への不安から途中で断念していた。しかし、今回、EnyeチームからCohort 5のインターンシップ募集のメールを受け取ったとき、その内容は筆者の心を強く捉えた。インターンシップの利点が具体的に示されており、当時より時間に余裕があったこともあり、筆者はかつてないほど参加への意欲を高めた。独学で開発を進めてきた筆者にとって、適切なツールとプロセスを用いたソフトウェア開発を体系的に学ぶ機会は喉から手が出るほど欲しかった。すぐに申し込み、友人にも応募を勧めたという。
最初の課題は、5日以内に提出するよう求められた。このタスクの目的は、応募者がJSONデータとRESTful APIを扱う能力、そしてフロントエンド開発におけるユーザーエクスペリエンスへの理解を測ることにあった。JSONはデータを表現するための軽量な形式であり、RESTful APIはWebサービス間で情報をやり取りするための標準的な方法だ。課題は二部構成で、一つはAPIから取得したデータを美しく表示するフロントエンドアプリケーションの開発とデプロイ、もう一つはクライアントからのリクエストに基づいて通貨レートを返すバックエンドアプリケーションの開発だった。筆者は自分で締め切りを設定し、それよりも早く提出した。全力を尽くしたが、過去の苦い経験から期待は大きく持たなかったという。
フェーズ1の課題が受理されたとの喜びのメールが届き、筆者はSlackのプライベートチャンネルに追加された。次のフェーズは、JavaScript、React、Node.jsに関する多肢選択式テストで、合格点を上回ることが求められた。JavaScriptはWebサイトに動的な機能を持たせるためのプログラミング言語、Reactはユーザーインターフェースを構築するためのライブラリ、Node.jsはJavaScriptをサーバーサイドで実行するための環境だ。筆者は自分のペースでテストに臨み、できる限りの努力をした。フェーズ1よりも少しだけ期待はしたが、落胆を避けるため、合格通知への過度な執着はしないように努めた。
フェーズ2のテストも合格したとの通知が届いた。しかし、そのメールには新たな課題が添付されていた。まるで「良い仕事の報酬はさらなる仕事である」という格言を体現するかのように、この課題は筆者を大いに刺激し、能力を最大限に引き出したという。提示されたアプリケーションの要件に基づき、以下のタスクを5日以内に完了する必要があった。
まず、Miroというツールを使ってユーザーシナリオマッピング図を作成すること。これは、アプリケーションのユーザーがどのような体験をし、何を達成したいのかを視覚的に整理する手法だ。次に、Figmaを用いてUIデザインを作成する。これは、ユーザーが実際に目にする画面の見た目や操作感を設計することだ。そして、Swaggerを使ってアプリケーションの標準的なAPIドキュメントを記述・設計する。これは、異なるソフトウェアコンポーネントがどのように連携するかを明確にするための設計書のようなものだ。さらに、Lucid Chartを用いて、アプリケーションのデータベースエンティティ関係図を作成する。これは、データベース内の情報がどのように相互に関連しているかを図で示すものだ。最後に、アプリケーション構築に必要な様々な技術(API、デプロイプラットフォーム、フレームワーク、ライブラリなど)をリストアップし、それぞれの利点、欠点、競合技術に対する選定理由、そしてアプリケーション開発における関連性を詳細に記述する必要があった。
これらのタスクをたった5日間でこなすのは非常に挑戦的だった。しかし、筆者がこの課題に強く惹かれたのは、実は前年に自身で構築したいと考えていたアプリケーションのアイデアと、その課題で求められるアプリケーションが酷似していたからだ。当時は最適なツールやアーキテクチャの知識がなく、実現を断念していた経緯があったため、この課題はまさに「避けていたものが自分を抱きしめてくれた」ような感覚だったという。
MiroやSwagger、Lucid Chartはこれまで使ったことがないツールだった。筆者はユーザーシナリオを考えることはあったが、それをアクティビティ、タスク、ストーリーに分類し、スプリントに配置するという適切な形式を学んだのはこの時が初めてで、2日間を費やした。SwaggerでのAPIドキュメント作成は、「コンポーネント」の概念を学ぶことで、より効率的かつ迅速に進められるようになった。Miroの優れたユーザーエクスペリエンスも作業を助けたという。また、データベースのエンティティ関係図の作成は、以前からそのアプリケーションのアイデアを温めていたことで、比較的スムーズに進んだ。
技術選定の正当化に関する記述には特に力を入れた。たとえ次のフェーズに進めなかったとしても、この作業を通じて、将来的に自分のアプリを構築する際にどのような技術を使えば良いかを学ぶことができるという考えがあったからだ。FigmaによるUIデザインは時間内に完成させられなかったが、筆者はあまり気にしなかった。課題の指示に「作業の質に基づいて評価される」とあったため、量よりも細部への配慮と品質が重視されると確信していたためだ。
フェーズ3合格のメールには、ソフトスキルを検証するためのインタビュー質問への回答を記録したビデオを3日以内に提出するという新たなリクエストが添えられていた。
最終的にEnye Cohort 5への参加が決定したが、筆者はたとえ選ばれていなかったとしても、この選考プロセス全体を経験できたことに大きな価値を見出していた。その理由はいくつかある。
まず、Enyeチームは応募期間中、一貫して応募者をサポートし、課題の採点プロセスも比較的迅速だった。ほとんどの返信メールは1週間以内に届いたという。次に、課題は明確で分かりやすく、現実のソフトウェア開発におけるタスクを模倣していた。また、応募者が自律的に課題に取り組むことを奨励し、手取り足取り教えることはしなかった。これは、実際の現場で求められる自立性を養う上で非常に重要だ。さらに、選考プロセスは公平だと感じた。もし不公平な点があれば、Slackチャンネルで誰かが不満を漏らしたはずだと筆者は考えている。フィードバックを求めることはなかったが、問い合わせた応募者には個別にフィードバックが提供された可能性も示唆している。そして、このプロセスは応募者を単に「振り落とす」ことに主眼を置いていなかった。選ばれなかった応募者も待機リストに登録され、選ばれた30人の中から辞退者が出た場合の代替候補とされていた。
筆者はEnyeチームに感謝を述べるとともに、インターンシップ中に共に働くことになる創設者やエンジニアとの協業、そして「魔法」を生み出すことを楽しみにしていると結んでいる。この一連の経験は、システムエンジニアを目指す初心者にとって、実践的なスキルの習得だけでなく、問題解決能力、時間管理能力、そして自己学習の重要性を深く理解する貴重な機会となったことだろう。