
前回は、「エンジニア未経験が内定後にやるべきことは⁉筆者の実績も紹介!!」について執筆していたけれど、その後の展開はどうなっていくのかしら?

確か、筆者が実際にどういった勉強をしたのか、おすすめの事前準備について解説する!!といった話じゃったかな。

前回の記事をご覧になっていない方は、是非!前回投稿した記事をご覧ください!
✓筆者の入社後のタスクとは⁉
入社初日の朝、社内での挨拶を一通り済ませた後、自分の業務内容が発表されました。結果として、希望していた通り、自社開発のプロジェクトに参加することが決まりました。社内で進行中のプロジェクトに関わるという期待とともに、未知の環境への不安も感じつつ、開発者としての新たな一歩を踏み出しました。
これまで参加してきた勉強会では、ローコード言語やローコードツールを使った開発を学んでいたため、その知識が業務に直結すると楽観的に考えていました。しかし、実際に配属されたプロジェクトは全く異なる開発環境で進められており、使われる技術やツールも自分がこれまで触れたことのないものでした。このギャップに戸惑いを隠せず、「自分に務まるのだろうか」という不安が頭をよぎりました。
初日から、研修の一環として自社開発プロジェクトにOJT形式で参画することになりました。プロジェクトの技術スタックは、フロントエンドではHTML、CSS、JavaScriptが中心で、バックエンドではC#が採用されていました。さらに、フレームワークとしてはASP.NET WebFormsが使用されており、これらの技術に触れるのは初めての経験でした。それだけでなく、フロントエンドとバックエンドの役割の違いすら曖昧な状態だったため、どこから学び始めれば良いのかすら手探りの状況でした。
初めて任されたタスク:バグ修正
最初に任された具体的なタスクは、プロジェクト内で発生しているバグの修正でした。このタスクは、すでにチーム内で認識されている課題の一つであり、一見すると初歩的な内容に思えました。しかし、早速ソースコードを開いてみると、予想以上に複雑で、どこが間違っているのか全く見当がつきませんでした。コードを読み解くのにも一苦労し、エラーの原因を突き止めるまでに何度も立ち止まりました。
エラーと向き合う日々
エラーが出る原因を探るため、関連するコードをひたすら追いかける日々が始まりました。特に、どの部分が実際に動作しているのかを確認するためにコードの流れを追う作業が重要であることに気づきました。しかし、そもそもコード全体の構造や処理の順序が理解できていないため、どの部分を重点的に調査すれば良いのかが分からず、試行錯誤の連続でした。
手探りからの学び
それでも、自分なりにネットで情報を調べたり、社内で共有されている資料を活用したりしながら、少しずつ理解を深めていきました。最初は言葉の意味すら分からないエラーメッセージを検索するところから始め、関連する解決策を見つけることで、徐々に「エラーを解決するための考え方」が身についていきました。また、デバッグツールの使い方を学び、ブレークポイントを設定してコードの動きを可視化することで、少しずつ状況を把握できるようになりました。
小さな進歩と達成感
最初の数日間は、正直なところほとんど進展がないように感じられ、何度も自信を失いかけました。しかし、ある時ふとしたきっかけでエラーの原因を特定できたとき、「自分にもできる」という達成感を味わうことができました。この経験を通じて、困難なタスクであっても、地道に取り組むことで少しずつ前に進めるということを学びました。

このようにして始まった開発者としての第一歩は、決して順風満帆ではありませんでしたが、初めてのバグ修正を通じて多くのことを学ぶ貴重な機会となりました。この経験を基盤にして、より多くの技術を身につけ、今ではさらに難しいタスクにも挑戦しています!!

なるほどね。無事念願の自社開発業務に携われることが出来たのね。初めての仕事でないから手を付けていいのかもわからなかったんだね。

最初の仕事はバグ修正であったか。未経験からエンジニアになって、いきなりプログラマーの仕事を振られて、結構大変ではなかったのかな?

