未経験エンジニアとして実務経験を積むことは、簡単ではありません。
でも、適切なアプローチと努力を重ねることで、未経験から転職を成功させた事例は数多くあります。
この記事では、そんな成功事例を通じて、未経験から実務経験を積むための解決策とヒントをご紹介します。
- 個人プロジェクトの始め方
- オープンソースプロジェクトへの参加方法
- 独自のポートフォリオの作成
など、具体的な手法とともに、成功者のストーリーや注意点も交えてお伝えします。
また、インターンシップや実務経験のある人との交流についても触れ、一人で学習するだけでなく、外に出て行動することの重要性もお伝えします。
未経験から実務経験を積む道は険しいと思いますが、この記事を読むことで、モチベーションが高まり、具体的な転職成功への道筋が見えてくるでしょう。
未経験エンジニアと実務経験の重要性について
まず始めに、未経験エンジニアであっても、何らかの形で実務経験相当の実績が必要です。
「未経験なんだから実務できないじゃん!」と思うかもしれませんが、実務相当の経験は積むことができますし、それを面接でアピールできるかどうかで、転職成功の可能性が大きく変わってきます。
プログラミングを学ぶだけでは仕事はできない
未経験エンジニアがまず始めに学ぶのはプログラミングです。これは間違っていませんが、最終的な目的は仕事をすることなので、プログラミング学習だけでは不十分です。
実践的な仕事でなければ、いざ仕事を始めるとなったときに何から手を付けていいか分からなくなります。
学習の段階から実践的で、実務経験相当のプロセスを踏んでおくことで、転職時に有利になるだけでなく、仕事が始まってからも躓くことが少なくなります。
問題解決能力の向上が鍵
プログラミングとは、世の中の問題をITで解決するための手段であり、プログラミングスキルを身につける事自体が目的ではありません。
学習段階から世の中の問題を自分なりに見つけてみて、問題を解決するためのサービス設計をして、開発を進めていくことで、問題解決能力を身につけることができます。
問題解決能力をアピールするためにはポートフォリオの作成が有効になるので、未経験エンジニアはポートフォリオをGithubに上げるべきを参考にして、ポートフォリオを作ってみましょう。
- プログラミングを学ぶ
- 世の中の問題をITで解決できないか考える
- サービスを設計して、開発してみる
- ポートフォリオとして面接でアピールする
チームワークとコミュニケーション能力の向上
個人での学習と仕事の大きな違いはチーム開発かどうかです。小さなスタートアップでなければ、基本的には複数人で開発することになるので、開発現場におけるコミュニケーションやコードのレビューなど、チーム開発ならではのスキルが必要になります。
これは一人ではできないので、プログラミングスクールでチーム開発を経験するとか、勉強会などに参加してチームを組むなど、外に出て行動しなければいけません。
筆者は外に出たくないからプログラミングを始めたということもあり、こういったチーム開発は行いませんでしたが、一人チーム開発をすることで多少なりとも実務経験相当の学びを得ることができました。
一人チーム開発は、例えば、フロントエンドとバックエンドでアカウントを分けて、コードレビュー依頼を出してみたり、それぞれのコードをマージするなど、一人二役で開発を進めることです。一見寂しいことをしているように思えますが、チーム開発で最も重要なGithubの使い方をマスターできるようになります。
実務経験は就職時にかなり有利になる
実務経験相当のスキルがある人と、プログラミングスキルだけがある未経験エンジニアでは、前者のほうが圧倒的に評価されます。
なぜなら、プログラミングスキルは日々変わっていくものだし、調べながらでもできるものの、実務経験は定着してしまえば、そのスキルが廃れることはほとんど無いからです。
逆に言うと、プログラミングスキルは最低限あれば十分ですし、言語が違っても問題ないという人もいます。
筆者は初心者にはPHPを学ぶことをおすすめしていますが、それでRubyやPythonの現場に入れなくなるわけではありません。実際に筆者はRubyを学びましたが、PHPを使っている現場に転職しました。
実務経験が積めない理由とは?
実務経験が積めない理由はもちろん、「実務をしていないから」にほかならないのですが、実務経験が無い人の壁が高いことも理由の1つです。
経験を求める企業が多いから
多くの企業は、実務経験を持つエンジニアを求めています。実務経験がない未経験エンジニアは、その時点で採用基準から外れてしまうこともあります。
企業側は、即戦力となるエンジニアを求める傾向があり、未経験者に対する採用には慎重な姿勢をとるので、未経験者は以下に実務経験相当のスキルがあるかどうかをアピールする必要があるのです。
経験不足による自信の欠如
未経験エンジニアは、実務経験の不足から自信を持ちにくい傾向があります。
自信がないと、自ら積極的にプロジェクトに参加することや自己アピールをすることが難しくなります。
しかしながら、転職時は経験のあるエンジニアであっても不安になるものです。
- PHPの現場と言っても、今のスキルだけで通用するのか
- スペシャリストばかりの現場で付いていけなかったらどうしよう
- 面接で細かいことを突っ込まれたら分からんわ
こういった不安はエンジニア歴8年の筆者ですら毎回感じています。
現場に入ってみないと分からないことが多いですが、それはエンジニアだけでなくどの職業でも同じだと思います。とりあえず飛び込んでみる勇気は必要ですし、面接で答えられないことがあっても、「勉強不足なので調べてきます!」と言えば何とかなるものです。
少なからず自信を失うことは誰にでもあるので、無理やり自信を持てというわけではなく、不安な中でも飛び込む勇気を持ってほしいです。
実務経験を要求しない求人の少なさ
実務経験がない未経験エンジニアにとって、実務経験を要求しない求人案件の数が限られていることも一因です。
そもそも実務経験不要!といって出している求人は、よっぽど人が足りていないか、エンジニアといいながら実際にはテスターやカスタマーサポート業務であって、プログラミングをしないことがほとんどです。
「実務経験3年必須」くらいの求人であれば、未経験でも面接には通してくれることがありますので、求人に書かれていることはあまり気にせずにやっていけそうであればどんどん応募しましょう。
正社員以外での実務経験を積む機会の不足
実際のプロジェクトでの実務経験を積む機会が限られていることも、未経験エンジニアが実務経験を積めない理由の一つです。
正社員としてエンジニアになるためにアルバイトやインターンとしてIT企業に入ったとしても、エンジニアの業務はほとんどやらせてもらえないことも結構あります。
企業にとってプログラムは大事な商品であり、売上を左右するようなサービスになるわけですから、未経験で責任の無い立場の人に迂闊に触ってほしくないという想いがあるからでしょう。
本番稼働しているサービスには触れないものの、新規事業や社内だけの管理画面、テスト環境であれば結構自由に触らせてくれるので、こういった現場に入れるかどうかも気にしておくといいでしょう。
解決策1:個人プロジェクトを始める
実務経験を積むための解決策1つ目は、個人プロジェクトを始めることです。
問題解決能力の向上とも重なりますが、世の中の問題を解決するためのサービスを個人で開発することで、実務経験相当の学習ができます。
その際は、Githubを使った一人チーム開発を取り入れてみると、さらに実務経験っぽくなるのでおすすめです。
プロジェクトのアイデアを考える
まずは、自身の興味や関心がある領域でプロジェクトのアイデアを考えましょう。
このプロジェクトは転職をするためにやるので、面接で聞かれたときにアピールポイントになるかどうかを判断基準とします。
- 世の中の問題を解決するようなサービス
- 具体的な設計案
- 技術力をアピールできるようなソースコード
上記の点を意識しながらプロジェクトを始めていきます。いきなりアイデアが出るものではありませんが、最初の構想がとても重要になるので、ここは少し時間がかかってもいいので慎重にやっていきましょう。
必要なスキルの習得と実践
次に、プロジェクトを実現するために必要なスキルを習得しましょう。
オンラインの学習プラットフォームやチュートリアルを活用して、プロジェクトに必要なプログラミング言語やフレームワーク、ツールを学びます。
その後、実際にプロジェクトに取り組みながらスキルを実践できる環境を整えましょう。
プロジェクトを始める前にプログラミングの基礎は学習しておいた方がいいですが、そこから先の中級者、上級者向けの技術に関しては、プロジェクトが決まってからで良いです。
プロジェクト内で使われる技術をその都度学習していくというプロセスは実務でもあり得ますし、全部を学ぼうとしても何から始めればいいか分からなくなってしまいます。
- 基礎を一通り学ぶ
- プロジェクトの内容を決める
- 必要な技術を学びながら進める
GitHubなどのプラットフォームを活用する
個人プロジェクトを進める上で、GitHubなどのプラットフォームを活用することは非常に重要です。
GitHubを使ってコードをバージョン管理し、他の開発者との協力やフィードバックを受けることができます。
また、GitHub上で自身のプロジェクトを公開することで、ポートフォリオとしての価値を高めることもできます。
Githubを使う理由としては以下の通りです。
- 実務で使えるようになるため
- ポートフォリオとして公開しやすい状態にするため
- コードやPCが破損したときのバックアップのため
個人開発をしていてよくあるのが、コードが無くなってしまうことです。ネットワークの関係であったり、PCが壊れたなどの理由から、せっかく開発したコードが消えることがあります。
Githubにアップしておけば、すぐにコードを手元に持ってくることができるので、こまめにGithubにプッシュ(アップロード)しておきましょう。
解決策2:フリーランスやボランティアでの経験を積む
実務経験を積むもう一つの有効な解決策は、フリーランスやボランティアとしての経験を積むことです。以下では、フリーランスやボランティアでの経験を積むための方法とそのメリットについて詳しくご紹介します。
フリーランスとボランティアの違いと選び方
フリーランスとボランティアの違いを理解し、自身に合った選択肢を見つけることが重要です。
フリーランスとして活動する場合は、報酬を得ながらプロジェクトに参加し、クライアントのニーズに応えることが求められます。ただ、一般的なフリーランスエンジニアは、技術力があり、即戦力が求められるのでおすすめはしません。
クラウドワークスやランサーズなどのクラウドソーシングで格安で受注するような案件であれば、経験がなくても仕事がもらえることがあります。
一方、ボランティアとして活動する場合は、経験や貢献度を重視し、社会的な価値を追求することが目的となります。エンジニアとしてのボランティアは多くありませんが、友人や親戚、知人の事業主などからの依頼に答えるような形になるでしょう。
プロジェクトに参加するメリット
フリーランスやボランティアとしてプロジェクトに参加することには、数多くのメリットがあります。
まず、実際のプロジェクトに参加することで、チームワークやコミュニケーション能力といった実務経験を積むことができます。
また、実務経験を積むことで自身のスキルセットを充実させ、業界での信頼性と評価を高めることも可能です。
何もしていない未経験エンジニアと、何らかのプロジェクトに参加した人では、面接時の印象が全く違うものになりますし、もう既に未経験ではなく、実務経験のあるエンジニアとして認識される可能性もあります。
実務経験としての価値を引き出す方法
フリーランスやボランティアでの経験を実務経験として最大限に活かすためには、以下のポイントに注意しましょう。
まず、プロジェクトの実績や成果物を具体的に示すことが重要です。
自身の役割や貢献度を明確に表現し、経験をアピールすることで他者に認められやすくなります。
また、プロジェクトの振り返りやフィードバックを受けることで、自己成長や改善点の把握を図りましょう。
フリーランスやボランティアとしての経験は、実務経験を積むために有効な手段です。
解決策3:オープンソースプロジェクトに参加する
オープンソースプロジェクトへの参加は、未経験エンジニアにとって非常に有益な解決策です。以下では、オープンソースプロジェクトへの参加方法やそのメリットについて詳しくご紹介します。
オープンソースプロジェクトの意義とメリット
オープンソースプロジェクトに参加することは、ソフトウェア開発コミュニティへの貢献であり、さまざまな意義とメリットがあります。
まず、オープンソースのソフトウェアは、誰でも利用・改良・共有することができるため、自身のコーディングスキルの向上や知識の拡大に繋がります。
また、他の優秀な開発者と協力することで、新しいアイデアやベストプラクティスを学ぶ機会も増えます。
参加方法と貢献の仕方
オープンソースプロジェクトへの参加方法は多様ですが、一般的な手順をご紹介します。
まず、Githubなどで、関心のあるプロジェクトを選び、そのソースコードやドキュメンテーションを読みましょう。
その後、バグ修正や機能追加など、自身が貢献できる分野を見つけます。
修正や改善のためのコードを書き、プルリクエストを送信して、OKがもらえたらそのコードがプロジェクトに取り込まれます。
Githubには書いたコードのプルリクエストとマージされた履歴が残るので、面接時にGithubアカウントを見せるだけでアピールポイントになります。
あまりにも大きなプロジェクトだとさすがにマージされる可能性は低いので、そこそこスターがあって、参加人数が少なそうなプロジェクトを見つけましょう。
コミュニティでの交流と学びの機会
オープンソースプロジェクトへの参加は、コミュニティでの交流と学びの機会も提供してくれます。
メーリングリストやチャットルームなどのコミュニケーションチャンネルを活用し、他の開発者と交流しましょう。
質問やフィードバックを積極的に行い、他のメンバーからのアドバイスや意見を受け取ることで、成長と学習の機会を得ることができます。
オープンソースプロジェクトへの参加は、実務経験を積むだけでなく、自身のスキルや知識を向上させるための効果的な手段です。
解決策4:独自のポートフォリオを作成する
独自のポートフォリオを作成することは、未経験エンジニアにとって非常に重要な解決策です。以下では、ポートフォリオの重要性や作成方法について詳しくご紹介します。
ポートフォリオの重要性と目的
ポートフォリオは、自身のスキルや実績を効果的にアピールするためのツールです。
未経験のエンジニアにとって、実務経験がない場合でもポートフォリオを通じて自身の能力や成果を示すことができます。
ポートフォリオは、採用担当者やクライアントに自身のポテンシャルを伝え、信頼と関心を引くための重要な手段です。
作成するコンテンツの選び方と構成例
ポートフォリオを作成する際には、適切なコンテンツの選択と構成が重要です。
まず、自身のスキルや関心のある分野に焦点を当て、関連するプロジェクトや作品を選びましょう。
具体的な課題や解決策、使用した技術やツールなどを明示し、読み手が作品の価値や自身の能力を理解しやすくしましょう。
例えば、個人プロジェクトやオープンソースプロジェクトへの参加経験を示すことや、ウェブサイトやモバイルアプリのデザインや開発、データ分析の実績などを掲載することが考えられます。
また、GitHubや他のプラットフォームでのコードの公開やデモサイトのリンクを提供することも効果的です。
ポートフォリオの公開と活用方法
作成したポートフォリオを公開し、活用することが重要です。
自身のウェブサイトやプラットフォーム(GitHubやLinkedInなど)にポートフォリオを掲載しましょう。
また、採用担当者やクライアントとの面接時にポートフォリオのリンクを提供し、自身の能力や成果を具体的に説明する際に活用しましょう。
さらに、SNSや専門のコミュニティでポートフォリオを共有し、フィードバックやアドバイスを得ることも大切です。
独自のポートフォリオを作成することは、未経験エンジニアにとって実務経験を補完する有力な手段です。
次の章では、これらの解決策を組み合わせて実務経験を積むための戦略について考えてみましょう。
解決策5:インターンシップや実務経験のある人との交流
実務経験を積むための有効な手段として、インターンシップや実務経験のある人との交流があります。以下では、それぞれの解決策について詳しくご紹介します。
インターンシップのメリットと選び方
インターンシップは、未経験エンジニアにとって貴重な経験と学びの場です。
インターンシップを通じて、実際の現場での業務やプロジェクトに参加し、実務経験を積むことができます。
適切なインターンシップを選ぶためには、自身の関心や目標に合った企業やプロジェクトを選びましょう。
インターンシップの雰囲気やカルチャーにも注目し、自身の成長に最も適した環境を見つけることが重要です。
技術コミュニティやイベントへの参加
技術コミュニティやイベントへの積極的な参加も、実務経験を積むための重要な手段です。
技術コミュニティやイベントでは、他のエンジニアと交流し、実務経験のある人たちとのつながりを築くことができます。
ハッカソンやコーディングイベント、テックカンファレンスなどに参加し、自身のスキルを向上させるだけでなく、実務経験のある人々からの知識やアドバイスを得ることもできます。
メンターを見つける方法と関係の築き方
実務経験のある人との関係を築くためには、メンターを見つけることが有効です。
メンターは、自身の経験や知識を共有し、助言や指導をしてくれる存在です。
メンターを見つける方法は多様であり、技術コミュニティやイベント、学校の教員やアラムナイネットワーク、オンラインプラットフォームなどで探すことができます。
関係を築く際には、真摯な姿勢で相手の経験や知識に耳を傾け、積極的に学ぶ姿勢を示しましょう。
メンターとの関係は長期的なものとなることが多いため、信頼関係を築きながら持続的な学びと成長を目指しましょう。
インターンシップや実務経験のある人との交流は、実務経験を積むために重要な要素です。
次の章では、これらの解決策を組み合わせて実務経験を最大限に活かす方法について考えてみましょう。
注意点とヒント:実務経験を積むための努力
実務経験を積むためには、継続的な努力と意識が必要です。以下では、そのための注意点とヒントについて詳しくご紹介します。
継続的な学習とスキルの向上
実務経験を積むためには、継続的な学習とスキルの向上が不可欠です。
技術は日々進化しているため、最新のトレンドやツールに対しても常に興味を持ち、学習し続けることが重要です。
オンラインコースやチュートリアル、書籍などを活用して新しいスキルを習得し、実際にプロジェクトや課題に取り組むことで実践力を高めましょう。
自己啓発と業界トレンドの追跡
実務経験を積むためには、自己啓発と業界のトレンドを追跡することも重要です。
技術の変化や新しいツール、フレームワークの登場に対応するために、業界のニュースやブログ、専門のメディアを積極的にチェックしましょう。
また、コミュニティやイベントに参加し、他のエンジニアとの交流を通じてアイデアや知識を共有しましょう。
自身の成長にとって有益な情報を常にキャッチアップすることで、実務経験に対する理解と洞察力を深めることができます。
忍耐と自信を持つことの重要性
実務経験を積む過程で忍耐と自信を持つことは非常に重要です。
実務経験を得るには時間がかかる場合もありますし、最初から完璧にできるわけではありません。
しかし、諦めずに取り組み続け、自身の成長を信じることが大切です。困難や挫折があっても、それを乗り越えることでより一層成長し、実務経験を積むことができます。
自分の能力に自信を持ち、チャレンジする姿勢を忘れずに取り組んでください。
実務経験を積むためには、継続的な学習とスキルの向上、自己啓発と業界トレンドの追跡、忍耐と自信を持つことが欠かせません。
次の章では、これらの努力を継続的に行いながら、実務経験を実現するための具体的なアクションプランについて考えてみましょう。
まとめ
未経験から実務経験を積むことはエンジニアにとって大きな挑戦ですが、適切な取り組みと努力を重ねることで、成功事例は数多く存在します。実際のストーリーから、その一例をご紹介します。
学生時代の知識不足から始まり、自己学習とオンラインコースを通じて基礎を学びました。しかし、実務経験の不足が就職活動を難しくしました。そこで、個人プロジェクトを始め、実践的なスキルを磨きました。また、オープンソースプロジェクトへの参加や技術コミュニティへの積極的な参加を通じて、実務に近い環境で学び成長しました。
このような努力の結果、実務経験を積む機会が訪れました。インターンシップへの参加を通じて現場経験を得るとともに、交流の場で業界の最新トレンドやベストプラクティスに触れました。これらの経験と成長が就職活動に大きく寄与し、内定を得ることができました。
未経験から実務経験を積む道は険しいですが、適切な努力と継続的な学習があれば必ず成果を得ることができます。
未経験エンジニアの方々へのヒントとして、個人プロジェクトやオープンソースプロジェクトへの参加、技術コミュニティやイベントへの積極的な参加、そして自己啓発と業界トレンドの追跡が重要です。
さらに、忍耐と自信を持ちながら努力を続けてください。成功事例がたくさんあることを信じ、自身の未経験からの成長を信じて前進しましょう。