「未経験でエンジニアになったけど周りについていけない」
「自分が仕事で足を引っ張っている」
「もっとエンジニアとして仕事ができるようになりたい」
未経験からエンジニアになると、周りのレベルの高さに絶望してしまいますよね。
僕は実際の業務に入ってから仕事を全く上手く進めることができませんでした。次の日の仕事を考えると辛くて寝れなくなった日々が続いたこともあり、今でもそのときの劣等感を強く覚えています。
この記事では、そんな過去の体験から
- 入社3ヶ月後に存在する壁
- 1年後の自分が乗り越えられた方法
を紹介していきます。
僕は未経験からエンジニアになったので、当時は何もわからない状態で「自分はエンジニアに向いていない」と思っていました。しかし、今では現役のエンジニアとして業務を行っているので、少しでも参考になればと思います。
未経験エンジニアが辛いと感じる4つのポイント
人によるとは思いますが、エンジニアの辛いポイントはおよそ以下の4つです。
- プログラミング以外の業務に苦戦
- エンジニアとして業務の進め方がわからない
- 事前知識の不足
- 時間の見積もりが出せない
プログラミング以外の業務が辛い
まず、プログラミングをすることは意外となんとかなるものの、Gitを始めとした周辺ツールで大いに苦戦します。
それまで多少はGitを使えると思っていましたが、業務となると使用するコマンドが大幅に増えます。個人開発で使用していたコマンドというと
status, add, commit, push, pull, merge, branch, checkout…
くらいのものでしたが、いざ業務に入ると上記のコマンドに加えて
stash, cherry-pick, rebase, log, reset, diff…
などのコマンドをオプション(-a, -pなど)をつけて概念を理解しておかないと十分に使えません。
また、これらのツールの使い方を理解していたとしても、それをチーム開発のフローに適用できなければなりません。
「commit logってどう綺麗にするの?」
「masterにpushってしちゃいけないの?」
こういった、
- Gitを始めとしたツールの使い方
- 開発の進め方(開発フロー)
の両方がわからず、業務時間の大半をプログラミング以外の調査と理解に費やしていました。
先輩に聞いたらいいよと言われましたが、何は聞くべきで何を聞くべきでないのか?の判断が難しく苦労したとのことです。
エンジニアとして業務の進め方がわからないのが辛い
上記で「開発フロー」という言葉を出しましたが、多くの企業では、エンジニアがチーム開発を効率よく進めるためのステップを決めています。
そして、この開発フローに慣れるまで数週間もの時間を必要とすることも多々あります。
コードレビューをされて一度指摘された点を修正したので、approveされる前にマージしてしまったこともありましたし、GitHubのmasterにpushをしてしまったことも。
その中でも最も衝撃を受けたのが、新人であるにも関わらず何年もやっている先輩のコードをレビューすると言われたときは「何を見てレビューしたらいいのか?」が全くわからないことです。
それくらい調べろと思われるかもしれませんが、毎日のようにわからないことが降ってくるので頭の中はパンク寸前で前に調べたことを数日後には忘れてしまう現象がよく起きていまたとのことです。
業務以外のことでも上手くいかないし業務のことも上手くいかないので、常に自分のスキル不足を実感して心が折れそうになっていました。
» コードレビューの観点を4つ紹介!新人エンジニア向けに具体的な項目を解説します
事前知識が圧倒的に不足しているのが辛い
他にも業務を進めるにあたって、上司が当たり前に話していることを理解できないことも辛かったそうです。
こちらもスキル不足というか知識不足ですが、大体アルファベット3文字の単語が出てきたら理解できません。3割くらいは、AWSが提供しているサービスだったりするのでよく恨んでいたらしいです。笑
こういった状況を放置してしまうと、
話が7割しかわからない
→ わからない単語が出てくる
→ また7割しかわからない
→ …
→ 結論が理解できない
となってしまい、理解できているのは最初の10分だけという状況になってしまいます。スキルだけでなく、知識も足りないということも実感していました。
時間の見積もりが出せないのが辛い
実務に入ると、「この機能追加にどれくらい時間がかかるか」という時間の見積もりを出さなければなりません。
しかし、この時間見積もりもなんとなく出してみるものの、自分が出した見積もりでは全然開発の時間が収まりません。
対処法は次の章で書きますが、エンジニアにとっても時間管理は他の職種以上にシビアなものなのです。
「未経験エンジニアは辛い」から脱出するための方法
未経験エンジニアの辛いポイントを書いていきましたが、これらの辛いポイントがなくなり仕事を楽しくするためには結局
「仕事ができるようになること」
が唯一の方法であるといえます。
そのためにもエンジニアとして働いて、実際に行動して自分の業務が改善できたと思う行動をまとめます。
理解できない点を明確にする
未経験のエンジニアにありがちですが、最も避けたい状態は「何がわからないのかわからない状態」です。
なぜなら、何がわからないかわからない限り、発生している問題に対処することはできないためです。
「何がわからないかわからない状況」というのは、理解できていない複数の事柄が絡み合っているときに発生します。例えば、ミーティングを想定してみると
- わからない単語がたくさん出てきた
- よくわからない提案が出てきた
- 最終的にわからない結論になった
と、自分の”わからないポイント”が複数あり、それらの問題が全てまとまって「わからない」という結論に至っています。
それらを理解できるようになるためには、1つ1つ自分の”わからないポイント”を整理した上で確認していくと良いでしょう。
上記の例であれば、
- まずはわからない単語をメモして調べる
- 上司に結論とその理由は自分の認識で合っているかを聞く
これを繰り返していけば、少しずつ自分の業務について理解が深まり未経験の枠を抜けられるようになります。
実際にかかった時間と見積もり時間を比較する
多くの会社には、納期というものが存在するため時間管理もエンジニアの必須スキルといえます。
しかし、最初のうちは自分が設定した時間内に作業を終えることは難しいでしょう。
この対処法として「自分の見積もり時間の○倍で見積もる」という方法もありますが、より正確に見積もれるようになるためには「自分の見積もった時間」と「実際にかかった時間」を記録しておくと良いでしょう。
そうすると、自分の見積もりに対して実際に必要とした時間がおよそ何倍くらい必要か?を見ることができます。自分の必要とした時間を記録するのは面倒に感じられるかもしれませんが、一度試してみてください。
客観的に自分の強みを見直す
とにかく仕事が辛い状況になると「自分は何やってもだめだ」「会社にいる価値なんてない」とネガティブになります。
しかし、会社があなたを採用したということは、エンジニアスキルはもちろんですが、それ以外にもあなたに魅力的な点があるからこそ採用されています。
仕事で貢献できないと何もできないと思いがちですが、自分の強みを生かすことで、エンジニア以外の何か別の分野で貢献することを考えてみてはいかがでしょうか。(実際僕も新卒のときに仕事ができないのが辛く、新卒研修を作ったりしていました)
自分にそんな強みなんてない!と思われる方は、リクナビNEXTにある「グッドポイント診断」という診断があるので、それを利用するのも1つの手段です。
30分ほどで完了するので、再度自分に自信をつけるためにも一度やってみることをおすすめします。
一番大事なのは折れない心
とにかく未経験でエンジニアになろうと思っている人にとって大切なことは”スキルがないことに対する折れない心”と”ものを作れることに対する楽しむ心”です。
どんな仕事でもそうだと言われればそれまでですが、エンジニアはとにかく技術力や知識が明確に出ます。
今でもそうですが、特に入社3ヶ月の頃は毎日知らなかったことが当たり前のように出てきて、いつになれば1人前に業務ができるのかと考える日々でした。
とは言いつつも、自分が想像していたものが実際に形になることは楽しいです。同じように思える人はエンジニアとしても上手くやってけるのかなと思います。
Rubyの作者である松本ゆきひろさんも上手くいったときには、自分はなんて天才なんだと思える単純さが大切とおっしゃっています。日々の些細な成長でも、自分は素晴らしいと思えるようになるのがエンジニアとして働く極意なのかもしれません。
» まつもとゆきひろさんの「若手エンジニア生存戦略」講演まとめ
どうしても辛いときは転職エージェントに登録だけしておく
とはいえ、今だから言えることですがIT業界はかなり特殊で、明らかに労働搾取といえる環境もあります。
具体的に例を挙げてみると
- 未経験で学習コストがかかるといって年収が300万円を切る
- 人手不足を理由にミスマッチな案件を大量に渡される
- 周りが忙しいために質問をすることもできない
こうした環境は、明らかに異常です。
自走できる人材を募集する会社は多いですが、上のケースは自律うんぬんではなく完全に無茶ですよね。
しかし、初心者のころは「自分にはスキルがないから転職活動も上手く行かないのではないか…」と不安になります。
転職エージェントに登録するとわかりますが、意外と他の企業からもオファーは来ますし、それがわかると気持ち的に余裕もできます。
マイナビエージェントは、20代であれば経験が浅くても手厚いサポートが受けられます。
(しかもマイナビエージェントは転職しないほうがいい場合は、「転職しないほうがいい」とはっきり言ってくれます)
最終的に転職しないにしても、一度今の状況を相談できる相手がいると心強いので、気軽に相談する選択肢を持てるといいですね。
まとめ
ここまでの記事のポイントをまとめます。
- 未経験エンジニアは数多くの壁が存在する
- それらの壁は知識や業務不足からなるが「できたときの単純さ」を忘れない
- 自分が何に悩んでいるかを常に明確化しよう
エンジニアは自分の手でものを作り出せるという意味でもそうですし、働ける自由度の高さという意味でも夢のある仕事かなと思っています。
エンジニア不足は今後も避けられない課題でしょうし、一歩踏み出したいと考える人にはおすすめしたい職業です。
最後に自分の強みを見つけるグッドポイント診断のURLを貼っておくので、ぜひ自分の強みを再認識してください。