どんな仕事?
スマートフォンで利用するアプリをチームで開発する。
スマートフォンのアプリはダウンロードしてインストールする「ネイティブアプリ」と、スマートフォンからブラウザで使用する「Webアプリ」がある。また、この両者を組み合わせた「ハイブリッドアプリ」もある。
具体的にはスマホ利用者のニーズやシーズ、アプリのトレンド等を考え、アプリの企画をチームで検討するところから始まる。企画内容を決めるにあたっては、競合するものや類似のアプリ等がないか調査も行う。顧客からアプリ開発を受託し、その企画を検討する場合もある。いずれの場合も、企画から要件定義を行い、画面や機能を決め、アプリを開発する。企画の検討はプロダクトマネージャが行い、基本設計から開発をエンジニアが行うという具合に分業している場合もある。この場合、要件定義はプロダクトマネージャとエンジニアが共同して行う。
開発が完了するとアプリを様々な側面から評価するテストを考える。テスターがテストを行い、バグが見つかればプログラマーと協力して修正を行う。また、リリースに向けてユーザに実際に使用してもらう。
開発ではパソコンが使われる。スマートフォンのOS(オペレーティングシステム)はAndroidかiOSであるが、双方に対応した開発環境(フレームワーク、クロスプラットフォーム)が出てきている。開発のためのプログラミング言語には様々なものがあるが、プログラミングすることなく簡単なアプリを開発できるツールもある(ノーコード)。
スマホのOSが新しくなると、開発したアプリもバージョンアップの対応をしなければならず、これが開発業務の中で何割かを占める。
スマートフォンのアプリはこのエンジニアのほかに、プロデューサー(プロダクトマネージャ)、デザイナー等から構成されるチームで開発する。開発ではエンジニアやデザイナーが複数となり、全体で4~6人で開発することが多い。開発段階では、定期的にこの開発チームでミーティングを行うが、情報共有、進捗管理等にはコラボレーションツール(Slack等)が用いられる。開発過程での問題点はミーティング等を通して解決策を見いだす。開発に必要な新しい情報をインターネット等で調べることも多い。
スタートアップのときなど、エンジニアが営業的な仕事もするが、開発体制が整ってくると、営業やプロダクトマネジメントは別の担当者となる。
<就業希望者へのメッセージ>
いろいろなプロセスを経て作り上げたアプリが製品となり、直接ユーザーに使ってもらえる経験ができるのは、スマホアプリの開発エンジニアならではのやりがいです。(就業者 20代)
よく使う道具、機材、情報技術等
フレームワーク(React Native 、 flutter等)、プログラミング言語(Swift、Kotlin等)、OS(オペレーティングシステム:Android、iOS)、コラボレーションツール(Slack等)、スマートフォン、パソコン、表計算ソフト(GoogleGoogleスプレッドシート等)、SNS