*

あなたのPHPレベルを判定してみよう!未経験者限定スキル判定表

プログラムを勉強していると自分のレベルみたいなものが気になる方は多いでしょう。

私の場合も独学中心でプログラミングを進めており、同期もいないので、自分のスキルが周りに比べてどうなのかが不安でした。

講師業を経験して、初心者や習い始めの生徒たちは多くみてきたこともあり、レベル別のできること、できないこと、これからやるべきことなどをまとめてみようかと思います。

レベル1(勉強し始め)

PHPを勉強し始めの状態です。

個人的には「プログラミングをやってみようかな~」と思っても9割ぐらいの方がこのレベルで挫折すると思います。

できること・知っていること

  • プログラミングというものをなんとなく知っている
  • PHPとHTML/CSSの違いがなんとなくわかる
  • XAMPPを起動できる
  • echoを使って文字を画面に表示させることはできる
  • 簡単な変数を定義して値を代入したり、画面に表示させることはできる
  • 非常に簡単な条件分岐($aが10より大きいときにOKを表示)はできる
  • 関数、クラスという言葉があることはしっている
  • 簡単な配列($arr=[“apple”,”orange”,”banana”]など)を展開させることはできる
  • 1から10までを繰り返し構文を使って表示させることができる

できないこと

  • XAMPPがどういうものか正確には知らない
  • セミコロン忘れ、条件分岐の{}対応忘れなどでおこる単純なシンタックスエラーを解決できない。あるいは発見に何時間もかかる。
  • ソースにインデントがないため、非常にみにくい
  • 2次元配列の操作ができない
  • 配列の中で条件分岐が絡むような処理はできない
  • for,while,foreachの使い分けができない
  • 関数、クラスは使えない
  • ファイル読み込み、データベースとの接続などもわからない
  • 講師と会話ができない(疑問点を説明できない)
  • エディタの機能をほとんど使えない

やるべきこと

  • とにかく配列の処理+条件分岐の基本構文。
  • エラーの対処が難しくなるので10~20行ぐらいのプログラムを中心に簡単な配列の問題をたくさん繰り返すこと。
  • 慣れていくなかでエディタの便利な機能を少しずつ活用していくこと
  • インデントをそろえること
  • プログラミングがわかる人を確保すること

レベル2(入門者)

プログラミングが少しずつできるようになってきて面白くなってくるころ。

ただし現実的にいうと一般的にここらへんが独学の限界だと思います。

できること・知っていること

  • foreachを使い、2次元配列(連想配列を含んだ配列)を展開して、表示することができる
  • 配列の中で簡単な条件分岐の処理に対処することができる
  • 引数が1,2つ程度で10行以内の簡単な関数を作ることができる
  • 1つか2つの入力欄があるフォーム画面を作り、値を飛ばして、表示をさせることができる
  • フォームで簡単なエラーチェックを実装することができる
  • テキストファイルを読み込み、配列に格納できる
  • テキストファイルへデータを書き込むことができる
  • 簡単なデーターベース(テーブル1つ、カラムが3,4)を作り、SELECT,INSERT,UPDATE,DELETEといった短いSQL文をかける
  • 正確ではなくても、自分の疑問点を講師になんとか説明できる

できないこと・知らないこと

  • 空白とnullの違いが判らない
  • 簡単なシンタックスエラー以外は自力で対処できない
  • フォーム画面の入力欄に値を保存させる仕組みがよくわからない
  • 処理に応じてソースを分けられず、全て1つのソースに書いてしまう
  • PHPとHTMLが一緒になったソースしか書けない
  • どこを関数にすればよいかわからない
  • 関数はreturnがあるときと、ないときがわからない
  • クラスがわからない
  • セッションがわからない
  • PHPとデータベースをつないでデータを取り出す、書き出すことができない
  • SQLはリレーションがわからない
  • Linuxコマンドがわからない