はい、、めちゃくちゃ大変でした・・
✓入社後に感じたプログラミングの難しさとは⁉
IT業界でキャリアをスタートしてから、プログラミングの難しさを身をもって体験しました。未経験者として業務に取り組む中で、日々直面した課題は多岐にわたり、それぞれが自分の成長にとって大きな試練となりました。未経験からエンジニアになって、大変だなと感じたことを紹介します!!
1.エラーの理解と解決
コーディングにはエラーがつきものですが、未経験者にとってエラーメッセージを解釈するのは想像以上に難しいものでした。「エラー内容は表示されているのに、何をどう直せばいいのかが分からない」といった状況に何度も陥りました。また、エラーの原因を特定するまでに時間がかかり、手が止まることもしばしばありました。それでも、上司や同僚に質問したり、ネットで情報を調べたりすることで、少しずつ解決までのプロセスを学んでいきました。
2.新しい概念や用語の多さ
プログラミングには、初心者にとって馴染みのない概念や専門用語が数多く登場します。変数や関数、クラスといった基本的な用語を理解することさえ、最初は大きなハードルでした。さらに、業務では一度に多くの知識を吸収する必要があり、情報量の多さに圧倒される日々が続きました。それでも、毎日少しずつ学び続けることで、少しずつ慣れてきたと感じています。
3.論理的思考の鍛錬
プログラミングでは、論理的な思考が欠かせません。プログラムの実行順序を考えたり、条件分岐を正しく設定したりする必要がありましたが、初めのうちは意図通りにコードが動かないことが多く、何度も試行錯誤を繰り返しました。この過程で、自分の考え方やアプローチを見直す機会が増え、少しずつ論理的な思考が鍛えられている実感が持てるようになりました。
4.ドキュメントやリファレンスの活用
ドキュメントやリファレンスはプログラミングの基本的なツールですが、どこに自分が探している解決策が書かれているのかを見つけるのは大変でした。特に未経験者にとって、専門用語が並ぶドキュメントは読解が難しく、正しく理解するまでに時間がかかりました。それでも、これらを読む習慣をつけることで、少しずつ読み解く力がついてきたように感じています。
5.デバッグの難しさ
プログラムが意図した通りに動かないとき、その原因を特定するデバッグは大きな壁でした。特に未経験者の段階では、デバッグツールやログの使い方が分からず、どこを見れば問題の箇所が分かるのかが分からない状態でした。結果として、デバッグに必要以上の時間を費やすことも多々ありました。しかし、先輩から教わったり、自分で調べたりすることで、少しずつデバッグのコツを掴むことができるようになりました。
6.時間がかかる
経験が浅い間は、1つの機能を実装するのにも非常に多くの時間がかかります。どの書き方が最適なのかが分からず、書いたコードに自信を持てないことも多くありました。また、書き上げたコードに改善の余地があっても、それに気づくための視点を持てていない自分に悔しい思いをすることもありました。
7.モチベーションの維持
プログラミングは思い通りにいかないことが続くと、モチベーションの維持が難しくなる場面もありました。エラーが次々と発生すると、「自分には向いていないのではないか」と落ち込むこともありました。しかし、少しでも解決できたときの達成感が大きく、何とか前向きな気持ちを保ちながら取り組むことができました。

このような難しさを経験しながらも、日々学びを積み重ねていく中で、自分のスキルが少しずつ伸びていることを感じています。初心者にとっては辛いことも多いプログラミングですが、その分得られる成長の実感は大きいです!!

結構大変そうね・・

ITの仕事は意外と体育会系的なところがあるからのお。わからなければわかるまで調べ続けないといけないことが、慣れるまで負担になるよね。どんな感じで、傾向と対策を講じたんじゃ?
開発業務の中で感じた困難への具体的な対策と実践
開発業務において直面した数々の困難に対し、具体的な対策を立てて実践することで、少しずつスキルを向上させることを目指しました。以下に、困難への対策とその効果について具体的にご紹介します。
1.エラー解決のための対策
エラーが発生した際には、エラーメッセージをそのまま検索し、解決策を探す習慣を身につけました。特に、公式ドキュメントや開発者コミュニティで得られる情報が非常に役立ちました。また、デバッグの基本を学び、ステップ実行やブレークポイントを活用してコードの流れを把握するよう心がけました。これにより、エラーの原因を特定しやすくなり、解決までの時間を短縮できるようになりました。
2.新しい概念や用語を覚えるための対策
初めて学ぶ概念や用語の多さに圧倒されないよう、よく使われる基本的な用語から徐々に覚えることを意識しました。公式のチュートリアルや初心者向けの入門書を活用し、基礎的な知識を少しずつ身につけることで、無理なく学習を進めました。また、実際のコード例に触れることで、概念と実践を結びつけ、理解を深める努力をしました。
3.論理的思考の鍛錬
複雑な問題に直面したときには、問題を小さなステップに分割し、一つずつ解決していくアプローチを取りました。また、ロジックを紙やホワイトボードに書き出すことで、自分の思考を整理しました。視覚的に全体像を把握することで、より効率的かつ論理的にコードを書くことができるようになりました。
4.ドキュメントやリファレンスの活用
ドキュメントを効率よく活用するため、知りたいキーワードを絞って読むことを心がけました。膨大な情報の中から必要な部分だけを素早く見つけ出し、効率的に情報を収集する力を養いました。また、ドキュメント内に掲載されているサンプルコードを実際に動かして試すことで、使用方法を実感しながら理解を深めることができました。
5.デバッグ能力の向上
コードが正しく動作しない場合、段階的にコードを実行し、少しずつ動作を確認する習慣をつけました。また、統合開発環境(IDE)のデバッグツールを積極的に活用し、変数の中身やコードの流れを可視化することで、問題の箇所を特定しやすくしました。これにより、効率的にデバッグを進められるようになりました。
6.効率的なコーディング方法
まずは動作するコードを書くことを優先し、その後リファクタリングを重ねてコードの効率を高めるアプローチを採用しました。また、定期的に先輩エンジニアからコードレビューを受け、改善点や効率的な書き方について学びました。これにより、書いたコードに対する自信が持てるようになり、スキルアップにもつながりました。
7.モチベーションの維持
小さな成功体験を積み重ねることを重視し、初めは簡単な機能を実装することに集中しました。達成感を得ることで、次の課題にも前向きに取り組むことができました。また、勉強会や技術コミュニティに積極的に参加し、同じ目標を持つ仲間と交流することで刺激を受け、モチベーションを保ち続けることができました。
8.進捗管理と記録の徹底
学習した内容やエラー解決の手順をメモに記録することで、学んだことを振り返りやすくしました。さらに、スケジュールを作成し、進捗を管理することで、計画的にスキルを磨くことができました。自分の成長を実感できるような記録を残すことで、モチベーションも維持しやすくなりました。

これらの対策を実践する中で、最初は困難に感じていた課題も徐々に克服できるようになりました!!

しっかり、現状を分析して、傾向と対策を組んだことで少しずつ成長できたのね!!

最初の方は大変じゃが、ゆくゆく自分の力になっていくよ!!




コメント