未経験からエンジニアになると、実際にコードに触れても理解ができない部分や、構造が理解できないということが多々あります。
- 『何回も、同じコードを見ているのに、何をしているのかさっぱり分からない』
- 『先輩から教えてもらったが、なんとなくしか理解できなかった』
- 『そもそも、聞けるような先輩がいない(先輩が超忙しそう)』
等々
そんなときに、何をするべきか今回は紹介できればと思います。
実際には未経験だろうが、経験があろうがすぐに理解できないコードというのは絶対的に存在します。
しかしながら、経験がない人がエンジニアの仕事を想像したときに、必要以上の不安を感じてしまうことが多いと感じています)
方法:許される時間を使って、全力で調べる
・エンジニアを目指している(そのために様々な情報を集めている)
・現在エンジニになりたて
上記のような方に特に当てはまりますが、エンジニアというのは、『自分で調べる力』というのが特に大事になってきます。
社内の頼りになる先輩エンジニアに、「エンジニアとしてやっていくためには、何の能力が必要か」を聞いたことがありますが、
『コードの理解力もとても必要になるが、それより、分からない部分を自分で調べる力が一番大事』
と言われたことがあります。
エンジニアとしてやっていくには、それぐらい自分で調べる力を養うということは大事になってきます。
仕事で遭遇するコード達というのは、研修や参考書などとは比べ物にならないくらい複雑なものも多く存在し、
経験が1年、2年あっても、複雑なコードになってくると理解できない領域のものばかりです。(分かったとしても一部など)
それらのことから言えるのは、
- 分からない部分について全力で調べる
- 調べるのと同時に、自分が分からないときにどのようにして調べるのかという『調べる力』を養う
これらを行うことになります。
ここまでできたら、あとは自分の上司へ調べた内容とともに繋ぐということが一番必要なことになってきます。
方法:先輩に聞く
前述でありますが、調べることが重要であると言いましたが、ときには調べる時間を少し減らして、『先輩に聞く』ということが求められるケースが出てきます。
(納期的に時間がない時など、スピードを求められている時)
実際に、何も調べていないままに、先輩に「〇〇の部分のコードがわかりません」と質問すると、
十中八九、先輩から「自分で調べたみた?」「どこまで追えているの?」
となります。(ですので少しでも自分の力で調べる時間を設けましょう)
この自分で調べるというの真意は『自分で調べて全てを理解しろ』というわけではありません。
特にエンジニアになりたての人が何らかのコードを見たときに、一発で理解できるなんてことはまずありません。先輩もそのことは頭でわかった上で、聞いてきます。
実際の真意は、『調べた結果のどう仮説を立てて、どこまで理解できているのか』
を先輩に伝えることが大事です。
自分で調べた内容から、『おそらくこうなっているはず』、『こうなるだろう』という方向性を示すことが先輩に質問を行う上で一番大事になってきます。
そのようにすると、『それは調べ方が間違っている』、『こっちのコードが近い処理をやっているはずだから、こっちを先に見てみるといいよ』などのアドバイスを得ることができるはずです。
ChatGPTに聞いてみる
ChatGPTに自分が分からない部分のコードをコピぺし、質問を行うことで、どのような処理を行なっているのかを教えてくれます。
自分ではいくら調べても理解できなかったのに、ChatGPTに聞くとすぐに解決できたということが多々あります。
最近では、業務中にChatGPTを使用することができる企業も増えてきているようですが、やはりAIに対する意見は賛否があります。
しかしながら、部分的なコードであったり、コード自体の意味を調べる程度であれば、多くの方が利用しているのではないでしょうか。
一回で期待する回答を貰おうとするのではなく、コードが十分に送られているか、質問の内容が不足していないかなどを確認しつつプロンプトを送ることで、自分では到達できなかった情報を得ることができます。
また、新しい技術に触れることで、
今、自分が必要としている情報が、どのように質問すると返ってくるのか
が繰り返すことで、自分の頭にどんどん蓄積され、ChatGPTの使い方が上達して行きます。
【未経験からエンジニアへ】コードがわからない時の解決方法について!まとめ
解決方法について紹介して行きましたが、大まかにコードがわからない時の解決方法はこれらに分類できると思います。
実際には、先輩社員も触ったことのない技術やわからない問題というもの存在すると思いますが、業務をこなしている間に、徐々に自分自身もレベルアップして行きます。
「ああでもない」「こうでもない」と自分の頭で考え、時には他の人の頭も使いながら、解決に導いて行きましょう。
コメント