2023年に取り組んだ事

2023年も残すところ3日となりました。今年はいろいろなものに取り組んだ年で自分にとって非常に大きな年となったと思っています。 しかしながら、SNSを見てもらっている友達に「なんかよくわからないけどいろいろやっているみたいだね」と言われ、自分でもどんなものに取り組んだのか簡単に説明できなかったので、記録も兼ねて2023年を振り返りたいと思います。情報系の学生の成長期として大学の後輩の参考になったら嬉しいです。

1月

2022年の12月にICPC(大学対抗プログラミングコンテスト)のアジア横浜リージョナル大会に出場し、次の日に帯状疱疹を発症して年末に営業している病院に感謝しながら元日を迎えた2023年でした。

この時はまだ予備校でバイトをしていたため1月は担当の受験生のことをいつも考えていた気がします。クッソ寒い中湯島天神に行ったことと、クッソ寒い中共通テスト当日朝に受験生を駅で送りだしていたことを覚えています。共通テストでは同日模試という模試のために、送られてきた問題を模試の会場で印刷して模試の準備をする仕事をしていました。

2月

期末試験を適当に乗り越え、国公立2次試験もおわり、予備校でのバイトがひと段落した2月でした。 2月の末にICPCの企業ブースにお邪魔したM社の懇親会でおいしいお肉を食べました。

MCDegitalのお金で食べたお肉
ICPCの懇親会ということもあり、ICPCの選手としてはnoimiさんやbayashikoさん、MCDegitalの社員の方としてはhitonanodeさんやおふとんらぼさんなど錚々たる競プロerが集まっており、少し緊張しました。 この帰りに、情報科学科の先輩が運営している石池というWebサイトを引き継いでくれる人を探しているという話をICPCチームメンバーの先輩から伺い、なんやかんやあって、自分が引き継ぐことになりました。ここから私のWeb開発が始まりました。

3月

懇親会に参加したこともありM社のインターンの案内があったのでとりあえず申し込んでみました。 が、本当になにもわからず自分の弱さを感じました。(当然落ちました) ここで落ちた経験は今後いろいろな企業のインターンに申し込むモチベーションになったかなと思ってます。

高松で朝6時に食べた超おいしかったかけうどん

4月

履修登録時に大学のシラバス検索システムがあまりにも使いづらかったので、自作しました。Twitter上で公開すると、かなり好評で教授の先生からも良い反応を頂きました。

しかし、このシステムはcsvで保存したシラバスのデータをフロントエンドで処理するものだったので、非常に重く、パフォーマンスが悪かったです。

また、石池を前の管理人のeikiさんから引継ぎ、石池の機能開発を少しずつはじめました。これが初めての本格的なWeb開発だったので、ドキュメントを読みながら既存のコードを理解するのに苦労しました。

また、前期は通常の授業に加えて、希望して小町研究室の自然言語処理の基礎勉強会にB2ながら参加しました。機械学習の雰囲気を学ぶことが出来ましたが、現在もまだまだ勉強中です。。。

5月

D社のインターンを受けました。これも全然わからなくて落ちました。 また、4月に作ったパフォーマンスの悪かったシラバス検索システムをデータベースを使ったまともなものに作り直しました。シラバス検索システムは石池を動かしているサーバーで動かしたかったので石池に機能を追加する形で実装しました。石池をいじる過程でWeb開発についてだんだんと理解していきました。

6月

2023年のICPC国内予選のチーム練習を本格的に始めました。去年は青コーダーの先輩にキャリーされてアジア大会まで連れて行ってもらいましたが、今年はtriC(都立大競技プログラミングサークル)のメンバーが増えたこともあり、2つチームを組むことが出来たので、1年生2人と自分のチームで出場することになりました。大会が近くなると週2回はチームで過去問を解くようになり、この時が一番競プロに取り組んでいたと思います。優秀な後輩たちに感謝。

1限に行く電車で眠りにつき、乗換を忘れて高尾山駅に付いて、ノリで高尾山を登ったりもしていました。

6月にはチームラボのコードテストを受けました。体感は良くも悪くもない感じ…で今までのボロボロといった感覚とは違いましたが、落ちました。

