未経験からITエンジニアに転職するために勉強すべきこと【現役エンジニアが解説】
未経験からITエンジニアに転職するために勉強すべきことを知りたい方に。
この記事を読まれている方は、
- 未経験からITエンジニアに転職するために勉強すべきことを知りたい
- ITエンジニアへの転職で役に立つ実績を作る方法を知りたい
- ITエンジニアへの転職の手順のまとめを知りたい
おそらくこのように考えている方が多いと思います。
この記事を書いている私は、
プログラミング未経験から転職を果たした現役のWeb系エンジニアです。
エンジニア歴は3年ですが、本業とは別にフリーランスの副業で月10万円ほど、多いときで20万円ほどの収入があります。
この記事では、現役のエンジニアが、未経験からITエンジニアに転職するために勉強すべきことと転職で役に立つ実績を作る方法を解説しつつ、ITエンジニアへの転職の手順をまとめています。
未経験からITエンジニアに転職するために勉強すべきこと
エンジニアは基本的にはスキルがないと採用側の企業には受け入れてもらえません。
まずは、未経験からITエンジニアに転職するために勉強すべきことを解説していきます。
データ構造
エンジニアになるためにはプログラミングを学ぶ必要があります。
プログラミングは主に、データ構造とアルゴリズムの二つに分けられます。
ここではまず、データ構造を、とりわけプログラム上ではデータをどのように持つのかについて、簡単に解説します。
データ構造は基本的には、変数と配列、構造体の3つを押さえておけば良いと思います。
まずはPHPを例に、変数について理解しましょう。
<?php $age = 17; ?>
これはageという変数に17という数値を入れて、変数宣言をしています。
変数というのは、簡単に言えば、値を保持しておくための入れ物(箱)です。
数学で言うところのxやyなんかと同じです。
変数に似たものとして、定数というのもありますが、ここではあまり深く考えずに、箱の中身が変わるものを変数、変わらないものを定数と理解しておくだけで十分です。
次に配列について。
配列は箱の中にさらに仕切りを設置して、複数の値を持ちたいときに使用するものになります。
<?php $students = array("佐藤","田中","小林"); ?>
このようにstudentsという配列には、複数の生徒の名前を入れることができます。
プログラムではある程度まとまったデータを扱うことも多いため、配列は変数と同様によく使うものになりますので、必ず覚えておくようにしましょう。
続いて3つ目の構造体について。
こちらは簡単に言うとエクセルデータのようなデータになります。
<?php $first_row = array("A"=>"佐藤", "B"=>"男性"); $second_row = array("A"=>"田中", "B"=>"女性"); $third_row = array("A"=>"小林", "B"=>"女性"); $excel_data = array($first_row, $second_row, $third_row); ?>
上の例のexcel_dataはそれ自体は配列ですが、配列の中の値が連想配列となっており、Aというキーに対し中身のデータが氏名、Bというキーに対し中身が性別というようなデータの持ち方になっています。
詳しい使い方についてはここでは割愛しますが、以上の3つのデータ構造を学んでおけば、実務で使える知識は十分に身につくと思います。
アルゴリズム
アルゴリズムは、簡単に言うと、処理の手順や計算方法のことを表します。
アルゴリズムは、プログラミングの三大処理である「順次処理」と「分岐処理」、「繰返処理」を組み合わせで実現されます。
ここではプログラミングの三大処理を理解しましょう。
例えば、PHPを例に説明してみると、
<?php print("a"); print("b"); ?>
このように書いたプログラムはaが出力されて、次にbが出力されます。
このようにプログラムは上から順に処理をされていきますので、これを「順次処理」と呼んでいます。
ごくごく当たり前のことですね。
続いて「分岐処理」については、これは条件によって処理を分けることを指しています。
<?php $age = 17; if ($age < 20) { print("未成年"); } else { print("成人"); } ?>
上の例では、ageという変数の値が20未満であれば「未成年」と出力され、そうでない場合は「成人」と出力するプログラムとなっています。
ここではageの中身が17のため、未成年と出力されます。
3つ目の「繰返処理」については、何度も同じ処理を繰り返したい場合に使います。
<?php $students = array("佐藤","田中","小林"); for ($i=0;$i<count($students);$i++) { print($students[$i]); } ?>
これでstudentsという配列に入っている名前を全て出力することができます。
全てのプログラムはこれら3つの処理の組み合わせによって、目的の動きを実現させているのです。
データベース
データベースは、データ構造で言うところの「構造体」の構造で格納されているデータの集まりのことを指します。
データベースは、ふつうデータベース管理システムによって実装されます。代表的なものには、SQL ServerやOracle、MySQLなどがあります。
データベース管理システムの多くは、SQLというデータベース操作用に作られた言語を使って、データの取出や更新を行ったりします。
データベース管理システムでは、テーブルごとに行列の形式でデータを持っており、エクセルで例えるなら、エクセルファイルがひとつのデータベースで、各シートがテーブル、シート内の行がレコード、列がカラムと呼ばれます。
データの取り出しを行いたい場合は、SQLでは以下のように表現します。
SELECT カラム名1, カラム名2… FROM テーブル名;
これをPHPなどのアプリケーションから実行することで、データベースからプログラムにデータを渡すことができるというわけです。
一方で、データを新たにデータベースに追加したい場合には、以下のSQLで表現します。
INSERT INTO テーブル名 (カラム名1, カラム名2…) VALUES (カラム名1の値, カラム名2の値…);
これでプログラムからデータベースに対し、データを渡すことができるようになりますね。
その他既にデータベースにあるレコードに対して更新をかけるUPDATE文や削除を行うDELETE文などがありますが、ここでは割愛します。
データベースやSQLに関してはエンジニアであれば絶対に避けては通れない道になりますので、実際に開発業務を始める前までには必ず勉強しておくべきでしょう。
ITエンジニアへの転職で役に立つ実績を作る方法
勉強だけでは所詮は自己申告でしかないので、採用側の企業はスキルや能力の判断をすることができません。
そこで次に、ITエンジニアへの転職で役に立つ実績を作る方法を解説したいと思います。
現職がある場合は業務効率化
「勉強だけでも精一杯なのに、実績なんて上げられるわけがないだろう!」と思う方も多いと思いますが、今仕事をしている方は、現在抱えている業務を、プログラミングを活用して効率化したりすると良いでしょう。
例えば、私の場合は、前職でエクセルを使って、貿易の出荷管理をしていたため、そこからインボイス(請求書)やパッキングリスト(梱包一覧)などの貿易書類を作成していたのですが、手動で作ると、かなりの時間が持っていかれて効率が悪かったので、ExcelVBAを使ってある程度自動で作成できるように、プログラミングを使って効率化を図りました。
この結果、書類作成の時間も削減できたうえに積荷のミスも減ったので部署として実績を上げることができました。
今現在業務でエクセルを使っている方はかなり多いと思いますので、気軽に始める方法として、業務効率化はおすすめです。
時間を割ければサービス開発
もし現在仕事をしていなかったり、プライベートでも時間を割けるようであれば、Webサービスを開発してみるというのも一つの手だと思います。
Webサービスとは、インターネット上で提供するサービスのことで、たとえばブログなどのメディア系サイトや婚活サイトをはじめとするマッチングサイトなどです。
Webサービスはすぐに運用もでき、不特定多数に利用してもらえることから、開発の実績としては認められやすいので、実務未経験で実績を作りたい方にはおすすめです。
もちろんWebサービスではなくても、例えば便利なツールや非Webのアプリケーションなどでも良いと思います。
とにかく開発をしてみるということが重要になります。
プログラミングスクール利用
業務の効率化やサービスの開発などを自分ひとりで行うことが難しいと感じるようであれば、プログラミングスクールを利用することも検討されると良いと思います。
プログラミングスクールでは、プログラミング学習の指導の他、現役のエンジニアが、Webサービスなどの自分の作品の開発の支援をしてくれるため、わからないところを相談してもらいつつ、実績を作っていくことができます。
プログラミングスクールでは、IT企業とのコネクションもあるため、企業の紹介をしてくれるので転職の可能性や転職先の幅も広がります。
独学での学習や実績作りに不安を感じる場合にはおすすめの方法になります。
詳しくは別の記事で解説していますので、興味がありましたらご覧ください。
現役エンジニアがオススメするプログラミングスクール3選【無料体験あり】
「一からきちんと学べるオススメのプログラミングスクールを知りたい。プログラミングの効率的な学び方を知りたい」←こういった疑問に答えます。本記事内容:まずはどのプログラミング言語を選ぶべきか/現役エンジニアがオススメするプログラミングスクール3選/プログラミングスクールにプラスして行うべきこと
ITエンジニアへの転職の手順のまとめ
以上を踏まえ、最後に、ITエンジニアへの転職の手順をまとめたいと思います。
①プログラミング学習
エンジニアになるためにはプログラミングの学習が欠かせません。
先に紹介した「データ構造」や「アルゴリズム」、「データベース」を中心に学ばれると良いと思いますが、どのような分野のどの言語を使ってプログラミングをやっていくかはあらかじめ決めておく必要があります。
例えば、先の例ではPHPのサンプルを書きましたが、PHPであればWeb系の分野のプログラミング言語になりますので、Web系のエンジニアになりたい方にはおすすめの言語になります。
一方で、Androidアプリの開発や各プラットフォームで動作するアプリなどオールラウンドにできる言語を学びたいと考えているなら、Javaが案件数も最多なのでおすすめです。ただし、PHPよりは難易度が確実に上がりますので、挫折することを恐れるのであれば、PHPをおすすめしておきます。
②実績作りや作品の開発
プログラミングの学習が終わったら、実績作りや作品の開発も行っておくと良いと思います。
企業によってはプログラミング学習で足りる場合もありますが、好条件で待遇の良い会社などに就職したい場合には、ポートフォリオに載せられるような作品があった方が良いです。
企業側は、作品のセンスやすばらしさを確認したいわけではなく、あくまで仕事ができる開発スキルがあるかどうかを確認したいだけですので、そこまで深く考えすぎずに、何でも良いのでプログラミング学習のアウトプットをしてみましょうということです。
ここでプログラミングスキルの証明ができれば、企業は投資コストの不安が軽減されるため、よりあなたを採用しやすくなりますので、転職を成功させたいのであれば、実績作りや作品の開発をしておいた方が良いでしょう。
③転職エージェントに登録
プログラミング学習や実績作りが完了したら、いよいよ転職活動を開始していきます。
まずは転職エージェントに登録することで、案件探しや企業側との交渉の手間を削減しましょう。浮いた時間を企業研究や採用試験の予習などに充てることができます。
IT・エンジニアに強いおすすめの転職サイト・転職エージェント3選
本記事では、現役のエンジニアが、IT・エンジニアに強い転職サイト・転職エージェントを紹介しつつ、転職で気をつけるべき点やIT系の転職がおすすめな理由、IT系の転職の実態を解説しています。これからIT・エンジニア系の転職をされる方必見です。
また、転職エージェントに登録する際は、複数のエージェントに登録しておいた方が良いです。
その理由は、一つだけですと、担当者との相性や担当者の裁量によって、案件に偏りが出る可能性があるからです。
エージェントに登録する際には必ず、転職の目的ややりたい仕事をはっきりと担当者に伝えて、なるべく最適な案件のみを紹介してもらうようにしましょう。
転職の目的ややりたい仕事は事前にきちんと決めておかないと、転職の最中に考えがブレて良い案件を見逃すほか、無理やり転職をしても後悔するだけなので注意が必要です。
この注意を守ることで良い案件に巡り合うことができる可能性が上がりますので、ぜひ転職エージェントを賢く使うようにしてみて下さい。