やるべきこと

  • 引き続き配列の処理を繰り返しを行い、ある程度複雑なものでもできるようにしておく
  • クラスの独学での理解は非常に難しいので聞ける人を確保して、しっかり理解する
  • 簡単なお問い合わせフォーム、掲示板を作り、機能をどんどん拡張させていく
  • 自宅のいらないパソコンにLinuxを入れるorVPSやクラウドサーバーをかりてLinuxになれる

レベル3(初心者)

簡単なお問い合わせフォームはなんとか作れるようになったレベル。

初歩的な入門書をマスターするとこれぐらい。

できること・知っていること

  • 基本的な配列の操作や処理がほぼ問題なくできる
  • 頻出するエラーであれば、8割がた自力で対処できる
  • 入力、エラーチェック、値の保存機能のついた簡単なお問い合わせフォームが作れる
  • PHPとデータベースをつなぎ、入出力処理を行える
  • 簡単なリレーションを理解している。
  • 簡単なクラスを作ることができる
  • PHPとHTMLを分離することができる
  • 問題点を講師に的確に伝えられる
  • エディタの基本的な機能を使いこなすことができる
  • ls,mv,cpなど簡単なLinuxコマンドを使い、最低限の移動やファイル操作などができる
  • yumコマンドでアプリケーションをインストールすることができる

できないこと・知らないこと

  • 他人が読むことを前提としたソースを書くことがまだできない
  • インデントがやたら深かったり、100行を超えるような長いソースを書いてしまう
  • エラー処理や例外処理を考えてないため、正常系以外の処理でバグがしょっちゅう起こる
  • 命名が甘く、dataArrなど一般的すぎる変数が多い
  • まだ十分にクラスが使えない
  • クラスの修飾子の使い分けができない
  • POSTとセッションの使い分けが不十分
  • JOINが3つ以上になるようなテーブルは対処できない。
  • Linuxは最低限のコマンド以外はよくわからない

やるべきこと

  • 掲示板をひたすらどんどん拡張させるか、会員登録サイトや小さいECショップみたいなものにチャレンジする
  • 人に使ってもらってバグを出しまくる
  • プログラムがわかる人にソースを見てもらい、改善意識を持つ
  • サーバーでの作業にとにかくなれる

レベル4

できることは増えるがそれ以上に自分ができていないこと、知らないことを自覚めるレベル。

できること・知っていること

  • 変数、関数、クラスの命名に気を使っている
  • ある程度の属性、機能のまとまりごとにクラスが作られている
  • 適宜、コメントが入っており、他人が見ても何をやっているかがわかる
  • 大体の関数が30行以内、インデントが2段以内に収まっているため全体的に読みやすい
  • 異常系の処理も基本的なことは書かれているため、典型的な処理であればシステムが止まることはない
  • 3つ以上のリレーションについても理解しており、合計や平均などの基本的な算術関数を扱うこともできる
  • ファイルの移動に関してはGUIでやるよりもコマンドのほうが早い
  • 単純な仕様であればどのように実現するかが大体わかる

できないこと・知らないこと

  • オブジェクトを完全には理解できていないため、継承などを使ってプログラムの抽象度を上げる工夫などが不完全
  • スコープを小さく抑える工夫などがまだたりないため、大規模なアプリを作成する際にバグが残る
  • 適切なライブラリを使わず、すべての処理を自力で書こうとするため、バグが残る
  • ユーザーの立場に立つことができないため、おかしな機能があっても気づかなかったり、非常に使いにくい画面などを作ってしまう

やったほうがいいこと

  • 理論的なことを書いている本(例:パーフェクトPHPなど)を読んで使われている技術の理論的背景について勉強すること
  • 他人のプログラムをたくさんみること
  • プログラムを修正しまくって、修正があったときに短時間で対応するにはどう組んだらいいかを考えること
  • やさしいオープンソースのソースを見てみること(ECCUBEはおすすめ)
  • ユーザーの立場に立った画面構成などについて考えること

まとめ

大体PHPを勉強し始めの方のレベルについてなんとか文章でまとめてみました。

レベル4までいくと簡単なWEBアプリならなんとか作れる、PHPが少しずつわかってきたといえるでしょう。

