仕事

【失敗談】新人エンジニアが開発現場でよくやらかすことまとめ

こんにちは、エンジニア歴2年目のyuuです。

今回は「新人エンジニアが開発現場でよくやらかすこと」をまとめてみました!

ざっくりこの記事の内容

・僕や同僚が開発現場でやらかしたこと

・「やらかしたー!」の原因とその対処法

・「やらかしたー!」ときの自分の感情や周りの対応

・【最重要】新人エンジニアはどんどんやらかして良い

僕自身の経験談や同僚の話など、実体験をベースにして記事をまとめました。

書いている途中に何度かお腹が痛くなるくらい、実体験に即した内容になっております…笑

ただ、これだけは初めに言いたい。

「最初はやらかしてなんぼです」

まあやらかさないほうが良いのは間違い無いんだけど、ITの開発現場で1度もやらかした経験の無い人はいません。

この記事は、

  • やらかすと気持ちが後ろ向きになってしまう新人エンジニア
  • エンジニアになりたいけどやらかすのが怖い方

このような失敗をネガティブに捉えがちな方の気持ちをすこしでも軽くできないかと思って書きました。

僕は歴2年目のまだまだ初級のエンジニアですが、毎日なにかしらやらかし続けています。

やらかすこと自体は問題ではなくて、やらかした後にどう「成長」へ繋げられるかが重要です。

すこし前置きが長くなりましたが、僕や同僚は新人エンジニア時代にこんな感じでやらかしました。それではどうぞ。

エラーと格闘していたら5時間経ってた

新人がアサインされた「初月」にやりがちです。

エラーにハマってしまうとあっという間に時間が過ぎていくんですよね。

経験のある人にアドバイスを求めたら、それこそあっという間に解決することもあるんですが、

新人エンジニア
新人エンジニア
なんかよくわからんエラーが出てしまった…。質問したいけど、こんなこと聞いちゃっていいのかな…?

〜 2時間後 〜

だめだ、どうしてもうまくいかない…! もうかなり時間使っちゃったし、ダメなやつって思われてないかな…?

〜 5時間後 〜

こんなに時間かかるなんて…! もうここまできたら聞きに行くのも気まずいし、どうすれば…

 

いつでも質問してまったく問題ありません!!!!!!

まず、ちゃんとした現場なら新人エンジニアにそこまで期待はしてません。

基本的にITの開発現場はどこも忙しいことが多いので、仕事を振る上長も「とりあえず仕事振って、わかんないとこ出てきたらその都度教えていこうかな〜」みたいなスタンでいることが多いです。

最初から全部教えてくれることはあまりありません。

わからないことが出てくることは想定した上で仕事を振ります。

なので、わからないことがあれば一人で悩まずガンガン質問すればオッケーです。

一人で長時間悩み続けることは合理的に考えて良くないってのもありますが、なによりも精神的にしんどいです。多分、病んでIT業界をやめていく人の大部分はこれが原因じゃないかな…。

ほんと、自分の心の健康を守るのが一番大事です。

ハマったら助言を求める。これでOKです!

既バグを見なかったふり

これ、僕含め同僚のほとんどが経験ありです…。笑

コーティングをしていると、たまにエラいもんを見つけてしまうことがあります。あまり表に出てこなかったけど、そのシステムが潜在的に抱えているバグのことです。

今までは問題なかったこのバグが何をトリガーに表に出てくるかというと、「何か新しい機能(処理)を追加するとき」に出てきます。

新人エンジニアのあなたが、「A」の機能を「A+」へ改修することを任されたとして、

新人エンジニア
新人エンジニア
Aの機能、なんかバグっぽいのあるな…。まあ今まで問題なく動いていたんだし、とりあえず放置してA+に改修しよう…。

こんな感じで進めると、小さなバグでが起点となり巡り巡ってFATAL ERROR(処理を停止するほど致命的なエラー)を引き起こすこともあります。

そして自分の経験上、不安を抱えながら開発するのは精神的に良くない!

「これやばくない?」って思ったら、まずは相談してみましょう。

新人エンジニア
新人エンジニア
これバグだと思うんですけど…
上司
上司
本当だ…。指摘ありがとう、これは修正しよう。

相談することによって、あなたの評価が上がることもあります(同時にバグ改修という仕事が増えることもままありますが…)

開発はチームでやるものなので、どんどん周りを巻き込んでいきましょう。

焦ってミスを修復しようとして二次災害

僕もそうなのですが、人間誰でも自分のミスはできれば隠したいものです。

例えば自分は、Linuxというサーバーに修正ソースを配置する際、あやまって他のファイルを消してしまったことがあります(真っ暗な画面でコマンド操作するので、慣れていないとなかなか苦労します)

ブログ管理人yuu
ブログ管理人yuu
やばいなんか変なコマンド打ってファイル消えた!まずい!早く復旧させなきゃ…!

僕の場合は焦りを察知してくれた上司がすぐさま火消ししてくれたので事無きを得ましたが、冷静ではない状態で短絡的な火消しをしようとすると、返ってそれが火に油をそそぐ結果になってしまうことがあります。

何かやらかしたらと思ったら、まずは深呼吸。

それから火消しの方法を考えて、その方法に自信がもてなかったら周りに相談。これでだいたいは解決します。

自己判断で進めて報告しない

自分の判断で仕事を進められない、俗に言う「指示待ち君」を非難する人もいますが、チーム開発での自己判断は時にリスクを伴います。

例えば僕の同期に、

エンジニアの同僚
エンジニアの同僚
自己判断で仕事を進めてたら、仕様と全く違うものを1ヶ月かけて作っちゃた。

というツワモノもいます。

自己判断のみで仕事を進めて大丈夫なのは、開発中のシステムに精通していて、仕様の理解も完璧で、ユーザー目線に立てて、開発経験も充分あって技術トレンドもしっかり抑えてて… みたいなスーパーマンだけです。

「新人のうちからでも自分の力でバリバリ開発したい」って気持ちは素晴らしいですが、報告や相談ができるエンジニアはそれだけで価値があります。

僕の同期のように「多分こうだと思って進めたけど全然違いました」なんて状況ほど怖いものはありません(同期曰く今は改善したそうです。なんのフォローだ)

新人エンジニア
新人エンジニア
この要求仕様を実現するために、こういったアプローチでの実装を考えています。この実装をするとこんなメリットがあります。

こんな感じで、事前に報告や相談をしてくれるエンジニアだったら上司は大助かりでしょうね。

黙々と仕事を進めてくれることをありがたがる現場もあるとはおもいますが…

新人エンジニアはまず「自分の認識が合っているか?」をこまめに確認すると良いと思います。報告といった形で周りとコミュニケーションを取っていけば、僕の同期のような失敗は簡単に防げるので。

まとめ

色々書いたけど、大事なことが一つ。

「新人はどんどん失敗していい」

自戒でもあるのですが、失敗を恐れて身動き取れなくなってしまうのが一番もったいないと思っているので…

「考えがあって試行して結果失敗してしまった」みたいな失敗はめちゃくちゃ価値があると思います。どんなに気をつけていても、失敗するときは失敗しますしね。

ただ、周りとコミュニケーションを取ることでイージーミスや認識の齟齬はわりと簡単に防げます。

なので、コミュ力あるエンジニアは本当に需要あるんですよね。自分はコミュ力ないと思っているので、頑張らないと…。笑

それでは、今回はここまでとします。何か質問などありましたらお気軽にTwitterからどうぞ〜( ´ ▽ ` )ノ