WEBプログラマーになりたいけどどの言語選んだらいいかわからない方
何をどんな手順で勉強をしたらいいかわからない方
30代未経験からプログラミングを学び10年以上WEBシステム開発の経験のある私が解説します。
未経験からWEBプログラマなるのにお勧め言語【その他必須スキル含む】
今から始めるのであればPHP、Pythonがお勧めです。
現在、WEBシステム開発に使われている主な言語はこちら
・PHP
・Python
・Ruby
・Java(大規模向け)
・.net(大規模向け)
Javaや.netなどは大規模システム開発に向いた言語なので、将来フリーランスでリモートや週2日等の自由な働き方をしたいのであればお勧めはできません。
私もJavaのWEBシステムの現場を沢山経験してきましたが、100%フルタイムで現場常駐の案件でした。
在宅や週2、3日の案件をエージェントに探してもらったこともありますがほとんど無いと言われたことがあります。
ただ、Androidアプリ開発などに興味のある方はJavaをやっておくと良いです。
また、数学が得意でAI開発に興味がある方はPythonをやっておくと良いでしょう。
もし迷ったら、フリーランスエージェントの案件情報をチェックしましょう。
» 【フォスターフリーランス】
» PRO WORKS-プロワークス
» MIDWORKS
» CHANGE UP!
WEBプログラマになるために必須スキル
プログラム言語以外に下記の知識は最低限必要となります。
HTML,CSS
JavaScript
SQL
HTML、CSS
これらは「WEBシステムのフロント部分=PC、スマホ画面」の表示にに必要な知識です。
・HTML
ホームページを作成するための言語、HTMLでタグ付けされた文字をブラウザが読み込んで表示されます。
・CSS
CSS(Cascading Style Sheets、カスケーディング・スタイル・シート)の略、ウェブページのスタイル(デザイン)を指定するための言語です。
最近のWEBシステムはパソコンだけでなく、タブレットやスマホ対応が必須となっていますが、端末毎に表示を切り替えているのがこのCSSです。
JavaScript(ライブラリ含む)
画面上で動くプログラミング言語です。
例えば、入力フォームの入力チェックやポップアップウィンドウの表示などが代表です。
最近はJavaScriptをそのまま使うことは少なくなっています。
JQueryなどライブラリが使えることが必須となります。
SQL
データを保存しておくデータベースへの問い合わせ言語です。
WEBシステムを作成するには様々なデータが必要となります。
データの保存方法として代表的なのがデータベースです。
データベースにもいろいろな種類がありますが、SQLという言語はほとんど共通で使えますので、覚えておきましょう。
未経験からWEBプログラマーになるための学習3STEP
STEP1:プログラミング言語を学ぶ
STEP2:WEBシステムに必要なサーバについて学ぶ
STEP3:バージョン管理ツールについて学ぶ
最低限これだけは勉強することが必要です。
順に解説していきます。
STEP1:プログラミング言語を学ぶ
学習方法は、ネットで独学でも、プログラミングスクールでもどちらでも良いです。
ただし、継続できればという条件付きです。
無料にこだわって、挫折してしまっては意味がありません。
自身のない方はドットインストールなどオンラインスクールであれば月1,000円程度で受講できます。
趣味ではなく仕事の為に学ぶのですから、それくらいの初期投資は覚悟しましょう。
月額制の良いところは、自分が速く習得できればお金を節約できるところです。
STEP2:WEBシステムに必要なサーバについて学ぶ
プログラマーは仕様書に従ってプログラミングを行う仕事ですが、そのプログラムがどういった環境で動いているか知っておくこと、自分でその環境を構築できることが必要となってきます。
WEBシステムに必要な最低限の構成はこんな感じです。
①Linuxサーバ
②言語の動作環境
③WEBサーバ
④データベースサーバ
①Linuxサーバ
②~④のベースとなるサーバです。
LinuxというOSがインストールされたパソコンがあるというイメージ。
古くなったパソコンにLinuxをインストールして作ることも出来ます。
そのサービスを提供しているのが、レンタルサーバ屋さんです。
②各言語の動作環境
システムを動かすにはプログラミング言語が動作する環境が必要です。
PHPがインストールされていないサーバではPHPで書かれたプログラムを入れても動きません。
その環境を作るための手順を学びましょう。
③WEBサーバ
WEBプログラムが出力したHTMLを表示するための環境です。
Apache, IIS, Nginx などがあります。
少し前まではほぼApacheだったのですが、最近はNginxのシェアが拡大しているようです。
④データベースサーバ
代表的なものとしてMySQL, Postgres, SQLiteなどがあります。
とりあえず一つ学んでおけば十分です。
どうやって勉強すればいい?
ネットでググればたいていの情報は見つかります。
もし上手く行かずに挫折しそうならオンラインスクールの無料講座で十分です。
とにかく実践あるのみ、手を動かすことです。
古いPCやレンタルサーバで環境を作り、自分で作ったプログラムを動かしてみるところまでやってみてください。
環境構築から全部でできるようになれば、レンタルサーバを借りて自前のサービスをリリースすることも出来るようになります。
STEP3:バージョン管理システムについて学ぶ【Git】
バージョン管理システムとは、ファイルを「誰が」「いつ」「どんな変更したか」ということを記録することで、複数の人の変更をマージしたり、変更内容の差分を表示できたり、元の状態に復元したりできるシステムのことです。
複数の人が同じファイルを修正することで変更を上書きしてしまうのを防いだり、修正したことでバグが生じてしまったりした場合に元のバージョンに戻すこともできます。
100人を超える大規模プロジェクトから、一人っきりのオレオレプロジェクトであっても必要となるので学んでおきましょう。
バージョン管理システムにもいろいろな種類がありますが、とりあえずはGitが使えるようになっていれば良いでしょう。
プログラミング言語以外の必須知識を学ぶ
サーバの知識を学ぶ
バージョン管理について学ぶ