それ以上はひたすら慣れもありますし、進みたい方向性や身につけたい技術により少しずつ変わってくるのでは・・・と思います。

参考になれば幸いです。

関連記事

PHPで掲示板を作ろう!(データベース編) その3 データベース作成編

ちょっと間隔があいてしまいましたが、今回はMySQLの講義です。 前回までの記事 PHPで掲示板

記事を読む

未経験者にしっておいてもらいたいWeb業界の4つの職種

以前、働いていた人材紹介業界ではプログラマになりたい人材を募集基礎的な研修(プログラミング&面接など

記事を読む

プログラミングが初心者にとって難しい4つの理由

今回は初心者がプログラミングをやるのがなぜ難しいかをしっかり書いていこうかと思います(爆)。

記事を読む

読者さんからの転職相談を受け付けました! 未経験でプログラマとして就職するには? 前編

タイトルの通りですが、このブログを読んでいる読者の方から転職相談を受け、実際にお会いしてお話をさせて

記事を読む

「初級」〜「中級」のPHPエンジニアのスキルについてまとめてみる(DB編)

本日はデータベース系の必要な技術について。 ウェブエンジニアといっても技術領域が非常に広いので

記事を読む

ドキドキ本番リリース時に大切な心構え

今回はエンジニアにとって大切な本番リリースについて。 本番リリースというのはいままで開発環境(

記事を読む

客先常駐のメリット・デメリット

転職相談でも少し触れましたが、IT業界では客先常駐と言いまして、ある会社の社員でいながら、派遣のよう

記事を読む

プログラミングをする上で超大切な検索方法の身につけ方

今日はプログラミングで大切な検索方法の身につけ方について私なりのコツなどを書いていこうかなと思います

記事を読む

プログラミングは文系、理系どちらが有利か?

プログラミングに関する質問として 文系だとダメですか? 理系のほうが有利なんですか?

記事を読む

プログラミングを独学で身につけるときに大切な6つのポイント

さきほど「プログラミング」で検索キーワードをかけたら入力補完で「プログラミング 入門」や「プログラミ

記事を読む

Comment

  1. Notz より:

    いまの自分のレベルが気になっていたので、とっても参考になりました!

    私は、とある事業会社に今年から新卒入社し、PHPで社内向けwebアプリなんかを作成しております。普段は、Laravel や CakePHP などのフレームワークを用いて、開発を進めていますが、イマイチ自分がどのレベルにあるのかわからず、ただひたすらに仕事をしていました。現在の私は、Lv.4 に該当し、まだすべきことはあるのだと改めて実感できました。

    次の目標は、意味のあるものを、ユーザーのためになるものを作るよう、努めたいと思います。

    • matsumoto より:

      Notz様

      はじめまして、松本です。
      コメントありがとうございます。

      >私は、とある事業会社に今年から新卒入社し、PHPで社内向けwebアプリなんかを作成しております。
      >普段は、Laravel や CakePHP などのフレームワークを用いて、開発を進めていますが、イマイチ
      >自分がどのレベルにあるのかわからず、ただひたすらに仕事をしていました。現在の私は、Lv.4 に該当し、
      >まだすべきことはあるのだと改めて実感できました。

      これを絶対的な基準という気は毛頭ないですが、Notz様にとってなんらかの
      レベルの把握となればなによりです。

      > 次の目標は、意味のあるものを、ユーザーのためになるものを作るよう、努めたいと思います。

      エンジニアとして頑張ってくださいね!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

転職エージェントについて

さて、エンジニアとして転職を考えている人であれば転職エージェントを使っ

エンジニアが転職して年収を上げる方法を考えてみました。

えー前回の記事でも書きましたが、2020年2月現在転職活動中です。

2020年のご挨拶

今更ですが、明けましておめでとうございます。 2019年も2本し

自社開発>客先常駐である本当の理由

このブログでも何回か取り上げていますが、ITエンジニアの働き方としては

エンジニアにとって必要なコミュニケーション能力とは

気がついたらもう3月下旬になっていますね・・ 年末年始忙しかった

→もっと見る

  • follow us in feedly
PAGE TOP ↑