Warning: Undefined variable $content in /home/c9099599/public_html/dstrikes.net/wp-content/themes/cocoon-child-master/tmp/content.php on line 76
この記事は 約7 分で読めます。
ども!IT企業で面接を担当していた、でびきんです。
独学でプログラムをマスターしたけど、就職先の現場で即戦力になれるにはどのくらいのスキルが必要なのだろうか?と不安になる事はありませんか?
現場で覚えたスキルならもちろん即戦力として活躍出来るのは当然ですが、独学だと自分のスキルのレベルが分からないと言った不安が付きまとうと思います。
はっきり、私はPHP出来ます!と面接で言えるのだろうか?
現場でどんなスキルが必要になってPHPはどのくらい出来れば良いのだろうか?
本日は実際にIT企業で面接を担当していた私が解説したいと思います。
現場での即戦力とは?
IT企業の現場ではどのような人の事を即戦力と呼ぶのか?
この辺をはっきりしておかないと、即戦力って何?と言う議論になってしまいそうなので、先に即戦力について定義しておきたいと思います。
即戦力とはひとことで言うと、『現場の一員として直ぐに稼働してくれる人材』です。
会社の方針と社風を説明すれば、ディレクターやプロジェクトリーダーが『この機能をココに実装しといて』と指示するだけで、即作業に取りかかれる人の事です。
もっと具体的に言えば、
このページにページャーが無いので実装して下さい。
この指示だけで『はい!了解しました!』と言える人が即戦力に鳴り得るエンジニアだと思います。
その際の指示がPHPじゃなくて、JavaScriptだったり.htaccessで記述を追加するような作業だった場合・・・PHPだけではカバーしきれない問題が出てきます。
『それPHPの仕事じゃないでしょ?』
意地悪な指示だな・・・と思われるかも知れませんが、実際10名未満の小さな会社だと『日常的に起きる事柄』です。
小さな会社の即戦力プレイヤーは、PHPだけじゃなく周辺のあらゆる知識を広く浅くマスターしておくべきです。
逆に大きな会社の場合は、プログラムの機能だけを作ってくれと言われる事が多くなり、『(int)で投げたらJSONでこの結果が返ってくるようなAPI作っといて』と言われて仕様書を渡される事もしばしば・・・
大企業では多くの会社で『コーディング規約』が導入されており、empty関数は使ってはダメ、必ずisset関数を使って下さいとか、Functionを定義する際には必ず概要のコメントを書いて下さいと規約が多く、その規約に対応出来るようなスキルが求められています。
ITの現場によって求められるスキルは違う
はっきり言ってIT企業とひと口に言っても、どんな種類のIT企業かによって求められるスキルは変わってくる
- Web制作会社
- システム専門会社
- スマホアプリ制作会社
- デザインメインのWeb制作会社
- ネットワーク・インフラ系会社
- ネット通販系会社
- ビッグデータ解析会社
色んなIT企業があるが、いずれの現場でもプログラマーは重宝されますが、IT系と言っても現場の専門性の如何によって求められるスキルは変わってきます。
あなたがまだ20代半ばまでの年齢であれば、PHPの基礎だけをしっかりマスターしていれば、これから伸び代があるプログラマーとしてゆっくり実力を付けていく事が出来ますが、30代プログラマーとなると正直、面接担当は既存のスキルを重要視して即戦力と成り得るか?と言う部分が問われます。
例えば、Web系の制作会社なら、LaravelやCakePHPのフレームワークが操作出来るスキルが必要になりますし、アクセス解析やSEMなどを主業務とする企業であれば、解析アルゴリズムの知識や今ならニューラルネットワークの構築スキルがあれば、即採用となり易い。
もちろんPHPプログラマーとしてキャリアアップを目指すなら、システム専門で制作している会社でバリバリプログラムを書き続けるのが良いでしょう。
中には自社のシステムを販売する営業職でも、プログラムの知識があるのと無いのとでは顧客に説明出来る知識の幅も大きく違います。
ですので、PHPフレームワークを自由に操る知識があっても、ネットショップ系の企業に面接に行っても自分を高く評価して貰えませんし、現場で即戦力ともなりにくいのです。
もちろん、現場でフレームワークを使ったネットショップが構築されているなら『即戦力』として活躍の場が与えられるでしょう。
独学のデメリットはプログラムの理解度
独学でプログラムを学習して使えるようにはなったが、どのレベルまでプログラムをマスターすれば『使える!』と言えるのかが分かりませんよね。
結論から言うと、基礎が一通りしっかり出来てる人、PHPでは特にオブジェクト指向プログラミング(OOP)について苦手な方が多いです。
Web系の会社なら、PHPだけじゃ使い物にならなくてJavaScriptも少しは使えないと現場では足手まといになってしまうと考える会社があるのも事実です。
PHPプログラムが出来ると言えるレベルのプログラム理解度
PHPプログラマーとして取りあえず以下の事柄に対応出来るなら、面接でPHPプログラミングが出来ます!答えて良いかと思います。
- PHPの基本的なコーディングが出来る(インデントも重要)
- ある程度のデータベース設計が出来る
- MySQLやPostgreSQLなどWebで良く使われるデータベースの操作が出来る
- 各種フレームワーク(MVC)を理解している
- APIを操作出来る
- オブジェクト指向やクロージャのコードが書ける
- 1人でWebサービスを構築する事が出来る
あくまで上記は企業面接の時に自分のスキルを聞かれた場合にこれらの事が全て出来るスキルがあるなら、PHP出来ます!と胸を張って言えるだろう。
しかしながら、これら全ての事を独学で網羅するのはかなり厳しいと思います。
私もこれだけの事を1年目に全てを独学でマスター出来ていたか?と聞かれると『全然出来てませんでした』と答えるより他ありません。
と言っても私がPHPをマスターした10年前は、フレームワークはまだまだメジャーでは無くスクラッチ(ベタ打ち)での開発が主流だった事もあり、これだけの要件を求められる事はありませんでした。
上記の内容をマスターするには、フリーランスで2年~4年程度の活動経験が無ければマスター出来ないんじゃないかと思える程のレベルです。
やっぱりプログラムを学習する上で必要なのは『メンター的な存在』は必要不可欠だと思います。
ごく基本のPHPコーディングぐらいは出来ても、そこからフレームワークの学習になると全然別物のプログラムに見えてくる事でしょう。
ポートフォリオを作ってスキルをアピールする
ポートフォリオってご存知ですか?
ポートフォリオとは自分の過去の実績と自分の持つスキルレベルが一目で分かるものを指します。
デザイナーが良く自分の作品や過去の納品物を見て貰う為のギャラリー的なサイトを作っていますが、簡単に言うとアレの事です。
Pixtaも同様にポートフォリオの役割を見事に果たしていると言えるでしょう。
その中でプログラマーがポートフォリオ的な役割を果たしてくれるサイトはQiitaなどがその代表的なサイトではないでしょうか。
一概に私はPHPプログラムをマスターしています!
と言った所で、どのレベルでマスターしたと言っているのか採用担当者は頭を悩ませる部分であります。
こんな時に、Laravelを使ったブログサイトを作りました。掲示板を制作しました。
DBの設計はOOを意識して画像投稿機能も付けています。パスワードログイン機能も付いており非常に多機能な掲示板を開発しました。
と言うような技術レベルが分かる作品が見れるサイトがあれば、優先的に担当者は採用を決定するでしょう。
100万円もコストを掛けて採用したけど、使い物にならないレベルのPHPスキルでした・・・では話になりません。
それだけに採用担当としても、応募者の中から少しでもスキルが高く長く続いてくれそうな人を採用したいわけです。
独学でPHPをマスターして即戦力になる:まとめ
PHPをマスターして即戦力として活躍する為には、少しでも自分のプログラミング技術を磨く事もそうですが、入って見なければどんなスキルが重宝されるかは分かりません。
ですので、PHPの基礎がしっかりしていて『ちょっと教えれば理解してくれる柔軟さ』が求められています。
会社内での仕事の流れを理解し、何が必要でどんな作業の流れがあるかをいち早く覚えて、テキパキと仕事をこなしてくれる技量がある人が、担当者が思う『あぁこの人を採用して正解だった!』と思わせるコツです。
プログラミングはその技術一本で明日からでもフリーランスとして働ける程の、人生にとって一番有益な自己投資だと考えています。
それだけに中途半端な技量で終わらせずに『一生喰って行けるレベルまで昇華させて欲しい』と思います。
現場で即戦力になる為には、エキスパートコースを出て初めて『新卒が研修を修了したレベル』ぐらいになれます。
コメント