「○○エンジニア」「○○プログラマー」という名前がたくさんあって、どれを選んだらいいのかわからない。または自分がどの職種に当てはまるのかピンとこないという方は多いでしょう。分業化が進むIT業界では、仕事内容や役割ごとに細かくエンジニアの職種名が分かれているため、転職先探しにも苦労するはず。
そこで、この記事では「クライアントエンジニア」または「クライアントプログラマー」と呼ばれる技術者たちが、どんな仕事をしていて、どんなスキルを必要としているのかを深掘りしていきます。
クライアントエンジニアとは
クライアントエンジニアは、主にスマホ向けゲームアプリに携わり、UI・UX、開発支援ツールの開発などを手がける職種です。スマホゲームの開発全般に携わることが多く、いわばゲームアプリエンジニアと呼ぶこともできるでしょう。
iOS・Androidを問わず、昨今では毎日のように新たなゲームアプリが配信されています。その開発の基幹業務に携わるだけあって、需要は急速な高まりを見せていることが特徴。特にUnityの知識・スキルがあるエンジニアは重宝される傾向にあり、都内のIT企業を中心に多数の求人広告であふれています。
いわゆる「ソーシャルゲーム」を手がけることが大半で、勤務先はIT企業に限られます。UnityやC#言語のスキルはもちろん、ゲームというクリエイティブ作品をつくるための創造性も求められる仕事です。
ネイティブアプリに携わることがほとんどのため、ダウンロード数や課金額といった数字でフィードバックが得られやすいことから、業務の中でやりがいを感じるシーンは少なくないと考えられます。ただし、中にはコストカット重視の方針から、作業負担が多くなったり残業が長くなったりしてしまうことも予想できますので、職場選びには注意を必要としそうです。
具体的な業務内容
クライアントエンジニアの仕事内容は、ソーシャルゲームを中心とするスマホゲームアプリの開発です。プログラミングやコーディングに携わるだけでなく、基本設計や企画段階から手がけることもしばしば。
中には据え置き型ゲームの開発に携わってきたゲーム会社が、市場規模を見込んでスマホゲームの分野に進出するという例も少なくありません。そのような現場では、アプリの企画・設計に関するノウハウはあっても、開発・配信については明るくないというところもあるため、専門技術と知識を備えたクライアントエンジニアは非常に重宝されます。
クライアントエンジニアの仕事は、アプリの開発だけにとどまりません。リリース後の運営・保守業務もその一部ですし、ユーザーからの要望やゲームバランスを考慮し、適宜調整を施していく作業も含まれます。
新たなアプリを開発するだけでなく、既存のアプリのチューニングも担当する可能性があるということです。こちらに分類される業務の場合は、アプリの配信開始やダウンロード数の伸びといった直接的なフィードバックがないことから、モチベーションを保ちづらいという側面も考えられます。
必要な技術/資格/言語
クライアントエンジニアに必要とされるのは、ゲーム開発に必要とされるスキルとほぼ同様です。遊び心を忘れず、ユーザーの立場になって、誰でも長く楽しめるゲームをつくることが、クライアントエンジニアの基本的な素質です。
また、Unityなどのツールを用いた開発経験は、どんな会社に転職するのであっても必須とされます。もしUnityに触れたことがないけどクライアントエンジニアを目指したいという場合には、独学でツールの扱い方に慣れるなどの対策を必要とします。
プログラミング言語で言えば、Objective-C、Javaのスキルが多用される職種です。さらにUIも担当する部署であれば、uGUIやNGUIの実装経験もあると採用されやすくなるでしょう。近年ではLive2Dを用いた立体的なアニメーションを加味するタイトルも多くなっているため、この分野に詳しい人も市場価値が高い人材と言えます。
クライアントエンジニアになるために必要な資格は特にありませんが、日頃からゲームアプリに親しんでいる人だと、経験不足や実績不足の場合にもアピールポイントになりやすいと言えます。多数のゲーム作品に触れた人であれば、そのバックグラウンドを生かして業務への貢献度も高くなると考えられるからです。
学ぶべきスキル
クライアントエンジニアを目指すのであれば、まずはObjective-C、Javaのプログラミング言語をマスターしましょう。いずれもスマホアプリ開発に必須の知識ですので、この分野を目指したいと考えるのであればまず習得しておきたい言語です。
さらにスマホゲーム開発を主眼に置くのであれば、Unityの扱い方も一通りマスターしておきたいところです。独学でオリジナルゲームをつくるという方法も考えられますし、オンライン講座や書籍を利用するという手もあります。
さらにLive2Dを用いた開発や、uGUI・NGUIなどを用いたUI実装の経験も評価されやすい職種ですので、余裕があればこれらに手を出してみることもおすすめです。
また、学ぶというより触れるべき事柄として、スマホ向けに配信されているゲームアプリの人気タイトルを一通りインストールしてみることもおすすめです。無料ランキングや課金ランキング上位のアプリに触れててみて、売れるゲームアプリや人気を誇っているタイトルの傾向を知ることは、今後のキャリアを考えれば決して無駄にはなりません。
予想される年収水準
クライアントエンジニアを中途採用で調べると、経験者募集で年収300〜500万円程度が、平均的な年収水準となりそうです。3年、5年と経験を積めば、これ以上の報酬を手にすることは可能でしょう。
ただし、身につけるために何年もの経験を必要とするような専門性の高い職種とは言えないため、1000万円に到達するにはそれ相応のスキルを習得する必要があります。具体的には、開発スキルに加えてチームをマネジメントする実績や、後進を指導した経験などです。
プロジェクトマネジメントや人材教育にも携わることができるクライアントエンジニアなら、単なる開発スタッフよりも高水準の待遇が用意されていることは間違いありません。そうしたヒューマンスキルも携えてIT企業の門戸を叩くことで、やりがいと待遇を一挙に手に入れることができる可能性もあります。
活躍できる業界
ほかのエンジニア系職種とは異なり、クライアントエンジニアの活躍の場は限られています。主にゲームの制作会社・アプリ開発会社が就職先となるでしょう。ゲームアプリ開発に特化しした職種であることから、IT業界以外の領域では活躍しづらいという特徴があります。
ただ、いったんIT業界に身を置けば、その後は一つの会社に勤め上げたり、協力会社やクライアントの紹介で同系統の会社へ転職したりすることは容易と考えられます。
チームで仕事をすることが多いだけにフリーランスの中には少ない職種と言えますが、この先長く活躍できる将来性に魅力が隠されたポジションです。
まとめ
クライアントエンジニアは、主にスマホ向けゲームアプリの開発に携わるエンジニアです。求人の数が豊富で需要が多いため、転職先には困ることがないでしょう。
ただし、ゲーム開発にとどまらずマネジメントの経験を積んだり、教育担当を務めたりといった付加価値を提供できないと、いつまでも低水準の年収しか得られないことになりますので、スキルアップを欠かさないようにしましょう。