🦔

未経験スキルに参画時、駆け出し、未経験のエンジニア必読❗️現場についていけない場合はどう対応すべきか

2024/01/10に公開

未経験、駆け出しエンジニアの現場についていけない問題

未経験や駆け出しエンジニアでよく現場でついていけないというのはよく聞く話です。
だけど具体的に何をすればいいかわからないという方もいらっしゃると思います。

僕も過去にLaravelの開発現場に未経験から入って挫折したことがあります。
技術が全く追いついていなかったです。技術がダメで周りが見れなくなってしまい、
社員として契約する前に戦力外でした。当時自分は1000時間近く学習していたのに、
ここまでできないのかと落ち込みました。エンジニアはやっぱり向いていないと思ったのですが、
戦い方を変えただけでそこそこは戦えるようになりました。

現場の技術に全くついていけない理由(実体験)

これは単純にアウトプット不足です。
自分は最初Railsを学んだ後にLaravelを使った会社に入る前にある会社で人事の方から
「君は凄い勉強熱心だね。だけど努力のやり方を変えた方がいいよ❗️」と言われました。
当時僕はQiitaにアウトプットをしまくって100記事以上も発信していました。
これを見て会社の人事の方はこうアドバイスを僕にしました。
「君はアウトプットしているけどインプットした内容をアウトプットしただけだ❗️
Qiitaとかでアウトプットするのは、自分で何かを作った過程のことをアウトプットするものだ❗️」
実際この人事の方の予言は的中して、いざLaravelの会社に入った時、
インプットバカになってしまっていた僕は何もできずに現場を離れることになりました。
プログラミングに特別才能が無かったのではなくて、努力の方法を間違えていただけでした。

実際に自分がやっていたのはこんな感じでした。

  • Progateレベル400(笑)。正直レベル50もいらないです。
  • オンライン教材7、8周もする。
  • グダグダな共同開発講座を受講してしまう

これだと時間がかかって当然だなと思いました。
Qiitaにアウトプットを始めてから学習はスムーズになったので、これなら
いけるだろーと思ったら現場で撃沈でした。あと一歩アウトプットが足りていなかったです。

他にも重要なものがありました。Git操作です。
Dockerを使った実務に近い環境での開発も大事です。こ
経験浅い時から1から構築する機会はほぼないのでいいかもしれないですが、
Gitだけはちゃんとやりましょう
操作ミスると会社のシステム破壊しますし、Gitわからないと仕事にならないです。
Gitを使っていない現場もありますが、基本Web系だとほとんど使っています。
僕もGitには苦戦しましたし、僕に以前教えていただいたエンジニアの方も
Git操作で会社の環境破壊しかけたみたいで、現場から戦力外になってしまったみたいです。

最後に一つ現場でのコミュニケーションです。下の記事を読んでみてください。

https://zenn.dev/norihashimo/articles/093a35faae6384

実際どうすればいい?

自分は実際どう対策したかというと現役エンジニアが指導する共同開発に参加しました。
現役エンジニアというのは重要リーダー経験などがある方がメンターだとベストです。

共同開発で特にこの2つを満たしているかも確認してください。

1.CRUD処理と認証機能の実装

ほとんどのWebサービスはこの2つの機能の延長線上でできています。
これをやれば最低限実務で何をやっていいかわからんとはならないはずです。

2.共同開発でGit操作とお作法を学ぶ

実装ができても現場でのコミュニケーションやGit操作ができない
仕事にならなくなってしまいます。
個人開発だけだとこの2つはなかなかできないのが現状です。

上の2つを学んだら最低限タスクはこなせた

上の2つを学んだおかげで、Laravelの実務案件(簡単な案件でしたが)はなんとか
やり切ることはできました
。スタートラインに立てた感じでした。
ただこれはあくまでスタートラインです。

共同開発が難しければ個人で開発

どうしても共同開発は無理だーというのであれば、個人開発でやりましょう。

有益な参考記事です。この記事に詳細は書いてあります。

https://read-engineer.com/2023/09/15/saiteigen/

後この方のメルマガやYoutubeは登録しておいた方がいいです。
どうキャリアを歩むのか?現場でどうすれば戦力になれるか?などのコンテンツは凄い有益です。
騙されたと思ってまずは発信の確認、メルマガ登録、してみてください。

もしTodoリストだけで物足りないならRunteqのポートフォリオを参考にしてみましょう。

https://fledge-hub.com/

後はTechpitとかもあります。

