
初めての社会人経験、そして感じたこと。
こんにちは、YAMAです。
今日は、アルバイトとしてIT企業でお仕事として開発をした話をしようと思います。
学生と社会人のITに対する考え方の違い
学生時代のコーディング
学生の頃は、授業や課題でコードを書くことはあっても、その多くは「とりあえず動けばOK」という考えでした。コードの可読性や保守性、チームでの開発を意識することはほとんどありませんでした。また、プログラミングは個人作業が中心で、自分のペースで進められるものだと思っていました。
社会人としての開発への意識変化
しかし、実際の現場に入ってみると、考え方が180度変わりました:
コードの品質への意識
- 「動けばいい」ではなく、「他の人が読んでも分かりやすいコード」を書く必要がある
- バグが出た時の影響範囲や修正のしやすさを常に考慮する
- コメントや命名規則の重要性を痛感
スケジュール管理の重要性
- 学生時代は「いつか完成すればいい」だったが、現場では締切が厳格
- 自分の作業が他のメンバーの作業に影響することを実感
- 進捗報告や見積もりの正確性が求められる
チーム開発の現実
- 学生時代に学んだ「チーム開発」とは異なり、実際には一人で進める作業が多い
- コミュニケーション能力がプログラミングスキルと同じくらい重要
- 他人のコードを読み解き、引き継ぐことの難しさ
- 一人作業でも、報告・相談は欠かせない重要なスキル
IT業界の深刻な人手不足を実感
現場で感じた人材不足の現実
社会人として働く中で、IT業界の人手不足は想像以上に深刻だということを身をもって体験しました。
アルバイト初日からの現実
私は一応アルバイトとして働くことになったのですが、アルバイト初日にして、
「YAMAさんにはこれをやってもらいますね」
と言われ、いきなり重要なタスクを渡されました。
一人でのプロジェクト進行
そして驚いたことに、そのプロジェクトは基本的に私一人で進めることになりました。学生時代に「チーム開発」について学んでいたにも関わらず、現実では一人でプロジェクト全体を担当することになったのです。
これは人手不足の現実を如実に表していました:
- 新人アルバイトでも、一つのプロジェクトを丸ごと任される
- サポートは受けられるものの、基本的な作業は全て自分で進める必要がある
- 設計から実装、テストまで一通りの流れを一人で経験することになる
人手不足が生む現象
- 新人でも即戦力として期待される厳しさ
- 経験年数に関係なく、できる人に仕事が集中する傾向
- 一人一人の負担が想像以上に大きい
- 「とりあえずやってもらう」という現場の切迫感
- アルバイトでも一つのプロジェクトを単独で任される現実
一人作業の現実と学び
一人でプロジェクトを進めることは、想像以上に大変でした:
困難な点
- 技術的な判断を全て自分で下す責任の重さ
- 詰まった時に相談できる相手が限られる
- スケジュール管理から品質管理まで全て自分で行う必要がある
- コードレビューやペアプログラミングなどの学習機会が少ない
しかし、実際はそこまで苦しくない現実
しかしながら、行き詰った時に上司に相談すると、きちんと何かしらの答えやアドバイスを返してくれました。一人作業とはいえ、完全に孤立しているわけではなく:
- 技術的に詰まった時のサポート体制がしっかりしている
- 判断に迷った時には相談できる環境がある
- 上司や先輩が忙しい中でも時間を作って対応してくれる
- 「困った時はいつでも声をかけて」という姿勢を示してくれる
そのため、一人での作業も思っていたほど孤独感や不安感は少なく、安心して取り組むことができました。
アルバイトならではの時間的制約
また、アルバイトという立場ならではの現実もありました:
- 夏休み中はまとまった時間を確保できるため、集中して作業に取り組める
- しかし夏休みが終わると授業があるため、仕事をする時間がとても減る
- 学業との両立が必要で、プロジェクトの進行ペースも調整が必要
- 長期的なプロジェクトの場合、継続性の課題がある
この時間的な制約は、学生アルバイトの現実的な課題として常に意識する必要がありました。
成長につながった点
最初は戸惑いましたが、これがIT業界、そして社会人の現実なんだと実感しました。学生時代の「ゆっくり学習する」という感覚は、現場では通用しないということを痛感しました。
AI活用の現実
また、最近ではAIツールの利用も許可されており、実際にAIを使うことで作業効率が大きく向上しました。
一人で膨大な作業をこなすには、AIの力を借りないと時間的に間に合わない場面も多く、
「AIを使うことが前提」の現場になりつつあると感じています。
例えば、コードの自動生成やドキュメント作成、エラーの原因調査など、AIを活用することで短時間で成果を出すことができました。
逆に、AIを使わずに全て手作業で進めようとすると、現実的に締切に間に合わないことも多いです。
IT現場では、AIをうまく使いこなすことも現代のエンジニアに求められるスキルだと実感しています。
人手不足がもたらす影響
プラス面
- 若手でも責任のある仕事を任せてもらえる
- 成長のスピードが格段に早くなる
- 様々な技術に触れる機会が多い
マイナス面
- 十分な教育時間が確保できない
- 残業が常態化しやすい環境
- 一つのミスが大きな影響を与えるプレッシャー
現場の人間関係とコミュニケーション
上司との関係性
社会人として働く中で、上司の存在がとても大きいと感じました。
私はアルバイトとして働いていたので、上司は社員の方でしたが、私が困っているときにはすぐに助けてくれました。
「ここの部分どうする?」
「ここはこうしようか」
など、私が相談をすると、何かしらのアドバイスをくれました。
上司の方々の温かさ
しかし、上司の人たちはとても優しく、常に張り詰めた環境ではありませんでした。
「そんなに張り詰めなくても大丈夫だよ」
といった声をかけてくださったり、お昼休みには一緒にご飯を食べることもありました。また、飲み物を買いに行くついでに:
「YAMA君、何か飲む?」
「お疲れさま、調子はどう?」
といった感じで、自然にコミュニケーションを取ってくれる方々でした。
職場の雰囲気作り
このような日常的な何気ないやり取りが、職場全体の雰囲気を良くしていると感じました。仕事の話だけでなく、雑談を通じて:
- リラックスした環境で働けること
- 質問や相談がしやすい関係性の構築
- アルバイトでも一人のチームメンバーとして扱ってくれること
そういったサポートと温かい人間関係があったからこそ、私は安心して仕事に取り組むことができました。
チームメンバーとの協働
先輩エンジニアとの関係
- 技術的な質問をしやすい雰囲気作りの重要性
- 忙しい中でも新人を指導してくれる先輩の存在の大きさ
- コードレビューを通じた学習機会の価値
同僚との連携
- 情報共有の重要性(Slack、会議、ドキュメント)
- 助け合いの文化がある職場の働きやすさ
- 技術的な議論ができる環境の刺激
学生時代との人間関係の違い
責任の重さ
学生時代の友達関係とは異なり、仕事上の人間関係には責任が伴います。自分の作業遅延が他のメンバーに迷惑をかけることを常に意識する必要があります。
プロフェッショナルなコミュニケーション
- 報告・連絡・相談の重要性
- 分からないことを素直に聞く勇気
- 相手の時間を尊重した質問の仕方
多世代との協働
学生時代とは異なり、様々な年齢層、経験値の人たちと一緒に働くことで、多角的な視点を学ぶことができました。
実際の現場で学んだこと
技術面での学び
- 実際のサービスで使われている技術スタックの理解
- パフォーマンスやセキュリティを意識したコーディング
- バージョン管理やデプロイ作業の実際
仕事の進め方
- 要件定義から実装、テストまでの一連の流れ
- ドキュメンテーションの重要性
- 優先順位をつけた作業の進め方
社会人としてのマインドセット
- 自分の成長だけでなく、チーム全体の成功を考える視点
- 長期的な保守性を考慮した開発の重要性
- ユーザー目線での品質管理
最後に
アルバイトとしての短い期間でしたが、学生時代とは全く異なる「ITの現場」を体験することができました。人手不足の現実は厳しいものでしたが、その分成長できる環境でもありました。何より、技術だけでなく、人とのコミュニケーションや協働の大切さを学ぶことができたのは大きな収穫でした。
今後もこの経験を活かし、より良いエンジニアになれるよう努力していきたいと思います。
以上、YAMAでした。
ちなみに…
会社にはお昼を食べるためのスペースが用意されていて、結構おしゃれなんですけど、
一番すごいと感じたのは、自販機の飲み物がすべて100円以下ということです。
お茶やコーヒー、ジュースなど、どれも100円以内で買えるので、気軽に利用できるのが嬉しいです。