7月

ICPC国内予選がありました。結果としては自分たちのチームは2完で予選突破ならずでした。正直、Cの実装で詰まっているのをよく相談して一緒に実装していれば良かったなと当日の後悔が残っています。来年こそ自分の力で予選を突破いしたいです。といっても自分はまだB2だし、チームメイトもB1なのでまだまだICPCには出られるため、前向きに考えています。 先輩方のチームは速解3完で国内予選突破。アジア大会への出場が決まりました。

自分は、ICPCの次の週のコンテストでAtCoderのレートが緑に上がりました。

また、P社のインターンを受けて、石池の開発の話や競プロの話をしたら受かり、夏にP社のインターンに行くことが決まりました。

8月

石池の新機能開発をどんどんしていました。この時にはDjangoの多くの機能を使いこなせるようになっていました。 また、Azureの学生クレジットでマイクラサーバーを立てるなど、クラウドをいじる遊びも始めました。

ちなみに、Web開発ばかりしていたらAtCoderのレートが茶色に落ちました。

また、8月後半の2週間はP社のインターンへ行き、非常に貴重な経験を詰めました。この時学んだことは本当に大きかったです。

9月

インターンが終わり9月が始まりました。9月1日が前期の成績公開日だったので9月は成績を確認する朝から始まりました。 成績はGPA3.25で前期は授業も結構頑張っていたので、高い(個人比)成績を取れて嬉しかったです。

9月には読みたい技術書がたくさんあったのですが、遊んでいたら全然読めませんでした。

9月の末にGDSCというGoogleの傀儡サークルのイベントがGoogle渋谷ストリームオフィスであったので行きました。渋谷ストリームがほぼすべてGoogleのオフィスでGoogle半端なかったです。

10月

後期の授業が始まります。履修を組んでいるところで、授業の教室を調べるのがめんどくさくなります。というのも、都立大の授業教室の情報はPDFにまとめられており、目視で授業を探してどの教室で講義が行われるかを確認する必要がありました。これが面倒だったので、授業教室検索システムを作成しました。

これはみんな面倒に思っていたようで、学生はもちろん先生方からも好評でした。しかし、いろいろあって数週間で非公開になったりしてます。

また、10月は初めてハッカソンに参加しました。 立命館大生の知り合いの競プロerと2人でサポーターズのマンスリーハッカソンに参加しこんなものを作成しました。

docs.google.com

これは自然言語処理を使った「穴埋め問題自動問題生成アプリ」で、前期の小町研の基礎勉強会で自然言語処理の勉強をしたからこそ実現できたアイディアだったかもしれません。 このハッカソンでは受賞等は出来ませんでしたが、ハッカソンの開発で、認証系の実装やFlutterでのアプリの実装、サーバーへのデプロイの経験は非常に役に立ったと思っています。

また、後期の授業でスクリーンショットを提出させる課題があり、選択したファイルがあっているかどうかをプレビューする機能が欲しくなったので、Chrome拡張機能を作りました。

Chrome Webストアに公開し、だれでも簡単に使えるような形でリリースしました。

また、この辺りでVPSを契約しました。さらに自身のドメインを取得しました。これらを手に入れたことで開発の幅が広がり、非常に良い選択をしたと思っています。 VPSの運用でインフラを触るようになり、NginxやDNSドメインなどをいじったことで様々な事情に詳しくなりました。

自分のポートフォリオサイトを独自ドメインで立てるように設定し、ポートフォリオサイトの内容もいろいろと更新しました。特に、ハッカソンで作った穴埋め問題アプリをポートフォリオ上から試せるようにするなどしました。

portfolio.ayutaso.com

10月はPGBATTLEという競プロの大会にも参加しました。triCのチーム(3人)で出場し、学生30位を獲得して企業賞を頂きました。 triCのもうひとつのチームで出た先輩とまったく同じ間違いをして1問落としていて、笑ってました。

また、Pythonの言語カンファレンス、PyCon APACが東京で開催されるとのことでこれにも参加しました。 セッションの中の話はなかなかに難しく、わからない話も多かったですが、企業ブースなどを回って楽しめました。

PyConでもらったものたち

11月