https://www.techpit.jp/

これもいいかもしれないです。

https://atcoder.jp/?lang=ja

追加で学ぶといいもの

追加でこれを学ぶといいかもしれないです。
Webの基礎以下の動画と記事を参考にしてください。

https://www.youtube.com/watch?v=9P0AEjjpqQE

https://zenn.dev/norihashimo/articles/1e8eaa64a892e5

共同開発での失敗談

共同開発ができるサービスを紹介します。自分の失敗談でグダグダな共同開発講座に入ってしまいました。
実際にこれを終えて、以前学んでいたエンジニアの方と会った時も、「大して成長していないね」
と言われました。それもそのはず、現役で活躍している方からレビュー何もないので、
出来上がったのはあまりにもショボいアプリでした。現場のお作法も何も身についていません。
結果メンバー6人中僕ともう1人以外はエンジニア就職できませんでした。
なのでちゃんと現役エンジニアが指導してくれるスクールに行った方がいいです。

共同開発ができる講座、サロンなど

教育実績もある環境を紹介します。検討してみてください。僕が知っている範囲です。

  • ゆきひろさん
    30代未経験からチャレンジしたい方はこの方に1度相談してください。
    PHP、laravelを教えている方です。30代からのチャレンジのノウハウを持っています。

https://www.youtube.com/@YukihiroLaravel/videos

  • やんばるエキスパート
    僕はここには通っていないですが、評判はかなりいいです。

https://yanbaru-expert.com/

  • Zero to Hero
    OJTができるサロンで、本物の実務案件をやらせてもらえます。
    ただある程度、自作でアプリを作ったりしていないと効果があまりないです。
    Git操作も慣れた状態がベストです。後土日の対応ができないのがネックです。

https://zero2hero.jp/

自分の経験談

現場に入る前に共同開発に参加した時のことを詳細に書いてあります。
長い文章で読みづらいですが、振り返りをして欲しいです。

https://qiita.com/Hashimoto-Noriaki/items/34681cab7b7b6798ecff

これは模範的な記事です。この記事をポートフォリオの役割を果たして開発系の企業に
内定をいただいたみたいです。

https://qiita.com/ryota100100/items/6b48f38b34d1cebaac0a

どうやって実装ができるようになった?

この下の3つを共同開発では意識しました。

1.似ている実装を参考に作る
似たような機能はけっこうあったりするので、それを参考に作りました。

2.ググる(どこが使えてどこが使えないかを見極める)
ぐぐってもそのまま使うのでなく疑問に持ちながら実装しましょう。

3.ChatGPTを活用する
これは便利なので使わない手はありません。

可能なら個人開発であらかじめ自分で簡単なものを作っているとそのまま使えたりします

コードを説明しながら書く

自分はいきなりコードを書こうとしてフリーズしてました。
ではなくてまずは何をしたいのか、今何をやっているのかを言語化できないと積んでしまいます。
エラーで苦戦すると自分もついやらなくなってしまうので、こうならないようにしましょう。

https://www.youtube.com/watch?v=AdguxgpH514

ぐぐって調べた時は必ず実装する前に疑問をもつ

ぐぐってもその記事を書いた人の環境、バージョンなどは違うので、
以下のように疑問を持つといいです。

ex)
バージョンはいつ?
どんな環境?
この記事の意図は?

とか

ChatGPT依存症注意

以下でChatGPTの使い方が載っています。

https://www.youtube.com/watch?v=oVMBd1Fqz_Q

ただChatGPTの注意点として、ChatGPTに依存しないことです。
普通に間違えた情報が出てくる時もありますし、トリッキーなコードが出てきてしまう
こともありますし、依存しすぎて自分で考えた実装をやらない時期も出てきてしまいました

共同開発のデメリット

共同開発にもデメリットはあります。
1.自分が全部作った訳ではない。技術のアピールがしづらい
2.現場に比べたら成長速度は遅い(現場の方が成長速度が圧倒的に速い)
3.費用がかかる(未経験や微経験同士で集まっても仕方ない)

なのでご自身でCRUD処理や認証機能を実装して、Todoアプリなどを作るのもいいと思います。

Webの基礎も学ぶ

Webの基礎が理解できていないことが、原因でフレームワークの理解が浅くなってしまうことが
多々あるので、Webの基礎もできるようにしていきましょう。

https://zenn.dev/norihashimo/articles/1e8eaa64a892e5

参考資料

https://read-engineer.com/2023/09/26/shoboi/

Discussion