どうも、フリーランスのITエンジニア兼ブロガー兼投資家のKerubitoです。
「IT業界に入りたい」と思っている人が
「プログラミングを勉強してみよう」
となるのはごく自然のことだと思います。
ITエンジニアがプログラミング言語を使いこなすのは、料理人が包丁を使うのと同じぐらい日常的なことですので。
私はIT業界に身を置いてすでに10年以上になるのですが、はじめはプログラミングを覚えるところからスタートしました。
ですので、「IT業界に入りたい→プログラミングを覚える」というアプローチは間違っていないと思います。
もう少し突っ込んだ話をすると、IT業界であってもプログラミングがほとんど、まったくできないエンジニアもたま〜にいます。
クライアントに近い上流工程をやったりだとか、大手企業でPMをやっている人などは実はプログラミングができないことも珍しくありません。
ただ、こういった人たちは別にスキルを持っているため、それで食えるんですね。
つまり、プログラミングができないとIT業界で生きていけない、というわけではないんです。
いまいち理解できないかもしれませんが、「IT業界にはプログラミングできない人もいる」ぐらいのことは知っておいて損はないかと。
話を戻しますと、未経験者がIT業界に入るのであれば、まずはプログラミングを覚える。
これが近道ということに変わりありません。
しかし、その前に知っておくべきことがあります。
努力すること、勉強することは素晴らしいことですが、方向性が間違っていると、結果的に非効率となってしまうかもしれませんしね。
最悪の場合、方向が間違っているがゆえに道半ばで諦めてしまうことになるかもしれません。
本記事では、プログラミング初学者が知っておくべき5つのことをまとめてみました。
この記事がこれからプログラミングをはじめようとしている、またはすでにはじめている人の参考になれば幸いです。
IT業界にもいろいろある
IT業界は主に下記の5つに分類されます。
・Web系
・通信
・ソフトウェア
・ハードウェア
・情報処理サービス(SI)
大企業は複数の分類にまたがって事業を展開していますね。
いきなり堅苦しい話で嫌気が指すかもしれませんが、我慢してください(笑
これぐらいは最低限知っていないとお話になりませんので。
それぞれの分野がどういったビジネス領域なのかはググってください。
ここでそれを語ると、話が大きく逸れてしまいますので。
重要なのは自分はどの分類を目指すのか、です。
これ、かなり重要ですから絶対忘れないでください。
ぶっちゃけると、大多数の人はWeb系を目指すんじゃないでしょうか。
Web系といってもこれまた分野がいろいろあり過ぎるのですが、わかりやすい企業でいうと下記のようなものがあります。
Amazon、楽天、ヤフーショッピング、LINE、Twitter、Facebook、メルカリ、DeNA ・・・などなど。
キラキラしている企業ばかりですね。
次に多いのは情報処理サービス(SI)じゃないでしょうか。
有名どころでいうと、NTTデータ、NRI、日立、富士通、NECなどです。
ソフトウェアはトレンドマイクロ、オラクル、オービックなどが有名。
ハードウェアは世間でもよく知られている日立、パナソニック、ソニー、東芝、富士通といったところでしょうか。
どのプログラミング言語を勉強するのか
上で説明したとおり、IT業界には様々な分類があります。
そして、その分類によって使用されているプログラミング言語にも違いがあります。
これはかなり重要なのでもう一度言います。
IT業界の各分類によって使用されるプログラミング言語が違うんです。
ざっくりいうと、Web系はphp、ruby、python、javascriptといった言語が主流です。
情報処理サービス(SI)はjava、c#、vb.netがよく使われます。
つまり、Web系を目指しているのにjavaをひたすらやっても見当外れとなるかもしれません。
逆に情報処理サービス(SI)ではphpやrubyはそれほど使いません。
一つ断っておくと、例外はもちろんあるので一概には言えません。
SIでもrubyを採用しているプロジェクトはありますし、逆もしかり。
ただ、勉強するなら目指している分類のメジャーどころを抑えておくのが無難というわけです。
もし採用面接を受けるようなことになった場合、企業側も「この人は抑えどころを間違っていないな」となりますので。
WindowsとMacどちらで勉強するのか
当たり前ですが、プログラミングを勉強するにはパソコンが必要です。
選択肢としては二つあり、WindowsとMacのどちらかを選択することになります。
もしC++やC#といった言語を勉強することを決めているのであれば、Windows。
それ以外の言語であれば、Macが便利ですね。
WindowsとMacを言語という切り口で分類すると
Windows
C、C++、C#、VB.Net、Java
Mac
Java、Python、JavaScript、PHP、Ruby、Swift
といった感じです。
iPhoneやiPadのアプリ開発をしたいのであれば、Macになります。
すでにWindowsを持っており、とりあえず勉強をはじめるのであればPython、JavaScript、PHP、Rubyも勉強はできます。
ただ、いずれエンジニアとしてやっていくことになると、上記の言語だとMacで開発する可能性が高いです。
それであれば、はじめからMacのほうが効率は良いですね。
ただし、Macにも弱点はあります。
プログラミングの学習方法
プログラミングの学習方法として、主な選択肢は下記の3つ。
・独学で勉強する
・無料のプログラミング学習サイトを利用する
・プログラミングスクール
独学で勉強する
最後までやり遂げられる人は少数でしょう。
少しでも知識や経験があればまた別の話でしょうけど。
たとえば、環境変数・ビルド・シンタックス・インスタンスといった言葉がちんぷんかんぷんの状態からはじめる場合はよほどの努力と忍耐が必要になってくるかと。
なので、あまりおすすめしませんね。
無料のプログラミング学習サイトを利用する
オンライン上には無料でプログラミングが学べる学習サイトが存在します。
有名どころでいうと、PgogateはよくSNSでも話題に上がります。
プログラミング学習のとっかかりとしては素晴らしいコンテンツかと思います。
以前、どんなものだろうとざっと目を通したのですが、なかなかわかりやすく作られていました。
しかし、これを最後までやったら、エンジニアとしてやっていけるプログラミング技術が身につくかというと疑問は残りますが。
プログラミングスクール
プログラミングスクールはオンライン、または教室にてプログラミングを学べる場を提供しています。
私の知る限りでは、学校の勉強と違って、自習で進めていき、わからないところをメンターと呼ばれる先生に聞くスタイルです。
最近増えてきていますね。
努力を半ば強制されますので、ある一定レベルまでは引き上げてくれるようです。
本気度が高いのであれば、お金と時間を投資してやるだけの価値はあるかと思います。
ただ、「ITエンジニアは自分には向いてないな」と途中で投げ出したら、無駄になってしまうリスクも。
そうならないために「自分がITエンジニアに向いているかセルフジャッジしてみること」をおすすめします。
それについては下記の記事で詳しく書いています。
プログラミングスクールについてはこちらもどうぞ。
目的を見失わないことが重要
私の周りでも何人か未経験からIT業界を目指している人がいます。
日々努力を惜しまない素晴らしい人たちなんですが、みんな真面目すぎる傾向があるんですよね。
どういうことかというと、「プログラミングを学ぶ上で、プロ級にならないと転職活動をしてはいけない」と思い込んでいる節があるんです。
もちろん、企業に入社してすぐに即戦力として計算できる人材であれば、受け入れる側も大喜びでしょう。
しかし、現実はそうはなりません。
理由としては、実際の仕事の現場ではプログラミングの能力はITエンジニアに必要なスキルの一部分だからです。
ITエンジニアにはプログラミングの他にもコミニュケーション能力であったり、課題解決、交渉力、提案力といったビジネススキルが必要になってくることが少なくありません。
なので、いくらプログラミング能力が備わっていたとしても即戦力にはなりにくいのです。
これは逆にいうと、プログラミング能力が素人レベルでもポテンシャルがあれば、企業に採用されるかもしれないということになります。
目的を見失わないことが重要。
プログラミングをマスターすることが目的ですか?
遠い目標はそこかもしれませんが、目先はIT企業に入社することが目的のはず。
であれば、プログラミングは道半ばでもゴールには到達できます。