はじめに
2023年の12月中旬から2024年の2月中旬にかけて、株式会社サイバーエージェントさんのCA Tech Accelというイベントに参加してきました。このイベントを通して色々な学びを得ることができ、成長を実感できました。そこで、振り返り記事を書き納めることにします。
CA Tech Accelに参加するまで
私自身は、これまでどちらかというとフロントエンド寄りで学習やハッカソンでの開発を行ってきました。言語はTypeScript中心でReactを触ったり、Node.jsのフレームワーク使ったことがあったり、SQLの基本は書ける、くらいの程度でした。
そんなとき、CA Tech Accelというイベントが開催されると知り、この機会にバックエンド開発について理解を深めたいと思い、すぐさま応募しました。そして書類選考・面接へと進みました。面接はこれまでのチーム開発の取り組みを中心に、エンジニアを志す理由についても受け答えしました。その結果、合格を頂き参加が決定しました。
期間中の取り組みについて
私は希望通りバックエンドチームに割り当てられ、メンターさん2人体制で学習を進めていくことになりました。期間中にどのような取り組みをしたか少し書いていくことにします。
目標設定
CA Tech Accelでは最初にどのようなことを達成したいか、目標を設定します。私はGo言語に興味があったこと、またアーキテクチャや設計のことを特に学びたかったため、以下のような目標を設定しました。
学習と開発
学習の方針としては、Go言語でアプリケーション開発をしながら、適宜メンターさんにPRなどで指導いただきつつ学習を進めていく形になりました。そこで開発テーマとして、「エンジニアとして活動する人たちがブラウザを開かずとも飲食店を探せたら楽しいだろう」 と思い、Go言語で飲食店検索CLIとAPIを開発することにしました。そのアプリケーションは「pecopeco」 と名付けました。具体的には以下のことに注力しつつ、取り組みました。
- Go言語の構文や標準パッケージの理解
- ドメイン駆動設計(DDD) / クリーンアーキテクチャ / API設計など設計の基礎の理解
- OAuth2を用いた認証・認可のフローの理解
とりわけ、DDDの理解と実践が難しかったです。pecopecoを題材にどういったユースケースがあるのか、飲食店やユーザーの集約にどのようなドメイン知識が付随するのか悩みながらも、なんとか図にまとめました。そして、実際にコードに落とし込むというところまで行いました。以下に実際に行ったものを掲載しておきます。
成果発表会
成果発表会では、フロントエンド・バックエンド・ゲーム・ML/DSの各10チームがそれぞれどのような目標を立て、それに対してどのような取り組みをしたかといったことについて発表を行いました。どのチームもとてもレベルが高く、成果物等の質だけでなく、自発的に何かに取り組む姿勢など尊敬の念を抱きました。本当にすごいです。
対する私は一番最後の発表で、発表慣れしていないこともあって嚙みまくりでしたが、なんとか取り組んできたことを伝えることができたと思います。私の作った飲食店検索CLIアプリ「pecopeco」もウケが良かったので嬉しかったです。
以下、pecopecoの一部機能紹介
オフィスツアー
期間中、人事の方とメンターさんにオフィスツアーをしていただきました。渋谷のサイバーエージェントさんの大きなビルの中で、ABEMAを始めとしたサービスがどのように開発されているか様子を知ることができ、とても良かったです。また、他のAccel生とも対面で交流できたのもありがたかったです。
私のこれから
約3カ月間、まずは走りきることができたことにほっとしています。Go言語自体の理解が進んだだけでなく、設計力や実装力の向上にも努めることができる良い機会を頂きました。CA Tech Accel中に関わってくださった方々に感謝の思いです。
私自身はこれから就活という、次のライフステージへ移行するための活動をしていくことになります。引き続き、ソフトウェア開発について学びを重ねながら、なるべく焦らずに頑張っていきたいと思う次第です。
以上、振り返り記事でした!来年以降の学生さんがもし参考になれば幸いです。