プログラミングと言っても、WEBサイトを作るだけでなく、スマホ用のアプリだったり、パソコン上で動くツールだったり、冷蔵庫や電子レンジのプログラムもあります。
何を作りたいのかで学ぶプログラミング言語も変わってくると思います。
僕は最初プログラミングが何かも分からずにIT企業に入社したのでWEBプログラミングしか選択肢はありませんでしたが(笑)
WEBプログラミングを行うために僕が何を勉強してきたかについて書き綴りますので参考にしてください。
僕の経歴・学んだこと
僕は20歳のときに上京し、IT関連の零細企業に入社しました。
最初の3ヶ月は研修で、まずHTML、CSSで簡単な画面を作るところから勉強し、次にサーバーサイドのJavaとSQLを学びました。
研修とは言っても、HTMLに関する数枚の印刷物と独習Javaという分厚い本を渡されただけでほぼ独学です。
どう勉強すればいいかも分からず3ヶ月では何も出来るようにはならなくて、辛い経験もたくさんしましたが半年くらいでなんとなくプログラミングが分かるようになりました。
3年経った頃にはある程度のプログラミングと設計やチームリーダーも経験させてもらえ、さっさとブラック企業を辞めて独立。
独立してからもしばらくはJavaプログラミングだけで仕事をしていましたが、Javaの案件は在宅でやるには環境構築などの絡みで難しいのでPHPの案件を紹介してもらい半年ほど携わりました。
それからPHPの案件を在宅で受注し、今に至ります。
「その案件は何の言語でしたか?」と聞かれたらだいたいJavaやPHP,Rubyといったサーバーサイドの言語をさします。
HTML、CSS、JSなどの画面を作る言語は、どのサーバーサイド言語を使ってもだいたい同じで、逆に言えばWEBプログラミングを行うならば必須のスキルです。
そしてサーバーサイドの言語を使えないとWEBプログラマーと名乗ることは出来ないです。
では具体的にどういった言語が必要なのか?
WEBプログラミングをするなら勉強する必要のある言語
HTML、CSS
HTMLはHyper Text Markup Language(ハイパーテキスト マークアップ ランゲージ)の略で、CSSはCascading Style Sheets(カスケーディング スタイル シート)の略です。
HTML、CSSは画面を構築・デザインするためのプログラミング言語です。
大規模なプロジェクトの場合は、これらはWEBデザイナーが作成することが多く、プログラマーは画面を元にサーバーサイドのプログラミングをすることになります。
しかし、プログラマーもしっかり勉強しておく必要のある言語です。
HTMLやCSSは勉強をするときには本を広げるより実際に作ってみることの方が早いです。(とっかかりだけ本を見るなりぐぐって調べたほうが早いです。)
そして、全てのWEBサイトが教材になります。(コピーして公開すると著作権違反になるので絶対しないでください。)
なんならHTMLの無料テンプレートも世の中にはたくさんあるので、それを見て1行1行解析していけばかなり勉強になります。
HTMLはHTML5というのが現在の標準で、CSSはCSS3が標準になります。
HTML、CSSというとWEBデザイナーなイメージだと思います。
デザイナーを目指すのであればデザインの勉強は必須でしょうが、WEBプログラマーを目指すのであればデザインは勉強しなくてもいいです。
そんな時間もったいないので、もしデザインの仕事が来たら外注しましょう。
なんでも出来るデパートのフードコートみたいなところより、豚骨ラーメン専門店のほうが儲かる時代です。
特に個人でやるならば1点集中しないといけないです。
JavaScript・JQuery
JavaScript・JQueryは、WEBサイトを開いたときに画面上に動きをつける為の言語です。
例えば画像が切り替わるスライドショーをつけたり、埋め込んだGoogleマップにピンを立てたりできます。
JQueryは、JavaScriptを使いやすくしたライブラリです。
JQueryが出てきてからWEBサイトの使いやすさが劇的に改善されたように思います。
JQuery、JavaScriptも画面を構築する為の言語であるため全てのWEBサイトが教材になります。
もちろんコピーしたら著作権違反になりますし、似たようなものを作るにも基本はしっかり勉強しておいたほうがいいです。
PHP or Ruby
PHP、Ruby以外に最近でもJavaがかなり需要が高い言語になります。
HTMLやCSSはブラウザ上で動く言語に対し、PHP、Ruby、Javaはサーバーで動くプログラミング言語です。
DB(データベース)と通信し、取得した情報から出力する画面の構築をするのが主な役割になります。
HTMLなどと比べかなり難しい言語になり、プログラマーを名乗るのであれば上記のうち1つを使いシステム構築が出来るようになる必要があります。
今一番需要が高いのはRubyです。(単にRubyと言いますが、全てRuby on Railsのことです。)
仕事を検索出来るサイトでPHP、Ruby、Javaをそれぞれ検索し、Rubyの案件が一番多いことから判断しています。
FacebookやTwitterはRubyで作られているそうです。(本当かどうかは知りませんし興味もありません)
ただ、エンジニアとして生きていくのであれば、Rubyが使えたほうが安心感はあります。
しかし、PHPやJavaが少ないわけではありません。
僕は今はPHPをメインに仕事を受けていますが、仕事に困ったことはありません。
在宅で、自社サイトを作って運用したいと思う方であればPHPが最も簡単です。
ビジネスとしての可能性を活かすならばPHPを学んだほうが今は良いと思います。
今後Rubyのシステムが簡単に設置出来る環境が出来てくるかもしれません。
僕が今からプログラミングを勉強し始めるなら、まずPHPを勉強し複数案件携わった後にRubyも勉強します。
こちらの記事も参考にどうぞ。
SQL
SQLはDB(データベース)に対し直接操作を行うプログラミング言語です。
PHPやJavaを扱っているとフレームワークなどで自動的にSQLを生成してくれる仕組みなどがあり、直接書く機械は減っていくと思います。
しかし、仕組みをちゃんと理解していないと上記のような仕組みすらも扱えないように思います。
SQLやDB設計がちゃんとされているかで、サイトのパフォーマンスが大きく改善されることもあります。
しっかり勉強して損は無い言語です。
WordPress
WordPressはHPやブログを簡単に作成できるCMSの1つです。
プログラミング言語ではありませんが、独自テーマを作成出来る程度には勉強しておいて損はありません。
僕は、WordPressを活用してかなり効率良くHPの制作が出来ています。
有料のプラグインやテーマを導入すれば、効率良くWordPressで求人サイトやショッピングサイトなども作れます。
ちなみにWordPressはPHPで作られているため、WordPressを使いこなす上でやはりPHPの勉強もしたほうがよいでしょう。
基本情報(資格)は必要か?
僕は独立する直前に基本情報の試験を受けました。
基本情報の内容は実務では役に立たないという人が多いですが、僕はそうは思いません。
丸暗記でとりあえず合格するだけでも何も勉強していない人に比べると雲泥の差があると思います。
それに、基本情報は国家資格なので客観的にもスキルの証明になるため、就職の面接や独立後のお客さんとの面談で有利になります。
テストは(当時の僕にとっては)かなり難しい内容でしたが、僕は2週間の勉強で合格できました。
もちろん実務経験があったのでその分は有利になったでしょう。
でも実務経験だけでは合格は難しいです。
テスト勉強方法は簡単で、過去3回分の解説付き過去問を買ってきて、1回目を解き間違った箇所の解説を見る。間違った問題だけを解き100%正解になるまで繰り返す。
それを過去3回のテスト分繰り返すだけです。3回分で2週間かかりました。
まとめ
プログラマーは慣れれば簡単な仕事ですが、最初はたくさん勉強することがありたいへんだと思います。
でも、だからこそ出来る人が少ないから需要があるのです。
本当は誰にでも出来るのに、覚えることが多く難しそうに見えるからライバルが少なくて僕はありがたいです。
これから先も需要は高まる一方だと思います。
本当に誰にでも出来る力仕事とかでは無く、スキルを活かして将来のある仕事をしたいなら勉強することをおすすめしますし、僕に分かることならば何でもこのブログで話していこうと思います。
コメントを残す