11月は都立大の学際から始まりました。ゲーム制作サークル「AR会」のラーメンが結構うまくていい感じでした。また、成り行きで学際でAR会の展示の方を手伝うことになり、成り行きでAR会に入りました。

また、ISUCONというWebアプリケーションのパフォーマンスを向上させるチューニングコンテストにGDSCのチーム(3人)で参加しました。 ISUCONはLINEのオフィスでオフライン参加できることになり、非常に楽しかったです。また、チームメンバーもWeb系に強い人でとても勉強になりました。

さらに、11月から自分が主催でWeb開発の定期勉強会を開催し始めました。情報科学科のB1からM1まで集めて、モダンフロントエンド技術の勉強会を後期の半分8回でやっています。同じ学科中で横の繋がり・縦の繋がりが深まり、良いです。

この辺りでL社(大手の子会社のベンチャー)のCTOとカジュアル面談をする機会があり、自分の活動を非常に評価していただいたので、自身を持ちました。

12月

今度は都立大のGDSCのチーム(4人)でGoogle Soludtion Challenge Japan というハッカソンに参加することになったので、その開発を進めていました。ReactとNext.js、Firebaseという初めて触る技術ばかりで苦労しましたが、自分としては2回目のハッカソンで最優秀賞とチームラボ企業賞を受賞することが出来ました。 夏前にコードテストで落ちたチームラボですが、どうやら企業賞のおまけとして紹介をしてくれるらしいです。

ハッカソンの次の週にGDSCでLT会(10分で技術に関係する話をする会)があったのでそこで話すためにPWAで簡単な時間割アプリを開発しました。

docs.google.com

この辺りでノートPCをMacに変えてキーボードをUS配列に乗り換えました。Web開発にはMacが向いていますね。

今度はM'社の春インターンを受けました。受かりました。詳しくは書けませんが、運良く10月のサポーターズハッカソンで取り組んだ内容が効いてきました。

ここ数日はシラバスデータベースのリファクタリングプロジェクトを立ち上げました。GDSCのWeb開発未経験者向けにバックエンド開発の経験を積ませることをサブ目的としたプロジェクトでアーキテクチャや開発環境の構築などをいままでで一番良く考えました。

github.com

最後に

今年1年をプログラミングを中心に振り返ってみました。思い返してみるとこの1年はエンジニアとして本当に成長した年でした。

ここで、2023年の元旦に立てた今年の目標を振り返ってみると、

2023年の目標

1.AtCoder水色

2.Kaggle Expert

3.GPA3.0

4.ハッカソン通す

5.ICPCアジアにまた行く

6.たくさん写真撮りに行く

7.東進を辞める

8.技術系のバイト/インターンやる

9.新しく言語習得する

10.OSS Contributeする

11.長旅をする

12.技術書5冊は読む

13.YouTube見過ぎない

といったものでした。

1のAtCoderは前述の通り今は茶色に落ちてしまっています。来年こそは水色になりたいです。

2のKaggleはまったく取り組めていません。Kaggleに取り組むにはもっと機械学習の勉強をしないといけないので、頑張ります。

3のGPAは前期では達成できました。後期でも達成したいです。

4のハッカソンは最優秀賞までもらえました。まさか、想像もしていませんでした。

5のICPCアジアは先輩方が行ったので都立大としてはおっけーです。来年こそは自分の力でアジア大会に出場します。

6の写真は、趣味の話ですが、あんまり行けてないかもです。2024年は両立させてお出かけもしたいです。

7の某予備校はやめました。

8のインターンは行けました!来年もいろいろ行きたいです。

9の言語習得はGo言語はTypeScript等いろいろ取り組んでいます。

10のOSSは糸口が見つかってません。。。

11の長旅はうーん香川まで18きっぷで行ったのでそれで達成ということにします。

12は多分達成できてないです。積書があるので来年には片付けたいです。

13はうーん、FPSをする時間は少なくなったと思います

本当に最後に

大学の先輩方、チームを組んでくれた後輩や同級生、いろんな企業の方々に感謝して1年の振り返りを終えたいと思います。

GitHubのヒートマップ

上の図は緑の日はプログラミングをしている日を表す。