ゼロからWEBプログラミング(PHP)をマスターするのに何時間かかる?

おはようございます。松本です。
さて、本日のテーマはタイトルのとおりです。以前受講生の方に「ゼロからWEBプログラミング(PHP)をマスターするのに何時間かかる?」と聞かれました。
「マスターする」の定義が非常に難しく、私自身まだマスターしたとは言えないでしょう。
ただ一通りのことができて未経験者が中途で入社できるぐらいのレベルでしたらなんとかわかります。
そこで「完全な未経験者がWEBエンジニア(就職可能なレベル)になるまで」に身につけることと、それにかかる時間を考えてみましょう。
なお動的言語はPHP、データベースはMySQLとします。
またかかる時間の定義ですが、下記を基準にします。
- 教えてくれる人間がいる
- カリキュラム通りに学習がすすむ
- 時間は基本の学習時間と成果物(目に見えるアプリを作る)を作る時間を合計する
調べてうんうん悩んでいたり、学習の順番が前後すると簡単に数倍の時間になってしまうので、スムーズに身につけた場合を考慮します。
Contents
WEBエンジニアになる前に身につけておくべき知識とかかる時間
就職可能なWEBエンジニアっていっても定義が難しいですが、とりあえずは下記のような点を基準にしたいともいます。
HTML/CSS/JavaScript
- HTML/CSSを理解し、一般的なWEBサイトが作れる
- JavaScript/jQueryを簡単に理解し、サイトにアクセント的な装飾を加えることができる
まずはともあれこれがわからないとはじまりません。HTML/CSSも極めるとなるととっても難しいです。
CSSの組み方もきれいな組み方をするには当然経験や知識もあります。私も完全に組むことはいまだにできません。
ただあくまで簡単なブロックに分割して、一般的なサイトが作れ、基本的な修正ができることを目標にします。
またJavaScriptは判断が難しいですね。全く使わずに実装することもできますが、一般的なWEBサイトでJavaScriptがないものはほとんどありません。
一応はjQueryで簡単なアクセントがつけられる程度を求めるとします。(プログラミングとしてがっちりは理解していなくても良いレベル)
基本 15~25時間
成果物作成 40~50時間
動的言語/データベース(PHP/MySQL)
- オブジェクト指向を簡単に理解し、まとまった機能をクラスとして作ることができる
- ロジックとテンプレートの分離をすることができる
- 外部データのやり取りにはデータベースを使う(ただしテキストファイルも使える)
- セッションやクッキーといった技術を使っている
- ソースをMVCに簡単に機能分割できる
- 上記を実装した簡単な掲示板(データの一覧/新規登録/編集/削除)を実装することができる
- データベース作成、テーブル作成、簡単なSQLコマンド(SELECT/INSERT/UPDATE/DELETE)ができる
- リレーションについて簡単に理解し、複数テーブルを結合させられる
一番の山場ですね。とりあえずプログラミング言語/データベースができないと話しになりません。
とりあえず就職がなんとかできるレベル(上記のスキル)を基準にします。
基本 70時間~100時間
成果物作成 100時間~150時間
サーバー
- 簡単なLinuxコマンド(ls,cd,cp,mv,find,grep)を操作し、ファイルの操作、検索できる
- ユーザー権限とパーミッションに関して簡単に理解している
ようは作ったものをサーバーに公開してリリースできるようにすることですね。
基本 10~15時間
成果物はなし
※サーバーにもいろんなタイプのものがありますので、簡単なものでしたらサーバーの知識はなくても大丈夫です。
私も一番最初に外注で働いたときはほとんど知りませんでした(汗)。ただあれば選択肢としてはできることが当然増えます。
結論
トータルの見積もりですが250時間~350時間程度でしょうか。(不必要に悩んだりする時間は除く)
もちろん実際に学習を始めるとこんな簡単にはいきません。
そもそも成果物を作りながら覚えるということが一般的なので上記のように基本と成果物を学校のように分けて学習することはあまりないかと思います。
ただあくまで目安として考えていただければ幸いです。
毎日数時間(3~5時間)休まずやるとして3ヶ月~6ヶ月程度かなという気がします。
ただこれはあくまでそばに教えてくれる人が存在し、順調に学習した場合です。特殊な事情がない限り、こんな理想的なケースはあまりないです。
普通に学習した場合にはわからないところで悩んだり(これが一番大きい)、休んだり、モチベーションが落ちてやらなかったりするので現実問題は1年~2年程度はかかってしまうのではないかなと思います。
関連記事
-
-
就職するときに見落としがちな考え方
今は自社で就職の斡旋などはしていないのですが、人材紹介会社で働いていたときは生徒の就職に立ち会ってき
-
-
お問い合わせフォームを作ろう! その3(PHP)
それでは前回のコードを例に少しずつ内容について説明をしていきます。 値を取得するには まず一番最
-
-
勘違いしてはいけない未経験ややる気という言葉
かなり久しぶりの投稿になってしまいました・・・ 以前ダイエットに成功し、2年以上かけて10kg
-
-
繰り返しを学ぼう その2 (while)
おはようございます。松本です。 最近、仕事をしていると細かいノウハウよりも「行動力」が何よりも
-
-
就活生必見! Webエンジニアになるなら知っておきたい超基本業界用語
本日はWEB業界でよくつかわれる専門用語について私の知っている範囲で書いていこうと思います。
-
-
初心者でもできる!作れる!WEBサービスの開発 その2 制作体験記編
前回からの続きですが、主にプログラムの勉強目的として、簡単なWEBサービス(アフィリエイトサイト)を
-
-
PHPで掲示板を作ろう!(データベース編) その5 PHP-MySQL連結編
今回はMySQLの第5回目の講義です。 前回までの記事 PHPで掲示板を作ろう!(データベース編
-
-
WEBエンジニアだったら知っておきたいWEB開発ツール一覧
今回は仕事で使っているソフト、ツールやWEBサービスなんかを紹介していこうと思います。 それほ
-
-
お問い合わせフォームを作ろう! その2(PHP)
おはようございます。松本です。 繰り返しますが、このブログは技術ブログなので(笑)PHPのネタ
-
-
プログラミング開発環境構築で挫折・・ wandboxを使ってみよう
本日はプログラミングの環境構築で挫折した方のために、前回の記事で紹介したwandboxというツールを
- PREV
- 開発を便利にする道具たち
- NEXT
- PHPはなぜ簡単といわれるのか?
Comment
Linuxコマンドは不要でしょう。
レン鯖借りてFTPでアップする程度の知識で基本いける。
Linuxコマンドは鯖管寄りの仕事なのでアプリ開発者は「知ってればより良い」という程度。
ウコンさん
コメントありがとうございます。ご指摘助かります。
コンテンツに関して若干修正をさせていただきました。