当サイトは、
- 20代社会人で、エンジニアに転職して手に職をつけたい
- 技術畑とは無縁だけど、エンジニアになることはできるのか?
- そもそもエンジニアになれるのか?なれないのか?どちらが本当かわからない。
と悩んでいる社会人向けに、ITエンジニアになるための道しるべを記したサイトです。
社会人エンジニア向けの記事一覧
エンジニアの仕事内容を知る
エンジニアになるための勉強方法を知る
おすすめのプログラミングスクールを知る
転職活動の戦略を知る
社会人がエンジニアになるには?
社会人からエンジニアになろうとするとき、必要なことは全部で5つあります。
- まずはエンジニアの仕事について理解する
- 社会人エンジニアとして業務経歴・強みで活かせる部分を洗い出す
- なりたいエンジニア像を決めたら学ぶべき言語を決める
- プログラミング言語を決めたら、独学かスクールかを考える
- 一通り基礎を覚えた後も、勉強をし続ける。交流会の場などを活用
結論から言えば「未経験であっても、エンジニアになることは可能」です。
ただ、勉強はしまくるべきです。
これから3~6か月程度、本業とは別に、勉強するつもりで努力は必要になってきます。
【関連記事】エンジニア転職は「未経験者歓迎」の求人であっても難しいのか?
【その1】まずはエンジニアの仕事について理解する
シェフの世界で言えば、和食・中華・イタリアンがあるのと同じように。
エンジニアの世界も、下のどれをやりたいかで求められるものが全く違うので、仕事について理解する必要があります。
Webのフロント側(デザイナー)
Webのフロント側のエンジニアは、デザイナー寄りのお仕事です。
Webページのレイアウトは××にして、アニメーションつけたり、PRポイントを強調
ここに●●ボタンがあったほうがサイト全体の作りとして、ユーザーにやさしい
みたいなことを議論したりします。
プログラミングスキルも求められるけど、顧客の要望以上のデザインに仕上げるセンスも必要です。
【関連記事】フロントエンドエンジニアとは?Webページをデザインして実際に作る
Webのバックエンド側
Webのバックエンド側のエンジニアは、ゴリゴリとプログラムを書くイメージ。
フロント(Webページ)で入力された値を、裏で処理して、データベース(データを保存する箱)に「顧客情報」としてデータを保存する。
みたいなことが求められます。
正確なプログラミングスキル・テストのフェーズでのバグ発見・解消力が求められる世界。
【関連記事】バックエンドエンジニアになるには?スクール・言語について解説
SIerの業態(システムインテグレータ。BtoBの企業間取引がメインで、自社製品はあまりないが、オーダーメイドで大規模なシステムを開発する)も、広い範囲ではここに分類されます。
スマホアプリ製作
スマホアプリの製作者も、まだまだ増えてきています。
有料アプリや課金アプリにしたり、アプリに広告を貼ったりすることで、お金が得られますが、企業同士でも激戦が繰り広げられる世界。
ソシャゲをやっている人ならイメージしやすいと思います。
アイデアが求められたり、コアユーザーを離さないコラボ企画を考えたりで、エンジニアの中でも合う・合わないがハッキリする世界です。
インフラエンジニア
インフラエンジニアは少し特殊な世界。
というのも、PCのメモリの話だったり、ネットワークの話だったり。
プログラミングの要素が少ないので、未経験でもなろうと考えている人が多いです。
ただ、「インフラ」という言葉通り、ITの基盤を支えるお仕事なので、「動いて当然」の世界。
中途半端な知識では仕事は務まらないし、何も障害等が発生してないときは暇だったりするので、「インフラ+α」が求められることも多いです。
【関連記事】3か月でインフラエンジニアになるには?スクール、勉強方法について解説
【その2】社会人エンジニアとして業務経歴・強みで活かせる部分を洗い出す
エンジニアの仕事について理解したら、今勤めている会社の業務や経歴。
自身の強みを理解して、社会人エンジニアとして活かせる部分を洗い出します。
まずはエンジニアに結びつきそうな経験を探す
まずはエンジニアに結びつきそうな経験を探します
▼一例
- Webのフロントエンド側(≒デザイナー):広告を打った経験。表紙をデザインした経験
- Webのバックエンド側(目に見えない処理):製造業のポカヨケ、不具合(バグ)の発見
- スマホアプリ製作:プロジェクトを企画した経験
- インフラエンジニア:顧客の要望をヒアリングした経験
エンジニアとしてほしいスキルを探す
現職のこれらの経験と自己PRできそうなスキルを組み合わせて。
プログラミングを学んだ後の実際の面接で、業務経験と強みを、うまいことPRできれば強いです。
【関連記事】社会人が未経験でエンジニアになる場合の自己PRできるスキルは3つ
なにもなければ、改善すべき点を言えるようにする
「なにもないよ!」と思った人も大丈夫です。
今からでいいので、「●●の部分は、もっとこうなったらいいのに」ということが言えるようにしてください。
エンジニアは、改善すべき点をピックアップできる人が強いです。
【その3】なりたいエンジニア像を決めたら学ぶべき言語を決める
- まずはエンジニアの仕事について理解する
- 社会人エンジニアとして業務経歴・強みで活かせる部分を洗い出す
この2つをやったら、なんとなく
バックエンドがいいなぁ。
デザインするの好きだし、フロントいけそう!
というのが出てくるはず。
どんなエンジニアになりたいかで、求められるスキルが全く違うので、なるべくはっきりさせたほうがいいです。
ある程度、エンジニア像が決まっている前提で書くと、次のようになります。
- フロントエンジニア(デザイナー):HtmlとCSSとJavaScript(①)
- バックエンドエンジニア:①+Java/Python/PTP/Rubyのどれか1つ
- スマホアプリ製作:①+Java(iOSならSwift)
- インフラエンジニア:ひたすら暗記と実践の世界。CCNA等の資格があるとよし
- Java:汎用性が高い(なんでもできる)
- Python:人工知能系や統計解析が強い
- PHP:web系に特化。ブログ型サイトを作るWordpressは、これ
- Ruby:Ruby on Railsというフレームワークが初学者にやさしい
【関連記事】社会人エンジニアはまず初めにどのプログラミング言語を学ぶべき?
個人的には、迷ったらJavaです。
SESの案件が多いからJavaはダメとか言われるけど、業務目線でみたときに「なんでもできる」のが大きいです。
※「明確にビッグデータを扱いたいからPython!」などと、すでに決まっているならそれでいいです!
【その4】プログラミング言語を決めたら、独学かスクールかを考える
プログラミング言語を決めたら、独学とプログラミングスクールのどちらにするかを決めます。
プログラミングを覚えるのにどれくらい期間はかかる?
「プログラミングを覚えるのにどれくらい期間がかかるのか?」
その期間の目安は、全くのプログラミング未経験者だとしたら、3か月~半年です。
時間にすると300~600時間が目安です。
ゼロから独学だと、「もしかしたら1年かかるかも」くらいのイメージです。
【関連記事】プログラミングを覚えるのにどれくらいかかる?期間は3か月~半年が目安
独学で学ぶのは難しいかもしれないけど、できる人もいる
「プログラミングを独学で学ぶのは難しい?無理ではないのでやってみるが肝心」でも書いていますが、決して独学は難しくないし、独学でできる人もいると思います。
受験勉強と同じで、独学でもどんどん実力がついて難関大学に合格する人もいるイメージです。
最後まで独学で行けたらそれでいいし、難しいとなったらスクールに通うなり、別の方法を考えるみたいなスタンスの方が始めやすいと思います。
まずは独学が基本
独学でダメだったとしても、その経験は無駄にはならないので、独学からスタートしてみてください!
「社会人がプログラミングを学ぶなら独学とスクールのどっちを選ぶべき?」でも書いていますが、まずは「自分でやる」というのが大切だし、エンジニアになってからも当たり前に求められます。
独学の場合は、Javaなら「スッキリわかるJava入門」、Rubyなら「プロを目指すためのRuby入門」(チェリー本)のような書籍を1冊買って学ぶ。
あるいは、Udemyの講座のような動画で学ぶことになります。
それでもダメだったり、面倒だったらスクール
「とにかく短期間で!」だったり、教材選びや色々とやるのは面倒だという人は、最初からスクールにするのもありかと。
できるだけ安く済ませたいところですが、無料スクールはブラック寄りの会社に入社させられる可能性もありおすすめできません。
「社会人におすすめのオンラインプログラミングスクールは?学ぶ言語別に解説」でもまとめていますが、テックアカデミーはどの言語であっても基本的には対応しています。
まずは、無料体験で雰囲気を確かめてみてください!
結局、どこまでできればいい?
独学か、スクールかは別にして、どこまでできればいいの?
下の5つです。
【関連記事】プログラミングはどこまでできればいい?アプリ作るまでが到達点
プログラミングに挫折しそうなときは
もし、完全に初めてだとしたら、プログラミングを難しく感じて当然です。
自分だけではないので、安心してください!
考え方としては、使えるものは全部使って、なんとしてでも乗り越えます。根性論です。
google検索をフル活用したり、スクールに通っているならメンターに質問。
プログラミングは時間がかかるものなので、途中で息抜きを挟んでもいいです。
ただ、自分で行動してやり抜くことを意識してください!
【関連記事】プログラミングが続かない。勉強がつらい場合に考えたいこと
【その5】基礎を覚えた後も、勉強。交流会の場などを活用しつつ転職
残念ながら、独学でもスクールでも学べるのは、「基本中の基本」です。
例えるなら、「新人研修を終えた状態で、あいまいなところ、知らないところもまだまだある」状態。
そこから先は、自分で何かを作ったり(スクールのポートフォリオを改造したり)。
基礎をある程度、身に付けた後も、プログラミングを学び続けるべきです。
【関連記事】転職してエンジニアになるにはプログラミングを学び続けながら活動するべき
「1日でも早く追いつく」という姿勢のもと、転職エージェントに登録して活動を始めましょう。
そして、ここが肝心です。
エンジニアとして、バリバリやっていけます!
みたいに、面接に言うのではなく。
まだまだ至らない部分は多いと思いますが、独学(スクール)で基礎を身に付けた後も、勉強を続けています。前職の●●という強みを生かして、エンジニアとして気持ちを新たにしたいと考えています。
のように、あくまでも謙虚で。ポテンシャルをアピールしてください。
独学でもスクールでも学べるのは、「基本中の基本」というのは、エンジニアであればだれでも知っているので・・・。
「デキるエンジニア」を演じるのは、かなり痛いです。
最後に:エンジニアは専門職なので、やるなら全力で
エンジニアの仕事について説明した際に、「シェフの世界で言えば、和食・中華・イタリアンがあるのと同じ」と言いました。
シェフなら、「高校や専門学校を卒業して住み込みで修行」みたいな世界なのは誰でも想像できます。
エンジニアはそこまででないにしても。
専門職であることには、変わりないので、
- 理系の大学に進学してずっと勉強している人
- 文系だけど新卒でエンジニアに就職できた人
よりも、遅れています。
「半年~1年、がむしゃらに全力でやる」くらいの気持ちで学ばないと、正直、時間が無駄です。
また、行動が1日でも遅れれば、その分だけチャンスがなくなるのも事実。
悩んでいる人がいたら、早いところプログラミングの勉強は着手しましょう。