プログラミングを始めてから2年経ったので振り返ってみる
はじめに
私が大学に入ってから2年が経ち、もう少しで新年度です。
ちょうどいいタイミングなので、これまでを振り返ってみようと思います。
人生ダイジェスト~楽しい小学校生活、そして浪人~
プログラミングへの興味の芽生え
プログラミングに興味を持ったきっかけは小学生の頃に体験した LEGO を用いたロボットプログラミング教室です。教室での成績が良かったため 2012 年の WRO にも参加しました。
以下は私が参加した年の WRO に関する記事です。
この時は二人一組で参加し、私はプログラムではなくロボットの組み立てを担当しました。
ステージ中にある段差をどうやって安定して乗り越えるかや、ピンポン玉を安定して置くための仕組み、またレギュレーションを満たすようにサイズを考慮したりと、とても楽しかった記憶があります。
プログラム自体は軽くしか触りませんでしたが、これをきっかけにコンピュータやプログラミングに興味を持ちました。
中学
バドミントン部に入る。
ポケモンやスプラトゥーンに時間を溶かす。
高校
バレー部に入る。
ソシャゲに時間を溶かす。
いつからか自作PCの動画とかをちょっと見ていた気がする。
オーディオ沼にはまりお金を溶かす。
浪人
起床→予備校→帰って筋トレ→風呂→夕食→勉強(週末は映画)→就寝
という、私の人生で最も良い規則正しい生活を送る。
途中から目覚まし無しでも同じ時間に起きられるようになった。
充実した毎日、余裕の A 判定…そして本番直前の B 判定…
1年生
入学
名古屋工業大学 情報工学科 合格。
模試で B 判定だったとはいえ、ふたを開ければ余裕の合格(名工大に特化した対策をしていたため)
パソコンのスペックなど高校生の時から調べることが多かったので、大学用のノートパソコンは自分で選びました。
しかし、パソコンはほとんど触ってこなかったため、入学前の春休みはひたすら寿司打とe-typingでブラインドタッチの練習。
そのおかげで入学時には文字は何も見ずに入力できるようになっていました。
入学前からバレー部と C0de に入ることは決めていたので入部。
ここから私のプログラミング生活が始まります。
前期
C0de のチュートリアルとして processing の課題に取り組みました。
思い返せばだらだら勉強していたなと思います。
2、3週間もあれば終わらせられる内容に前期の数か月間を費やしたのは勿体ない…
夏休み
Android アプリ開発の勉強を始めました。部の先輩のアドバイスにより、Jetpack Compose の使い方からスタートしました。
そのおかげで未だに View による開発の経験がありません…
エラーが起きた時の解決方法も、そもそもどこでエラーが起きているのかも何も分からなかったため学習の進みは遅々としたものでした。
後期
バレーボールの記録アプリを作ろうとしていました。
その為にはデータを保存する必要があり、Room に手を出しました。
ここから地獄のエラー&アプリクラッシュ地獄が始まります。
Room 何も分からん。非同期処理?何それ。
Android OS そのものに対する理解も、Kotlin 文法の理解も、ライブラリの知識も何一つない状態でネットの記事をコピペしては動かないことに首を傾げる毎日でした。
エラーの読み方も良く分からないまま、エラーが消えたと思ったらアプリがクラッシュしたりと、どうにもならないまま時だけが流れました。
学習は進んでいませんでしたが、アクティブに活動していたこともあり C0de の庶務にならないかと先輩にお声がけ頂き、庶務になりました。
この時の選択は人生においてとても大きなものになったと思います。
春休み
なんだかんだ Room の使い方が分かってきたり、数多くのエラーにぶつかった経験からちょっとずつ問題解決ができるようになってきたのがこの頃だったように思います。
夏休みから半年ほど停滞期でしたが、挫けずに学習を続けられたことが身を結び始めました。
この年は NITech Create の一員として技育博に参加し、SANDBOX というモバイルアプリ開発専門の学生団体との出会いがありました。
2年生
前期
Android 完全に理解した。
ちょっとずつ作りたい機能を実装したりすることに慣れてきて、何でもできるのではないかという万能感を感じ始めました。
6月頃、C0de の先輩にプログラミングのバイトを紹介して頂くことができましたが、残念ながら選考で落ちました。
今考えると、この早い時期にコーディングテストを体験することができたのは大きかったです。
この頃になって、これまで学んできた内容が線でつながり出したように感じることが多くなり、新しい情報のインプットが楽しくなってきました。
それにより新しい知識を得るスピードも上がってきて、Android 開発の学習がだんだんと加速し始めました。
夏休み
1年生に向けて Android 開発の入門講座をやったりしました。
簡単な内容なら教えれる程度の力はついてきたのかな…?
また、先輩に背中を押して頂いたこともあり DroidKaigi にスカラーシッププログラムで参加しました。
DroidKaigi では、Jetpack Compose のセッションを中心に聞きました。内容は理解できるものから、自分の知識では難しいものまで幅広かったです。
オフライン参加したことによって、多くの Android エンジニアの方々との出会があったり、Android 開発の最先端の熱気に直接触れたりしたことで開発に対するモチベーションが大きく上昇しました。
また、SANDBOX の方にお誘い頂き、学生同士で食事にも行ったのですが、その出会いが大きな意味を持つことになりました。
詳しくは 2年-春休み- に書きます。
DroidKaigi に参加した経験は私の大きな資産になっています。
後期
チーム開発のプロジェクトが2回あり、どちらもリーダーとして Android アプリ開発をしました。
そもそもちゃんとしたチーム開発が初めてだったので、1回目はタスクの分担やコード全体の調整、メンバーのサポートなどが十分にできなかったという反省があります。
2回目のチーム開発は、冬休みをまたぐ形で行われた部内ハッカソンです。こちらはピクシブさんにご協力いただきました。
前回のチーム開発の経験を活かし、アプリの設計をどうするかなどを事前にしっかりと考えたり、メンバーのタスクの分担をしたりしました。
結果として、メンターの方に賞を頂くことができたので嬉しかったです。
2回にわたるチーム開発で、初めて使用するライブラリやAPIであってもある程度対応して実装できる力が付いてきました。
そして、部内ハッカソンの後は3年生が引退し、私は C0de の副部長を務めることになりました。
入部当初は私が副部長をすることになるとは想像もしていませんでした…
また、2年後期は Android 開発以外を触ってみる余裕もできてきました。
例えば、ミニPCでマイクラサーバーやWebサーバーを立ててみたりもしました。
春休み
CyberAgent のインターンの CA Tech Dojo -Androidアプリ(Kotlin)編- に参加しました。
これも大学入学時の自分には想像もできなかったことの一つです。
2年前の私に、CAのインターンに行くよと言っても信じてもらえないでしょう…
夏に行った DroidKaigi でご飯に行ったメンバーに Dojo の経験者が多くいたのが興味を持ったきっかけです。そもそも SANDBOX 自体、 Dojo 生が集まって作ったコミュニティみたいな話も聞きました。
調べていたらこんな記事を発見↓
その時のメンバーが他のインターンの参加者との共通の知り合いだったりと世界の狭さを感じたりもしました。
このインターンに参加したことで、コードを書く時の意識が変わり、アーキテクチャや良いコードの書き方を調べるようになりました。
今後について
新年度からは、大学の打刻システムの Android アプリの開発バイトと、ある会社の iOS のバイトをすることになっています。
iOS は初めてなので0から学習をしなければいけませんが、様々な繋がりや機会に恵まれました。
作りたい機能を作れるだけでなく、パフォーマンスや保守のことまで考えたコードが書けるようになることが今後の目標です。
夏にはインターンや DroidKaigi にも行くつもりです。
さいごに
今回記事を書くにあたって自分の2年間をじっくり振り返りました。
そんな中で強く感じたことが3つあります。
1つは、中高でもっとやりたいことに真剣に向き合うべきだったということです。進みたい方向性自体は割と早くから決まっていたのに、それに対して行動しなかった数年間が勿体なかったです。
まぁ今更考えても仕方ないことですが笑
2つ目は、大学1年生の時にもっと先輩に頼ればよかったということです。
正直、そのころは自分が何を分かっていないのかすら把握しておらず、質問の仕方も分かりませんでした。エラーと戦う中でついた力ももちろんありますが、勇気を出して質問をすることができていればその力も早くついていたように思えます。
今年も新入生が入ってくるので、このことは強く伝えていきたいです。
3つ目に、人との関係を持つことの大切さです。
私の人生に大きな影響を与えたできごとのきっかけを見ると、その多くは先輩からのご好意であったり、背中を押してくれる人であったり、人との繋がりだったりします。
こんな感じで繋がりの連鎖が起きることも多いです。
先輩に技育博を紹介してもらう
技育博で SANDBOX との出会い
先輩に DroidKaigi を紹介してもらい、背中を押される
DroidKaigi で SANDBOX の方とご飯に行き CA Tech Dojo を知る
CA Tech Dojo 参加
私は本当に人に恵まれているなと感じます。
気が付いたら4000字を超えていたのでこのくらいで終わろうと思います。
最後まで読んでいただきありがとうございます。