新人エンジニア成長記#6|技術と同様に大切な2つのこと:「見積もり」と「人とのつながり」

挑戦する新人エンジニアの軌跡

この春から未経験でIT業界で働くことになった新人エンジニアです!

現在受講している新入社員向けIT研修の様子を「新人エンジニア成長記」として発信中!

第6回となる今回は、Javaでの個人Webアプリ開発を通じて強く実感した「見積もりの重要性」と「人とのつながりの価値」についてお話しします。

Webアプリ開発演習の概要

今回の演習では、Javaを使って商品レンタルWebアプリを個人で開発することに取り組みました。

これまで学んできたJavaの構文、データベースの操作、Webアプリケーションの基礎技術を総動員し、自分一人で0から実装する力を養う実践形式の演習です。

開発したアプリの目的と機能

作成したのは、ユーザーがログインして商品を検索・選択し、カートに入れてレンタルできる商品レンタルWebアプリです。

演習の目的

  • ログイン管理やセッション、検索処理、DBとの連携など、Webアプリの基本構成を一通り実装する
  • 個人開発における仕様理解・見積もり・進捗管理を自ら行う力を養う

機能一覧

以下は、今回の演習で実装をするべき機能です。実装優先度や時間的制約を踏まえて、以下の4機能を開発しました。

  • ログイン/ログアウト機能
    • あらかじめDBに登録されたユーザーID・パスワードを照合し、認証
    • セッション管理により、ログイン状態を保持
  • 商品検索(タイトル名)
    • 入力文字列が商品タイトルに1文字でも含まれていればヒットする部分一致検索
  • 商品検索(主演・アーティスト名)
    • 上記と同様に、登録された「主演・アーティスト名」に対して部分一致で検索
  • カート機能
    • 商品ページから選択した商品をカートに追加
    • セッション管理によりカート内容を保持
    • カート内商品の一覧表示、および合計金額の計算

見積もりと横のつながり ― 技術以外で得た大きな学び

この開発演習では、実装の他に深く学んだ2つの力がありました。

余裕のある見積もりをとる

個人開発は、自分一人で設計・実装・進捗管理まで行うため、「見積もり」が極めて重要になります。

以前のチーム開発では、見積もりの甘さからスケジュールが崩れた経験がありました。そこで今回は、以下のように意識して見積もりを立てました:

  • 仕様書を先に一読したあと、重要機能に優先順位をつける
  • 各タスクの時間は、経験値から予測した時間の1.5倍で算出
    ※この「1.5倍見積もり」については、後日上司より「プロとしては不適切」との指摘がありました。倍率で調整する手法は、見積もりの精度が不足している証拠であり、曖昧な対応になってしまうとのことでした。
  • 機能の「実装可否」を含めて早めに判断し、無理に詰め込まない

結果、4つの機能をほぼ予定どおりに完成させることができ、スケジュールにも心にも余裕が生まれました。

横のつながりと質問力が大切

今回は個人開発という特性上、周囲に頼ることが難しく、不安を感じる場面もありました。わからないことがあっても、「質問したら迷惑では?」「時間を奪ってしまうかも」と遠慮してしまい、開発が進まない時間が生まれました。

そんな中で力になったのが、研修中に築いた仲間との関係性と相手の時間をなるべく奪わない質問の仕方でした。

  • 疑問を持ったら、事前に調べて整理し、要点だけを伝えるよう心がけた
  • 雑談から自然に相談できる関係性があったことで、「聞くハードル」がぐっと下がった

「横のつながり」を作ることは、ただの友人になることだけでなく、安心して助けを求められる仲間ができることなんだと改めて実感しました。

それでも想定外は起きる:過信と孤独の落とし穴

もちろん、うまくいったことばかりではありません。

  • 一見「簡単に思えた」実装に予想以上の時間を取られ、余裕を削られた
  • 周囲に聞くタイミングを逃し、「迷惑かも」という遠慮が募って手が止まった
  • 仕様を読み込んでも、手を動かして初めてわかる難しさがあった

準備したはずの見積もりも、仲間のつながりも、「過信してはいけない」ということを身をもって知ることになりました。

技術だけじゃ足りない。技術以外の力も育てたい

今回の演習で感じたのは、「技術」と並行して育てるべき「見積もり力」と「横のつながり」の存在です。

  • 精度の高い見積もりがあれば、心に余裕を持って、質の高い成果物を安心して仕上げることができる
  • 横のつながりは、精神的な安定と問題解決力を支える

どちらも派手さはありません。でも、この2つがあることで、たとえ技術が未熟でも開発は前に進めるということを実感しました。

今後、実務に入ってもっと高度な技術が必要になることは間違いありません。だからこそ今、「見積もり力」と「人間関係を構築する力」を意識的に育てていきたいと思います。

まとめ

今回の個人Webアプリ開発を通じて、私は「見積もりの精度」と「人とのつながり」という、技術とは異なる2つの力の重要性を身をもって学びました。

技術が未熟でも、ゆとりある見積もりと適切なコミュニケーションがあれば、開発は前に進みます。逆に、技術だけに頼っていると、思わぬところでつまずくこともあると実感しました。

これから実務に入っていく中で、技術力を磨くことはもちろんですが、それと同じくらい、「見積もり力」と「人間関係を構築する力」を大切に育てていきたいと思います。

次回も、実践を通じて得た気づきや成長を記録していきますので、ぜひまた読みにきていただけたら嬉しいです!

コメント