プログラミング未経験からWebエンジニアへ:私の3年間の軌跡と学び
はじめに
こんにちは。この記事は、大学で法律を学んでいたプログラミング完全未経験の私が、新卒でWebエンジニアとしてのキャリアをスタートさせ、経験を積んだのちに現職に入社し、今に至るまでの3年間を振り返るものです。
社会人になるまでコードに触れたことがなかった私が、今こうしてエンジニアとして働いているという事実から、プログラミング未経験からでもエンジニアを目指すことは可能であるということをお伝えしたいと思います。
この記事が、これからエンジニアを目指したいと考えている方、特にプログラミング経験がないことに不安を感じている方にとって、キャリアパスの一例として、少しでも参考になれば幸いです。
これまでの経歴:紆余曲折を経てエンジニアへ
私の経歴は少し変わっているかもしれません。
- 高校一年: 将来はITエンジニアになりたいと考え、理系的な分野に興味を持つ。
- 浪人生: 受験勉強をする中で日本史の面白さに目覚め、文系科目を重点的に学ぶことを決意。
- 大学生: 法学部に進学。当時は法曹(弁護士や検察官など)を目指していました。
- 大学四年生 夏: 法科大学院への進学を目指し受験勉強を開始。しかし、想像以上のストレスを感じ、「このプレッシャーの中で司法試験の勉強に耐えるのは難しいかもしれない」と思い始め、急遽、民間企業への就職活動に切り替え。
- 大学四年生 秋: 幸運にもIT企業(1社目)から内定をいただく。エンジニアとしてのキャリアが現実味を帯びてくる。
- 大学四年生 11月: 内定者インターンとして、初めてプログラミング(Ruby on Rails)に触れる。最初の3ヶ月ほどはチュートリアル教材を進める日々。
- 社会人1年目: 自社開発企業にて、Railsエンジニアとして本格的に業務を開始。ここでエンジニアとしての基礎を学ぶ。
- 社会人2年目: モダンなWebフロントエンド技術への関心が高まり、現職である受託開発企業へ転職。
- 社会人3年目: 新たな挑戦として、Flutterを用いたモバイルアプリ開発に従事。
このように、様々な経験を経て、エンジニアとしての道を歩むことになりました。
エンジニアの世界はプログラミング未経験にも優しい?
「プログラミング未経験だと、エンジニアの世界は厳しいのでは?」と感じるかもしれません。しかし、私の経験上、いくつかの点で「優しい」と感じる部分もありました。
1. エンジニアは「教えたがり」が多い
エンジニアの世界を知らない人には意外かもしれませんが、エンジニアには親切に教えてくれる人が多いです。もちろん人にもよりますが、技術を磨き、その磨いた技術を広めていくことが好きな人多いです。
ですから、分からないことがあれば、一人で抱え込まずに上司や先輩に積極的に質問してきました。ただし、「丸投げ」は絶対にしません。「自分なりにここまで調べてみたのですが、ここが分かりません」 というように、自分で考えたプロセスを示した上で質問することが大切です。
2. 「ただ動くコード」を書くことならできる
プログラミングには論理的な思考力が求められますが、完璧でなくても、まずは「動く」コードを書くこと自体は、学習を続ければ誰でもできるようになります。Google検索や、最近ではAIを活用することで、何故かはわからないがとりあえず「動く」コードを書くことができます。
HTMLで表示を整えたり、簡単な処理を実行させたり、最初の「動いた!」という瞬間はとても楽しく、もっとプログラミングをしたいと思えます。
ただし、「動くコード」と「良いコード」は違います。「良いコード」を書けるようになるには、継続的な学習と実務経験が不可欠だと思います。Google検索で見つけたコードやAIが生成したコードのコピペでは「良いコード」は書けません。
動くものが作れるようになったら、次はより良いコードを目指して学び続ける姿勢が重要になります。
そして、「良いコード」とは何だろうかという探究も非常に面白いです。私は最近になってこの面白さがわかるようになってきました。
未経験からエンジニアとして働くための心構え
優しさがある一方で、プロの世界であることに変わりはありません。プログラミング未経験という背景に関わらず、エンジニアとして働く上で大切だと感じた心構えを3つ紹介します。
1. プロ意識を持つ
「未経験だから」という甘えは、採用された時点でもう通用しません。企業はあなたを「プロのエンジニア」として採用しています。給料をもらっている以上、その期待に応える責任があります。「自分はプロなんだ」という意識を持つことが、成長の第一歩です。これは、どの職種にも共通して言えることでしょう。
2. プロのエンジニアとしての基本行動
では、「プロのエンジニア」として具体的に何を意識すべきでしょうか。
-
学ぶ意欲:
IT技術は日進月歩です。常に新しいことを学ぶ姿勢が求められます。疲れているときに無理して勉強する必要はありませんが、「もっと知りたい」「できるようになりたい」という学ぶ意欲を持ち続けることが大切です。 -
とりあえずやってみる(do first):
新しい技術や未知の課題に直面したとき、すべてを完璧に理解してからでないと動けない、と考えてしまうことがあるかもしれません。しかし、わからないなりに、まず手を動かしてみることが非常に重要です。実際にコードを書いてみたり、ツールを触ってみたり、ドキュメントを読んで試してみたりする中で、疑問点が具体的になったり、理解が深まったりすることは少なくありません。「わからないから何もしない」のではなく、「わからないなりに調べてみる、試してみる」 という姿勢が、結果的に学びを加速させ、問題解決への近道となることが多いです。 -
報告・連絡・相談 + 提案:
いわゆる「報連相(ほうれんそう)」は、社会人の基本ですが、エンジニアにとっては特に重要です。進捗状況の報告、仕様変更の連絡、技術的な問題の相談などをスムーズに行うことで、チーム開発は円滑に進みます。これは意外と難しく、意識しないと怠りがちです。経験の浅さを補うためにも、報連相は確実にできるようにしましょう。
さらに、問題点を見つけ、改善策を「提案」できるようになると、一気に頼りになる存在として評価されます。提案する際は、いきなり全体に発信するのではなく、まずは先輩や上司に相談し、壁打ち相手になってもらうと良いでしょう。
最近では、AI(ChatGPTなど)を活用して提案のたたき台を考えるのも有効です。ただし、AIの提案を鵜呑みにせず、必ず自分の言葉で背景や理由を説明できるように理解を深めることが重要です。AIの回答をそのままコピペするのはNGです。 -
プログラミングを楽しむ:
これが一番大事かもしれません。自分の書いたコードが意図した通りに動いたときの喜び、新しい技術を学んで出来ることが増える感覚は、エンジニアリングの醍醐味です。技術書を読んだり、個人開発をしたりして技術を磨く中で、「楽しい」と感じる瞬間が増えていくはずです。プログラミングの世界は非常に広いため、自分が「面白い!」と思える分野を見つけることが、長く続けていくための秘訣です。
3. 自身の経験から:壁を乗り越えて
正直に言うと、新卒で入社した会社では「自分はエンジニアに向いていないのかもしれない」と悩む時期もありました。技術的なキャッチアップは大変でしたし、周りの優秀なエンジニアと比べて落ち込むこともありました。今もあります。
社会人2年目で現職への転職を決めたとき、「次は自分が本当に興味のある分野(Webフロントエンドやモバイルアプリ)に挑戦してみよう。それでもダメだったら、その時にエンジニアを辞めよう」と考えました。1社目での経験があったからこそ、次のステップに進む決断ができました。
現在はFlutterでのモバイルアプリ開発に携わっていますが、今でも分からないことや大変なことはたくさんあります。しかし、試行錯誤しながらプロダクトを形にしていくプロセスは、間違いなく「楽しい」 と感じられるようになりました。加えて、先述の通り最近は良いコードとは何かを考えることが楽しくなってきました。これは、エンジニアとしての成長を実感できる瞬間でもあります。
このように、エンジニアとしてのキャリアは決して平坦ではありませんが、自分の成長を実感できる瞬間が多いことが魅力です。
最後に:挑戦へのエール
もしあなたがプログラミング未経験であることを理由に、エンジニアになることをためらっているなら、ぜひ一歩踏み出してほしいと思います。
プログラミング未経験からでも、エンジニアになる道はあります。
私の経験が示すように、最初から完璧である必要はありません。大切なのは、「できない理由」を探すことではなく、「どうすればできるか」を考え、実際に行動してみることです。
この記事は、あくまで私個人の一例に過ぎませんが、あなたの挑戦を後押しできれば、嬉しいです!
Discussion