4月20日〜6月末(76期)までテックキャンプ エンジニア転職コースを受講し、現在IT企業へ転職活動中のまさひで(@john01tgmck)です。
IT業界には様々な仕事があり、種類によって使用する言語が違います。
そのためやりたい仕事、もしくは入りたい企業に求められる言語を勉強しないと時間が無駄になる可能性があります。
例
- イタリアンレストランをオープンしたいのに、中華料理を学びに行く
目次
目標から逆算しないといけない理由
使用言語による職種の違い
- ウェブページの制作(フロント系)
マークアップ言語であるHTML、CSSはもちろんのことPHP、JavaScriptと言った言語を習得していかなければなりません。 - プログラマー(バックエンド)
C言語やJAVA、Ruby ,PHP - ゲーム開発
SwiftやJAVA
まだまだたくさんのプログラミング言語がありますが、職種によって使用している技術が違うことがわかります。
ポイント
イタリア料理を学びたいのに、日本料亭にいかないように気をつけましょう。
何から学べば良いのかわからない
とはいえ、プログラミングを一切やったことの無い人がいきなり「JAVAを使ってゲーム開発をしたい!」という発想にはならないと思います。
まず初めの入り口としては、言語がどうというよりも、プログラミングを触ってみることをオススメします。
Code.orgマインクラフトでプログラミング学習をしている画面
左のブロックを使って指示(プログラミング)を作成し、実行を押すことで思い通りの動きになるように考える。
うちの子(小学校1年生)も楽しく遊べる内容になっているので、最初はこのようなグラフィカルに動かせる学習方法が良いです。
見た目が変わると楽しい!(HTML&CSS)
マークアップ言語と言われるHTMLとCSSはサイトの見た目(静的)を作る部分になります。
いきなりバックエンドを触っても面白く無いので、とりあえず1ページのサイトをHTMLとCSSで作れるようになると楽しくなります。
例えばProgateのサイトでも良いので、真似して作ると楽しくなります。
下のページはProgateでHTML/CSSの基礎を学んだ後に、ドットインストール で環境構築を学び、作成した模写サイトになります。
-
-
参考テックキャンプ 卒業生が語る事前学習のススメ
テックキャンプ を受講する上で事前学習は本当に必要なのか?またその理由をテックキャンプ 卒業生がまとめました。
続きを見る
いきなりバックエンドは難しい(JAVA、Ruby、PHPなど)
フロントエンドの学習をせずに、バックエンドの言語を触ってしまうと、訳わからなくなります。
参考(バックエンドだけの学習)
簡単な物から少しずつなれていくのが良いと思います。
ある程度動く物が作れるようになってから逆算スタート
簡単なメモアプリや、シンプルなLP(ランディングページ)が作成できるようになったら、どんな仕事がしたいのか見えてくると思います。
アプリを開発したい!
ホームページを作りたい
ネットワークを構築したい
この辺りが固まってから本気で学ぶ言語を決め、エンジニアスクールに通ったり、独学で勉強を始めると効率が良いです。
逆説)どんな言語を学んでいても後々生きる
初期段階の知識であれば使い回しが効く
例えば、Rubyを学んでいて途中でPHPを学ぼうと思っても条件分岐や繰り返し処置、クラスの作成などは大体同じです。
何が違うかというとコードの書き方が少し違うだけです。
HelloWorldを出力してみる
-Ruby-
print "Hello World!"
-PHP-
echo ”Hello World!”;
-Python-
print("Hello World!")
-JAVA-
System.out.print("Hello World");
全て出力結果は『Hello World!』になりますが、コードが若干違います。
日本語で書いているか、英語で書いているかの違いだと思って大丈夫です。
原則としてアルゴリズムの考え方は大体同じなので、Rubyをバリバリやっていて、PHPを学ぶ時に一から学ぶってことにはなりません。

比較しながら学ぶことで習得が一気に早くなりました。
フレームワークも構造は一緒
RubyのフレームワークRuby on Railsをテックキャンプ で10週間学んだので、なんとなくフレームワークの知識が手に入りました。
その後、PHPのフレームワークであるLaravelを学びアプリを作ってみましたが、Rails習得の時の10倍くらいの速度で学習が進みました。
理由は上記で示したように、基礎ができていると、応用がしやすい。

まとめ
どの言語を習得しても、無駄にはなりませんが、僕のようにいろいろと言語を変えて基礎ばかり学んでいると「これ、無駄かな〜」っとモヤモヤすることになります。
自分のやりたいことや入りたい企業にフォーカスして、勉強方法を決めてみると効率的に成長できると感じました。
ここまで読んでいただき、ありがとうございます。
プログラミング学習の参考になれば幸いです。