プログラマーSEの仕事で『即戦力』になれる人となれない人の差
一般的に、
- 経験者は即戦力
- 経験のない人は、いろいろ教えたりし育成する
って分けられがちですが、経験のない分野においても短時間で戦力になる方法があります。
私自身のキャリアは、
業務システム開発 → Webサービス開発 → スマホゲーム開発
と分野を移っています。
分野を移る際には、その都度、初心者(未経験)に戻ります。
- 業務システムの経験はあるけどWebサービスは初めて
- 業務システムとWebサービスの経験はあるけどスマホゲームは初めて
って状態です。
その時にどうやってスムーズに即戦力になれたか、その方法を紹介します。この方法は新入社員の方や異業種から転職した方も使えます。
分かることと分からないことの差分を知る
私が開発してきた業務システムの多くはWebアプリケーションでした。
なので、Webサービス開発に移ったときにも、その知識は活かせませました。
業務システムとWebサービスの技術的な違いは、
- Webサービスの方が同時アクセス数が多い → オンメモリのDBやキャッシュの利用
- Webサービスの方が凝ったUIの画面が多い → AjaxやJavaScriptライブラリ・フレームワークの利用
といったものがあります。
この差分をどうやって埋めるかがポイントです。
Webサービスからスマホゲームへと移る時は、この差分がもっとたくさんありました。
ゲームでもサーバーサイドであればWebと共通してる部分が多いんですけど、私が担当したのはゲームのクライアント側(画面側)だったので全くの別技術(Unity, C#, フレーム処理アルゴリズム)を学ぶ必要がありました。
こうやって、今の自分と仕事に必要な知識・スキルのギャップを把握するとやるべきことが見えてきます。
そして、その足りない部分を自分から能動的に補いながら仕事をする意識を持つんです。
未経験の人と経験者の違い
未経験の人って必要な知識を教えながら育てなきゃいけないから即戦力じゃないんです。
経験者でもそのプロジェクトの全てを知ってるわけではありません。知らない知識を得るために他のメンバーから知識を教わります。
未経験から入る場合もこの場合と同じ意識で望めばいいんです。
教えてくれるのを待ってるんじゃなくて、足りない部分を自分から教わりに行くんです。
そうすれば、経験者と同じスタンスの働き方ができます。
経験者のように仕事をする方法
例えば、「この機能を作ってください」って担当を割り振られたら、自分なりにそれを解釈して「こうやればいいのかな」ってまずは取り組みます。
「ここが分かんないな」ってぶつかったら、知ってそうな人に聞きに行きます。
聞きにいく前に
- どこかわからないのかを整理して質問をメモしておく
- 説明用の図を書いておく
など準備をしていくと、短時間で教わることができます。
すると現場は、未経験の人が入ってきて育ててるというよりは、即戦力の人ってきたという感覚になります。
つまり経験者とは、能動的に仕事をする人なんです。
意識の持ち方をちょっと変えるだけ
未経験でも、自分の足りない知識を把握して能動的に補いながら仕事をすれば経験者と同じです。
私の場合はWebサービスやゲーム開発が未経験といっても業務システム開発のエンジニア経験はあったわけですが、別業種から転職した方や新入社員の方などのようなITエンジニア経験自体がない完全な未経験の人でも、このスタンスで仕事すれば早く一人前になれると思います。
「自分は未経験だから何もわからない」から「教えてくれるのを待つのではなく、わからないところを能動的に補いながら仕事をしよう」に変えるだけで仕事の成果やスキルアップのスピードが全然違ってくると思います。