まえおき
僕は現在大学二回生でちょうど一年前、大学に入学したことをきっかけにプログラミングを始めました。
情報系の学部に入学したことをきっかけにプログラミングを始め、プログラミングを学んでいくうちに将来的にはエンジニアとして就職するなら学生のうちから開発経験を積みたいと思い、アルバイトとして雇用してもらいました。
高校時代はアルバイト禁止の自称進学校出身だったのでアルバイト経験がそもそも薄く、最初はわからないことだらけでしたが、アルバイトを初めて、半年以上経つので、今回はそんな僕の経験を元にアルバイトをしてて困ったことを話していきたいと思います。
同じようにアルバイトをしたいと思ってる方、IT企業でアルバイトを採用したいと考えている方の参考になれば幸いです。
わからないことがわからない
まず初めに一番辛いのはこれですね。
基本的に学生のアルバイトで開発経験を積ませてくれる企業というのは大企業以外がほとんどです。(募集してるかもしれませんが倍率的に厳しいと思います...)
つまり中小企業くらいの企業さんで働くことが一般的だと思うのですが、そうなってくると研修制度がしっかりしてないところが多いです。
開発に参加させていただいてるので、技術的なことでわからないのは自分の実力不足ですが、そもそも技術的なワードなのか、社内でしか使われてないワードなのか、ググって出てくるようなことなのか。
同じワードでも様々な意味を持つこともあるので、社員との会話や開発するものの仕様書に書いてある意味がわからなくて解決方法もわからないというのが個人的に一番辛かったです。
入って間もない頃はそう言ったことを誰に聞くのがベストで誰が詳しいかも全くわからないので尚更一人で考える時間が増えます。
気にせず聞ける人ならいいのですが、社員の方も忙しそうにしてるので、そもそも実態のわからない疑問だったり、社内で当たり前に使われてるワードレベルのことを聞いていいのかわからないというのが率直な気持ちでした。
サービスの機能が多すぎる
これは自社開発企業だけかもしれないですが、サービスの機能が多すぎることですね。例えば〇〇の機能を修正するというタスクを課された時にその機能がどういう仕組みで他のどの機能に依存してデータベースのどのテーブルを参照して処理してるなど全て考慮しないといけないのが辛いです。
さらにそれを依頼内容ごとに毎回把握していかないといけないのでその分工数もかかります。
毎回サービスの機能の詳細把握をしなければいけないのは精神的にもしんどいです。
常勤の社員と進捗の度合いが全く違う
当然ですが、大学生でアルバイトをしているのでメインは大学の授業です。
そうすると週5で働いてる社員の人と週2,3のアルバイトでは進捗の差がかなり出てしまいます。
特にアジャイル開発では
- 開発
- テスト
このイテレーションを短いスパンで回すことでスピーディーな開発をすることができるので、アルバイトの進捗が遅いというのは悩みどころになります。
そもそも技術的なことがわからない
自社開発企業というのは一般的には技術レベルが高い傾向にありますので、大学一回生で潜り込んだ身としては前提知識がなさすぎてわからないということが多々ありました。
ソフトウェアの開発工程やアジャイル開発での用語やMVCモデル、フレームワークなど。
知っておかなければいけない知識、技術は多岐に渡ります。
そもそも趣味でプログラミングをやっていたような身からすると要件定義や設計、テストなど細かくやることはないので当然ではあるのですが、知らないことを学んでいくのは非常にエネルギーがいります。
バイトの時間の確保が難しい
基本的にシフト制ではないので自由は聞くのですが、大学の授業が1限と5限にあるみたいな、いわゆる空きコマのある日だと会社に出社できないのでバイトを入れれなくてバイトの時間の確保ができないです。
空きコマにバイトの時間を確保したとしても一時間、二時間ですぐ終わるようなタスクではないので、結果的に移動時間だけ無駄に消費します。
エラーが出た際の原因特定が難しい
例えば趣味でプログラミングをしてる場合は書いたコードに対してデバッグしてやれば大抵はエラーを治せることが多いです。
これがバイトの開発となると話は別で書いたコードのバックエンド部分でうまく行ってないのか、もしくは連携してる決済サービスがうまく動いてないのか、サーバの方が不具合を起こしてるのか考慮する項目が非常に多いです。