このキャリア、Web業界で生きる? 職種別・Web業界相性診断:きのこる先生のエンジニア転職指南(7)(1/2 ページ)
元プログラマ、現Web系企業の人事担当者による、エンジニア転職指南。「応募書類の書き方」や「自己PRの仕方」について、エンジニアの視点を持ちながらアドバイス。エンジニアの幸せな転職のために、菌類が奮闘する。
こんにちは、きのこる先生です。わが家では最近「しめじを干す」ことに凝っています。きのこを乾燥させるとうまみが凝縮して大変おいしいのですが、「干される」という言葉にはついつい反応してしまいます(会社から干されて、窓際族になりませんように!)。
行くべきか、行かざるべきか、Web業界
さて、前回「開発手法とコミュ力は捨てろ――SIエンジニアに告げる、Web企業への転職戦略」では、SI業界からWeb業界へ移る際の心構えを解説しました。しかし、世の中には「SI」と「Web」には分類できない、さまざまなソフトウェア開発の仕事があります。
そこで今回は、ソフトウェア開発の仕事をプロダクト別に分類し、そこで経験を積んできたエンジニアの特徴&Web業界を目指すために気を付けるべきことを、プロダクト別にまとめます。
なお、前回を読んでいただければ「Web系企業に抱く幻想」はとっくに投げ捨てているだろうと思います。今回の記事は、「それでもWeb業界を目指すよ!」という人のためのアドバイスです。幻想を捨て、「自分のやりたいこと/できること」をしっかり整理してから、「Web業界を目指す/目指さない」を選んでいただきたいと思います。
なお、今回紹介するのは、下記の職種です。
- ゲームプログラマ
- アプリケーションプログラマ
- 組み込みプログラマ
- インフラエンジニア
あなたは何を作っているプログラマ?
「プログラマ」と言っても、開発するソフトウェアにも使用するアーキテクチャにも、さまざまな種類があります。すべてを網羅するのは難しいですが、ここではざっくりと3種類に分類します。
- ゲーム
- アプリケーション
- 組み込み
現在SI企業に所属しているエンジニアは、自分が関わってきたプロジェクトがどこに分類されるかを考え、一番当てはまりそうなところを重点的に読んでみてください。
ゲームプログラマ
ここでは主に「家庭用ゲーム機向けのゲームソフトを開発するプログラマ」を「ゲームプログラマ」と定義します。
なぜ「家庭用ゲーム機」に限定するかというと、アーケードゲームは純粋なビデオゲーム以外にエレメカの要素が強く、どちらかというと後述する「組み込みプログラマ」に近い経験を積んでいる場合が多いからです。
アーケード向けであっても、ビデオゲームの開発経験をしっかり積んだ人は「ゲームプログラマ」に含められます。最近何かと話題の「ソーシャルゲーム」の場合、仕事内容はほぼ「Webプログラマ」なので、ここでは除外します。
●エンジニアの特徴
いわゆる「テレビゲーム」を作る仕事です。かつてはアセンブリ言語で開発していましたが、ある時期からはほとんどC/C++で開発しているので、C/C++を使えることが前提です。
担当パートによってスキルの偏りが大きいものの、コンピュータの動作原理からユーザーインターフェイスまで幅広いレイヤの知識が要求されるため、平均すると他業界より高いスキルを持っています。また、ゲーム開発には「仕様書に書けないこと」が多いため、行間を読んでより良いものを作るという点での「問題解決能力」が備わっている傾向があります。
残念なことに、慢性的に就業時間が長いせいか、勉強会に参加したり業務外でコードを書いたりする習慣を持たないプログラマが大半です。趣味嗜好がはっきりしているため、Webで仕入れる情報も偏っていることが多いようです。
●Web業界を目指すなら
ゲームを作る仕事は大変、楽しいです。「仕事それ自体が報酬である」と考えることもできるため、「ゲームを作りたい」という意思が強い方にWeb系企業はおすすめできません。「ゲームソフト」的なソフトウェアを開発する機会はほとんどないからです。
「基本的なスキルは高い」と採用担当は期待しているので、書類審査では目に留まりやすい傾向があります。期待を裏切らないスキルを持っている場合は問題ないのですが、そうでない場合はアピール材料を用意しておきましょう。Webの基本的な仕組みを知っておくこと、業務外でWeb系の開発を行うこと、それらをアウトプットしておくことが大事です。
また、最近需要が伸びているスマートフォン向けのアプリ開発者としても、ゲームプログラマは期待されています。自分で開発したアプリをデモできると、強いアピールになります。
アプリケーションプログラマ
パソコンで動く、デスクトップアプリケーションを開発するプログラマを、ここでは「アプリケーションプログラマ」と定義します。「パッケージソフトを開発する仕事」と「ユーザー企業向けに独自の業務アプリケーションを開発する仕事」に大別できます。
●エンジニアの特徴
Windows向けアプリケーションを作ることが多く、VisualBasicが根強いです。C++で開発する場合もマイクロソフト独自の流儀が色濃いため、C++ではなく「VC++」と区別されたりもします。最近はC#と.NET Frameworkの組み合わせにシフトしているようです。
業務アプリはどんどんWebアプリへのリプレイスが進んでいるため、需要は徐々に減少していくでしょう。パッケージソフトも、製品自体の淘汰が進んでいるため、「使われるだけの明確な理由」がないと生き残るのは難しいようです。そのためか、プログラマたちの「Web業界へ転向したい」という意向を強く感じます。
●Web業界を目指すなら
残念ながら、Web系企業で生かせるアプリケーション開発の経験は多くありません。Webサービスの開発には、LAMPやJavaを使うことが多いためです。C#/VBが主なスキルの場合、ASP.NETを使っている企業以外は「スキルミスマッチ」と判断することが多いでしょう。
選考を突破するためには、「業務外でのLAMP開発経験をアピール」という正攻法が有効です。業務でプログラミングをしてきたという経験と、「新しいことへのチャレンジとキャッチアップを恐れない」という将来性をアピールしましょう。
企業によっては、業務知識が生かせる場合もあります。画像や音声を処理するアプリケーションを開発した経験が、画像・音声投稿をサービスを提供するWeb系企業のバックエンドにマッチした、というケースがありました。そのため、アピールの材料として獲得した業務知識についても書いておきましょう。もちろん応募先企業を下調べし、マッチングを探ることも忘れずに。
Copyright © ITmedia, Inc. All Rights Reserved.