OLからエンジニアになってから1年が過ぎました。
ここでIT未経験から経験者になるまでの勉強順番、方法をまとめてみました。
狙ってこの流れにしたわけではなく、結果的にこの順番になったのですが、これからプログラミング勉強してIT業界へ行こうとしている人は、方法のひとつとして参考程度に読んで頂けたらと思います。
VBA
私が初めてプログラミングに触れたのはVBAです。OL時代に、Excelでの仕事をマクロで自動化したくて覚えました。
現在、非IT業界で働いている方でも仕事でExcelを良く使う方は、仕事中にプログミングができるし、Excelの処理を自動化出来て作業効率もあがるので、VBAを覚えるのは一石二鳥だと思います!
※ただし、Macが主流なWeb系ではExcelは使用しませんので、Web系を目指している方は参考程度にしてください(あくまでも現在の仕事にいかすならということで)
勉強方法は以下の通り。
- プログラミングが分かる後輩がいたので基礎部分を教えてらもらう。
※教えてもらったのは変数とは何かと、if,forの使い方くらい - その後輩が書いたソースを見せてもらい、真似しながら自分がやりたいプログラムを書いてみる。
- あとはやりたい処理が発生した都度ググる!とにかくググる!
- どうしてもわからない時はその後輩に聞きに行く
プログラミングに限らず、勉強は基本はこの流れかなと私は思いますね。
- 基礎を学ぶ
- 人の真似をする
- 応用していく
最初は人の真似をして、あとは応用していく。
私は作りたいものが決まっていたので、それに必要な文法や知識を覚えていったという感じです。
Java
IT業界へ転職し、転職先の研修で一番初めにJavaを学びました。(入社したのはSES会社でした)
今までのVBAはなんとか動いているレベルでしたので、ここで初めて講師に教えて頂きプログラミングの基礎から学びました。
Javaはオブジェクト指向で、型の宣言もきっちりしている(文法にうるさいと私は思っている)言語なので、初めにこれをきっちりやっておけば、他の言語の勉強も楽にできると思います。
研修だったので、勉強方法は以下の通り。
- 文法のテキスト(スクールの教材)を読む
- テキストに書いてあるコードを写経して動かしてみる
- テキスト内にある章末問題を解く
- 講師と問題の答え合わせ&ソースレビュー。または分からないところを講師に聞く
基本的に一人でテキストを読んで問題を解き、分からないところを聞くという、もくもくやるスタイルでした。
(プログラミングスクールもこんな感じが多いのではないでしょうかね)
勉強時間は、7時間/日×約15日くらいなので、約100時間ほどです。
HTML・CSS
Javaの基本文法を身に付けたら、JavaでWebアプリをつくるカリキュラムだったのですが、その事前知識としてフロントサイドでは欠かせないHTMLとCSSをやりました。
これを知らなければ見た目は作れませんからね。
頂いたテキストがチュートリアル的な、読み進めて課題を解いていくと1つのWebサイトが出来上がるものでした。
HTMLは学生の時に少しやったことがあって知っていた部分もあったのと、最低限必要な基本的な部分のみでしたので、勉強時間は、10時間弱くらいだったと思います。
SQL(MySQL)
Webアプリケーションを作る上で欠かせないのが、データベース(DB)の知識です。
なので、ここでDBとは何かとDBでデータの操作に使用する言語のSQLを勉強しました。
これもJavaと同じく、テキストを読み進めて問題を解いていくスタイルで勉強しました。
勉強時間は、7時間/日×約5日くらいなので、約35時間ほど。
Servlet & JSP
ここまで来たらついにWebアプリの作成の勉強に入ります。
ここではサーバサイドに使用するサーブレットとJSPを勉強しました。
サーブレット:JavaのメソッドでHTMLを書き出すもの
JSP:HTMLにJavaのコードを埋め込んだもの
ここでは主にServlet & JSPの書き方、GUIアプリに重要なMVCアーキテクチャの概念、セッションについてを学びました。
勉強方法は今までと同様で、テキストを読んで写経して、問題を解く形式です。
最終課題で簡易的なECサイト風なものを作成しました。
勉強時間は、7時間/日×約15日くらいなので、約100時間ほど。
ここまでの勉強で私の研修は終了し、実際の業務へ行きました。
Java、HTML、CSS、SQLを含めた最終的な勉強時間は250時間ほど(約2ヶ月くらい)
ここでようやくエンジニアとしてのスタート地点に立てたかなという感じです。
JavaScript & jQuery
SESの派遣先の現場で使用する言語がJavaScriptだったため、新たに学びました。
業務開始日の数日前に基礎のみ叩き込み、あとは業務中にやりながら(ググりながら)覚えましたけど、Javaをやったおかげで方言に思える部分も多々ありました。
でも、3ヶ月くらい働いて、やっと少し理解できるようになったレベルですね。簡単ではなかったです。
UNIXコマンド
派遣先の現場が代わり、次は金融系のシステムでWebとは無縁の世界になり、UNIXコマンドを使用する環境だったので、半年間で業務をしながら覚えました。
といっても良く使うメインどころくらいですが、おかげで黒い画面にも慣れました。
コマンドは勉強というか、使いながら数をこなすくらいしかないですね。慣れです。
この後のRuby on Railsで意外とターミナルでの操作が出てくるので、やっておいて良かったです
Ruby on Rails
これまでSESとして業務系のシステムを扱う仕事だったのですが、Web系で働きたくなったので、プライベートで学び始めました。
サーバーサイド言語ならなんでも良かったのですが、なぜRubyを選んだかというと、スクールで勧められたからです。(完全に他力です・・・)
ドッドインストールやprogateで基礎を勉強し、
侍エンジニア塾のマンツーマンレッスンでrailsを使用してWebアプリを制作する方法で勉強しました。
Ruby on Railsは始める前に、最低限HTML,CSS,SQLは抑えておくべきだとやりながら思いましたので、研修時代の勉強順番は理にかなっていたのだと、実感しております。
以上、OLからエンジニアになった私の勉強順番でした。