【現役エンジニアが解説】未経験からエンジニアは難しい?【人手不足なので容易】
未経験からエンジニアは難しいか知りたい方に。
この記事を読まれている方は、
- 未経験からエンジニアは難しくない理由を知りたい
- エンジニアに求められるものを知りたい
- エンジニアになるためのおすすめのプログラミング学習方法を知りたい
おそらくこのように考えている方が多いと思います。
この記事を書いている私は、
プログラミング未経験から転職を果たした現役のWeb系エンジニアです。
エンジニア歴は3年ですが、本業とは別にフリーランスの副業で月10万円ほど、多いときで20万円ほどの収入があります。
この記事では、現役のエンジニアが、未経験からエンジニアは難しくない理由とエンジニアに求められるものを解説し、エンジニアになるためのおすすめのプログラミング学習方法をまとめています。
未経験からエンジニアは難しくない理由
結論から言うと、未経験からエンジニアになることは難しくありません。
まずは、その理由を解説していきます。
エンジニアは人手不足
まずは以下の図をご覧ください。
出所:経済産業省『IT人材の最新動向と将来推計に関する調査結果』
2019年の現在時点でもIT人材は26万人程度不足していますが、これが2030年にはおよそ59万人も不足すると言われています。
また、人材の供給のピークも2019年であると推定されており、未経験でもいいからどんどんITの要員を投入していきたいというのが、エンジニア市場の現状となっています。
私の所属する会社でも、仕事の案件の数に対して、社員(開発要員)がかなり少なく、未経験者も含めてエンジニアの採用活動を連日のように行っております。
事務職のような人気の職種では、1つの求人案件に対して応募者が何十人と殺到するような状況だと思いますが、エンジニアは真逆で、案件が多すぎて、人手が足らず、未経験でも初級程度の技術があれば、積極的に採用するような状況となっています。
この人手不足の規模の大きさは、未経験からエンジニアに転職したいと考えている方にとっては、非常に大きな追い風となります。
もし狭き門だと思って躊躇しているなら、そんなことはありませんので、ぜひ転職を検討してみると良いと思います。
サンプルなどの情報がたくさんある
ググってもらえるとわかると思いますが、エンジニアが主に行う仕事であるプログラミングに関する情報は、サンプルコードも含めて、ネット上に非常にたくさんあることがわかると思います。
個人のブログから、Qiitaなどのエンジニア向けの情報サイト、Stackoverflowなどのエンジニアのための質問サイトなど、他の職種では考えられないくらいの量の情報がネット上に転がっています。
そのため、初心者にとっても学びやすいのはさることながら、エンジニアになった後も、困ったことがあれば検索をしながら、直面している課題を比較的容易に解決することができます。
ちなみに、私は前職で貿易の業務をやっていましたが、通関の制度や原産地証明の取得などの業務上必要になる知識について、かみ砕いた情報があまりにも少なすぎて、情報の集めづらさの点で非常に苦労をしました。
それに比べてエンジニアはわからないことがあれば、ググればすぐ大体のことが解決します。
このようにエンジニアは互いに助け合う環境がとても充実していますので、未経験者にとっても参入しやすい職種となっています。
学べる環境が揃っている
後で解説しますが、エンジニアが最初に学習すべきものはプログラミングスキルになります。
このプログラミングスキルは、ネット上にたくさん情報サイトがあることや、有料の学習サービスなどが充実していることから、誰でも容易に身につけることができます。
最近はオンライン型のプログラミングスクールもあり、現役のエンジニアがマンツーマンでプログラミング学習の指導をしてくれますので、独学が苦手な方でも、効率的にかつ確実に学習することができます。
現役エンジニアがオススメするプログラミングスクール3選【無料体験あり】
「一からきちんと学べるオススメのプログラミングスクールを知りたい。プログラミングの効率的な学び方を知りたい」←こういった疑問に答えます。本記事内容:まずはどのプログラミング言語を選ぶべきか/現役エンジニアがオススメするプログラミングスクール3選/プログラミングスクールにプラスして行うべきこと
このようにオンライン上で学べる環境が整っていることから、場所や時間を選ばずに、プログラミングを学習することができるため、技術職にしてはアプローチのしやすい職種だと言えます。
エンジニアに求められるもの
次に、エンジニアに求められるもの3つほど挙げ、解説します。
プログラミングスキル
エンジニアにとって、プログラミングスキルは必須のスキルになります。
ここでは「エンジニア」になることについての記事を書いていますが、多くの未経験者の方の場合、最初に通る道は「プログラマー」になると思います。
プログラマーでプログラミングスキルの実務経験を積んだ後に、要件定義や設計、提案などの仕事も任せられるようになり、最終的に(システム)エンジニアになることができます。
要件定義や設計のことをこの業界では上流工程と呼んでおり、これができるようになると、一人前のエンジニアとして、高い単価を受け取ることができます。
したがって、まずはプログラミングスキルを身につけて、エンジニアの入り口である「プログラマー」を目指すようにしましょう。
専門的知識
専門的知識の一部に、プログラミングスキルは含まれますが、それ以外にITの基礎的な知識も最低限必要になってきます。
例えば、私たちが日々よく使っているOSやブラウザ、ミドルウェアなどのソフトウェアの知識、メモリやCPU、各種デバイスといったハードウェアの知識はもちろんのこと、データを操作するためにデータベースの知識や通信を行うためにネットワークの知識が要求されます。
その他にセキュリティに関する知見やドキュメントの作成スキルなども求められるため、学ばなければいけないことは山ほどあります。
とはいっても、これらのうち多くは実際にエンジニアの仕事をしていく中で覚えて行くものも多いので、必ずしも入社する前に必要な知識ではありません。
しかし、もし不安であれば、時間的余裕があるのであれば専門学校、なければプログラミングスクールなどで基礎的な部分を学ばれると良いでしょう。
コミュニケーション能力
コミュニケーション能力もあれば尚のこと良いです。
しかし、エンジニアの中にはコミュニケーションを苦手としている方も結構多いです。
実際にコミュニケーションが苦手な方でも、黙々とプログラムを書いていれば済んでしまうことも多いので、上の立場になろうとしなければ、コミュニケーション能力を気にせずに仕事をすることもできます。
とはいっても、専門的知識や開発の実務経験が身についてくると、クライアントと自然に話ができるようになりますから、普通に仕事をしていれば、この点は心配いらないでしょう。
最初からいきなり上流工程でクライアントと話をすることはありませんから、徐々に話ができるようになっていく環境が整っているため、エンジニアの職種は、コミュニケーションが苦手な人におすすめの職です。
エンジニアになるためのおすすめのプログラミング学習方法
最後に、エンジニアになるためのおすすめのプログラミング学習方法をまとめています。
身近なものをプログラムで自動化・効率化
プログラミングの学習は、受験勉強のように参考書を何周もして覚えるものではありません。
覚えたところで、書き方や構文がわかるだけで、プログラムを作る力はあまり身につかないでしょう。
それよりも大事なのは、作りたいプログラムの目標を持つことです。
具体的な目標がないと、プログラミング言語の知識は宝の持ち腐れとなり、応用の仕方がわからないまま、やがては忘れ去られてしまいます。
そのため、まずは身近なものをプログラムで自動化・効率化してみましょう。
現職のある方は業務の手間を削減できるものを、学生の方などは便利なツールや自分のWebサービス(サイトなど)を作ってみましょう。
そうすることで、使われない知識ではなく、実践的な応用力を身につけることができます。
コピペしながら目的のプログラムを作り上げていく
プログラミングスキルは、本などを読むだけではまず習得できません。
作りたいものの目標を持って、実際に手を動かしてそれを作り上げて行くということをしない限り、身につけられるものではありません。
理由は、プログラミングにおいては、書き方や構文なんかよりもロジックが大事だからです。
プログラミングを学習していく際には、処理と処理の前後関係のフローや組み合わせを考え、論理的思考力の一つであるプログラミング的思考を最初に身につけることが要となります。
したがって、処理の組み合わせやフローが作れたら、あとは個々の処理を洗い出して、わからないものをネット上で検索して、適宜コピペして拾ってくるやり方でOKです。
実際に私はそうやって覚えていき、薄給からそれなりのお給料をもらうまでにのし上がりました。
これからプログラミングを学習する方には、わからないものを潰していく勉強ではなく、課題を解決していくスタイルの学習をしていただければと思っています。
自信があれば独学、なければプログラミングスクール
プログラミングの学習は独学でもなんとかなります。
実際私も独学で学んできた一人です。
しかし、効率がよかったか、最短だったか、と聞かれるとそうは思いません。
また、エンジニアになった後も顧客や同じ技術者の方と話す際に、専門学校やプログラミングスクールに通っていなかった分、基礎的な知識が欠けているなと実感したことが何度もありました。
そういった経緯があるので、独学では不安だったり、基礎的なところをきちんと固めて仕事をしたいと考えている方には、プログラミングスクールがおすすめです。
特にニートの方であれば、時間も余っていますし、スクールに通って集中的に学習されると良いと思います。
プログラミングスクールでは、単にプログラミングの学習だけではなく、未経験者でもポートフォリオに載せることのできるオリジナルサービスの開発の支援や就職活動の手厚いサポートをしてくれるところが多いです。
プログラミングスクールに関する詳細は別の記事でまとめていますので、興味があればぜひ参考にして下さい。
現役エンジニアがオススメするプログラミングスクール3選【無料体験あり】
「一からきちんと学べるオススメのプログラミングスクールを知りたい。プログラミングの効率的な学び方を知りたい」←こういった疑問に答えます。本記事内容:まずはどのプログラミング言語を選ぶべきか/現役エンジニアがオススメするプログラミングスクール3選/プログラミングスクールにプラスして行うべきこと