バイトでプログラマーを始めて4年が経った

大学1年でプログラマーとしてバイトし始めて気付けば4年が経っていたので始めた時の記憶を思い出しながらそれからの変化を書いてみる。

バイトを始めるまでの自分

プログラムミングを真面目に勉強し始めたのは高校1年の冬だった。最初は C++ を勉強しようとしたが、ポインタが理解できず挫折し、いろいろあって C# を書くようになった。C# を選んだのは手っ取り早く Windows で GUI アプリが作れそうだったから。

ほぼ独学でプログラミングを勉強していたのでチーム開発の経験は皆無、Gitの利用経験もほぼなかった。

始めたきっかけ

大学生のバイトでは塾講師などの時給が良いと言われるが、これらの問題点はスーツを着ないといけないことだ。大学の入学式でスーツを着たのだが、あまりの動きにくさに就職するときにはスーツが必須の会社には絶対に行かないと決心した。他にも毎週のシフトが固定なことなど、色々と大変なことが多そうだった。 (あくまで自分が調べた範囲での話だが。)

現在のバイト先は大学の生協に求人が来ていたのをきっかけに知った。その求人ではC#ができる人を募集していたので、選考の過程で落とされる可能性も考えつつ半ばダメ元で応募した。

始めた当時の実力

プログラマーとしてアルバイトをするに当たって趣味での個人開発と大きな違いがいくつかある。複数人でコードを書いていること、コードのメンテナンス性が求められることだ。

複数人でコードを書くために必要なツールの1つとしてGitがあるが、当時の自分はなんと Git をほぼ触ったことがなかった!また、コードレビューに至っては名前を聞いたことすらなかった。少しでも業務でコードを書いたことがある人ならこれらがとても重要なことであることは分かるだろう。

こんな感じで、C#は多少書けるがチーム開発の能力は一切ない人がチーム開発を始めたのである。

個人開発との違い

個人開発とアルバイトでの開発の一番大きな違いは給料がもらえることである。この違いは意外と大きくて、お金というプレッシャーが少しでもあると一定の成果を出さないと、という気持ちになる。

実際にその効果は絶大で、自分の場合は2,3回勤務したらGitの基本的な操作が一通りできるようになったし、1か月後にはある程度コーディング規約を守ってプログラムを書けるようになっていた。おそらく一人で開発していてもこのようなスピード感で技術が向上することはなかっただろう。

成長した部分

先述の通り、バイト先ではもちろんだがチームでプログラムを開発する。その際に必要な能力としてコミュニケーション力がある。社内はいわゆる「チャット文化」があるが、最初はそれに慣れる必要があった。特に自分にタスクを割り当てたりコードをレビューしてくれる社員の方が基本テレワークでコミュニケーションはチャットが主だったのもあり半ば強制的にテキストチャットでのコミュニケーションが必要となった。

個人的にはチャット文化は所詮慣れの問題だと思っていて、最初は苦労したがしばらくしたらスムーズにコミュニケーションが取れるようになった。チャット文化になれていたおかげで、突然全社でリモートワークになっても少なくとも自分はスムーズに移行できた。

他にも、コードを書くスピードがかなり上がったことだ。周りの人たちがどんどんコードを書いてコミットしていっているのを見ると自分ものんびりしていられないという気分になってくる。いい意味でプレッシャーがかかることで現在の自分のコーディングスピードは始めた当時からはかなり向上した。

最後に

最近インターンシップの面接を受ける機会があるが、そこで必ずと言っていいほど聞かれるのが「チーム開発の経験はありますか?」という質問だ。これからも分かるように、就活前に実務でチーム開発を経験していることは大きなアドバンテージになることが多い。

就活以外にも、単純にアルバイトとして待遇もそこそこ良く、この仕事が好きな人にとってはとても良い職場である。(あくまで職場の人間関係などに恵まれた場合の話だが。)

今アルバイトを探している、あるいは現在のバイト先に不満があってプログラムの技術がある学生は是非大学の周りのIT系の会社のアルバイトに応募してみることをオススメする。


クラウドサービスの利用料、書籍代、ウイスキー代に使います。