エンジニア

【実体験あり】未経験エンジニアで辛いときの例 & 解決方法

webエンジニア_つらいとき_初心者_未経験

本記事では、
未経験でエンジニアになったけど仕事が辛い
という人に向けた記事です

私も未経験エンジニアのとき辛い経験しました…

どのようなことが辛くて、
どうやって乗り越えたのか
を記載します

自分と照らし合わせて、
読んでいる人の助けになれば幸いです!!!

対象読者

  • 未経験からエンジニアになった人
  • 仕事が辛いと感じている人

本記事の内容

  • どのように乗り越えたのか
  • どのような点が辛かったのか
  • 私の辛かった4つのケース

↓さっそく、一緒にみてきましょう!

実務未経験エンジニアで辛いと感じる点

実務未経験のエンジニアが
辛いと感じる点について解説します

ほとんどの悩みはどれかに当てはまります!

エンジニアの仕事で辛い点

辛い点① … 処理がわからない

辛い点② … 仕事の進め方がわからない

辛い点③ … 技術についてわからない

辛い点④ … 実装してみたけどダメ出し…

未経験エンジニアの悩みの多くは
『1. 処理が分からなくて辛い』
『2. 仕事の進め方が分からなくてつらい』

のどちらか、ではないでしょうか?

↓ 1つずつ解説します!

辛い点① … 処理が分からなくて辛い点について

いきなり現場に出ても、
ソースコードがどのようになってるかわからない…

正直、未経験じゃなくても起きます

自分だけではないので、
ひとまず落ち着いて問題ありません!

↓処理が分からない原因 & 解決方法

処理が分からない原因 & 解決方法

原因① … 基礎知識が足りていない

原因② … 設計に関する知識が足りていない

原因③ … 開発環境がズレている

原因④ … プロジェクト特有の実装がある

原因⑤ … チーム特有のルールがある

原因① … 基礎知識が足りていない

自分である程度解決できる問題です

ベースの基礎知識に加えて、フロントエンドならフロントエンドのバックエンドならバックエンド特有の基礎知識が必要です

こちらにロードマップを解説しています。

それぞれ必要なスキルを記載しているので、分からない箇所の理解を進めましょう

原因② … 設計に関する知識が足りていない

自分である程度解決できる問題です

開発における設計とは、
生きものに例えると骨格です。

骨がないと体は成り立たず、
下手な骨格だと体が崩れてしまいます

設計を理解する力がないと、
開発できないです

↓最低限必要な設計はこちら

最低限必要な設計

  • システム設計(システムの全体像)
  • DB設計(テーブル構成がどうなっているか)
  • 画面設計(どのような画面があるか)
  • 外部設計(APIエンドポイントやルーティングはどうなっているか)

これらのスキルがあればOK

こちらに設計に関する解説をしています
よかったらどうぞ

原因③ … 開発環境がズレている

自分では解決できない問題です

開発環境によって実行できることや
実行できないこともあります

開発環境は
絶対に周りの人と揃える
ようにしましょう

解決方法

先輩エンジニアに
「開発環境を揃えたいので、お時間ください」
と思い切っていう

原因④ … プロジェクト特有の実装がある

自分では解決できない問題です

プロジェクト特有の実装や設計はよくあります

プロジェクト特有の実装の例

  • クラス、変数の命名規則
  • 処理の書き方
  • パッケージの切り方
  • システムの分割方法
  • テストコードの実装方法

設計書と実装が異なっている場合もあるので、
早めに聞いてしまうのがよいです

解決方法

先輩エンジニアに「早くプロジェクトになれるため、スピード優先でわからないことは都度聞かせてください」と思い切っていう

原因⑤ … チーム特有のルールがある

自分では解決できない問題です

チーム特有のルールもよくあります

チーム特有のルールの例

  • Githubブランチの切り方
  • Github Pull Requestの作成ルール
  • マージ後の動作確認のルール
  • リリースまでのルール
  • 本番環境に問題があるときの共有方法

無限にわからないことがあると切り替えてしまったほうが楽です

解決方法

チーム特有のルールはよくあるものなので、
上記リストをさくっと把握してあとは都度把握していく

辛い点② … 仕事の進め方がわからなくて辛い

未経験エンジニアの大半は
仕事の進め方がわからないで辛い
と感じるのではないでしょうか?

わからなくて当然です!
(未経験なので!)

とはいえ、
基本的な仕事の進め方がある
ので理解しておきましょう

基本的な仕事の進め方

  1. 取り組むべきタスクを作る
    (Github、JIRA、Trelloなど)
  2. タスクの優先度をつける
  3. タスクを自分に割り当てる
  4. どのように実装するか検討して、
    判断が必要な場合には関係者と調整する
  5. タスクを実装する
  6. 実装したタスクを評価してもらう
  7. 本番環境に取り込む(リリース)

また、仕事の慣れるステップについても記載します

仕事になれるステップ

  1. 簡単なタスクを割り当ててもらい、
    仕事の進め方の全体像を理解する
  2. 簡単なタスクを割り当ててもらい、
    意思決定者を把握する
    ・エンジニアリーダー
    ・プロジェクトのリーダー
    ・システムをよく知っている先輩
  3. タスクの難易度を上げて、検証環境を理解する
  4. タスクの難易度を上げて、マージ後のフローを理解する
  5. タスクの優先度の付け方を理解する

辛い点③ … 技術についてわからなくて辛い

すべて理解してから仕事をするべき
考えなくてOKです

悩まなくて、まったく問題なしです!

わからないことがあったら
都度調べるでOKです

逆に、わからないことがあったら
土日も返上して仕事を進めるべきという考えはNG
な考えです

最初のうちは土日も働くことはできますが、
続けていくといきなり精神的に辛くなる時がきます

むしろ、
土日に技術を磨きたい人は副業がおすすめです

稼ぎながら
本業とは異なる環境で開発できるので
経験の幅が広がります

副業は21世紀の最強の働き方です

辛い点④ … 先輩からの実装のダメ出しが辛い

実装したものについて
「ダメ出しが多くて辛い…」
という人もよくみます

ダメ出しが起きる2つのケース

  1. チームで特有の実装方法がある
  2. ダメ出しする人と相性がよくない

ダメ出しケース① … チーム特有の実装方法

特有の実装方法は
どのチームにもあります

まずはルールを把握することだけを意識しましょう

チーム特有のルールの例

  1. 命名規則(変数名、メソッド名、クラス名)
  2. コード規則(改行や空白などの書き方)
  3. メソッド切り出しのルール
  4. ディレクトリ構成のルール
  5. システム分割のルール(どこに何が実装されているか)
  6. Githubの運用ルール

ダメ出しケース② … ダメ出しする人と相性がよくない

高校や大学のときに
相性が良くない人がいたように
社会にも相性が良くない人がいます

↓この場合の解決方法

解決方法

  1. 仕事だからと割り切る(実践がラク)
  2. 一緒に仕事しないように変えてもらう(少し難しい)
  3. 理解してみようと試みる(難しい)
  4. 思い切って転職する

未経験エンジニアで辛くて辞めたいと思う前に

わからないことが多くて
エンジニア1年目は辛く感じがちです

その場合は、目標を設定しましょう

スキル獲得を目標にすると
案外気分がラクになるものです

筆者的にこちらのスキルがあればOK
と思います!

最低限必要なスキル & おすすめの本

  1. インターネットに関するスキル
    → おすすめの本 … Webを支える技術
  2. データベース、SQLのスキル
    → おすすめの本 … 達人に学ぶDB設計
  3. 要件と設計を理解するスキル
    → おすすめの本 … 手戻りなしの要件定義実践マニュアル

詳しくは
こちらの記事で解説しています

それでも、エンジニアの職場で居心地が悪く辛い場合

転職をするのも方法のです!

エンジニアは需要が多いので
転職しやすいです

そのため、相性がよくないと感じた場合は
スパッと転職を辞めるのも方法の一つです

最低限のスキルさえ身につければ
転職は簡単にできます!

私がエンジニアしていて辛かったケースの紹介

ここからは余談ですが
私が辛かったケースを紹介します

エンジニアをしていて辛かったケース

  1. 仕事の進め方がわからない
  2. スキルが足りず、実装が思うようにできない
  3. エンジニアリーダーと相性が良くなく口論
  4. スキルはついたけど、もっと稼ぎたい

ケース① … 仕事の進め方がわからない

新人1年目の時に、頻繁に感じていました

新卒の時に抱えていた悩み

・どうやって進めればいいのかわからない
・何をやればいいのかわからない
・やってみたけど、誰に確認すればいいかわからない
・次、何をやればいいのかわからない

このような悩みが尽きませんでした…

処理が分からない原因

  1. 基礎知識が足りていない
  2. 設計に関する知識が足りていない
  3. 環境がズレている
  4. プロジェクト特有の実装がある
  5. チーム特有のルールがある

上記に挙げたものを行いました。

必ずどれかに当てはまるので問題ありませんでした。

ケース② … スキルが足りず、実装が思うようにできない

スキル不足にも良く直面しました

スキル不足でよくある悩み

・このクラス分解でいいのかな?

・処理の単位が大きくないかな

・どうやってリファクタリングすればいいんだろう…

実装の悩みは1人でも煮詰まるだけなので、
細かくレビューしてもらいましょう

役に立った方法と
おすすめの本を記載します

役に立った方法

  1. 細かくタスクを分割して、レビュー回数を増やす
  2. 誰かに説明するようにコードを読んでみる

スキル不足を補うおすすめの本

ケース③ … エンジニアリーダーと相性が良くなく口論

実務に慣れてきて、
スキルがついてきたあたりで直面しました

私の場合は、職場を変えました…

職場を変えた理由

  1. エンジニアリーダーなので必ず関わる人であるため、相性が良くないと仕事がずっと辛いため

変えてよかったこと

  1. 転職先のエンジニアリーダーとは相性が良く、スキルが磨けた
  2. いろんな実装方針に触れることができた

ケース④ … スキルはついたけど、もっと稼ぎたい

周りのエンジニアを見た時、
1000万を超える人がチラホラいたので
自分も多く稼げるようになりたいと感じました

稼いでいるエンジニアの多くは、
副業で本業と同じくらい稼いでいるので
自分もやってみたくなりました

↓副業で稼いでいる人の例

例1)1〜3年目エンジニア
(26歳の場合)

  • 本業の年収 … 500万
  • 副業の年収 … 300万(月給25万)
  • 合計 … 800万

例2)5年目エンジニア
(28歳の場合)

  • 本業の年収 … 700万
  • 副業の年収 … 500万(月給40万)
  • 合計 … 1200万

まとめ:どうしてもエンジニアは辛いなって思ったら逃げるのも正解!

エンジニアをやっていると
辛くなるときもあります

辛いと感じて、身動きが取れない時は…

  • 有給を取って休む
  • 上司に相談してみる
  • 休職を使ってみる
  • 転職をしてみる
  • テクパロにDMしてみる…!!

たくさんあります!
まずは誰かに相談してみるのがおすすめです!

体が資本です!

無理なくエンジニアを続けていきましょう!

ここまで読んでいただきありがとうございました!

それでは、また!