目次
アプリケーションエンジニアの仕事内容
アプリケーションエンジニアに必要なスキル
アプリケーションエンジニアに役立つ資格
アプリケーションエンジニアのキャリアパス
フリーランスのアプリケーションエンジニアとして働くには
フリーランスアプリケーションエンジニアの年収(編集部追記)
アプリケーションエンジニアの求人・案件例(編集部追記)
フリーランスの収入見込みをチェック
アプリケーションエンジニアの仕事内容
アプリケーションエンジニアはシステムに用いられるアプリケーションの設計・製造・テストを業務とする職種です。アプリケーションを大別すると3つに分けられます。
1. 業務系アプリケーション
業務系アプリケーションとは、顧客のビジネス課題を解決するためのアプリケーションです。例えば、Excelで管理しているデータをデータベース化したり、勤怠管理システムや承認プロセスをワークフロー化したりすることなどが考えられます。
業務系アプリケーションに共通することは、顧客の経営をITシステムでサポートして改善することです。よってアプリケーションエンジニアは顧客の要望を最大限に満たしつつ、使いやすいアプリケーションを開発しなければいけません。
2. Webアプリケーション
WebアプリケーションはWebブラウザ上で動作するアプリケーションです。わかりやすい例を挙げるとTwitterやYouTube、InstagramなどがWebアプリケーションに相当します。
業務系アプリケーション開発が顧客の課題を解決するのに対して、Webアプリケーション開発は顧客が提供するサービスをシステムとして構築することになります。
3. スマホアプリケーション
スマートフォン上で動作するアプリケーションを開発します。業務系アプリケーションをスマホアプリとして開発したり、顧客が展開したいサービスをスマホアプリとして開発したりするケースがあります。
スマホアプリには、外出先から勤怠を入力できるアプリやECサイトの買い物用アプリ、ゲームなどがあり、スマホアプリの機能はとても多様です。
以上、業務系アプリケーション、Webアプリケーション、スマホアプリケーションの3つをご紹介しました。それぞれのアプリケーションで、使われる技術やプログラミング言語も異なるため、これからアプリケーションエンジニアを目指す方は、どの分野を専門とするのか考えて、スキルを身につけていくことが大切です。
スマートフォンアプリの求人・案件一覧
関連記事 : アプリケーションエンジニアの仕事内容
アプリケーションエンジニアに必要なスキル
アプリケーションエンジニアは、システムの設計からテストまで一貫してシステム開発に関わります。そのため必要とされるスキルはとても多様です。また開発するアプリケーションの種類によって、必要とされるスキルも異なります。
アプリケーション設計のスキル
ここで言うアプリケーション設計とは、アプリケーションの要件定義や基本設計、そしてユーザーインターフェースを決める外部設計など、アプリケーションに関わる設計全般を指します。
アプリケーションの設計、特に外部設計・プログラミングは業務系アプリケーション、Webアプリケーション、スマホアプリケーションでまったく異なるため、システム開発においては幅広い知識を求められます。
すべてのアプリケーションの設計を担当できるレベルになるのはかなり難しく、特定の分野のスペシャリストを目指して設計スキルを習得しても良いでしょう。
プログラミングスキル(Java、C++、PHP、JavaScript、Python、Ruby、Objective-Cなど)
プログラミングはサーバーエンド側で使用されるPHPやJava、C++、Python、Rubyなどと、フロントエンド側で使用されるJavaScriptやHTMLなどの知識のいずれも求められます。
アプリケーションエンジニアには、サーバーエンド側が得意なエンジニアやフロントエンド側に特化したエンジニアなどもいますが、フリーランスとしてはサーバーエンド側、フロントエンド側のどちらにも精通することで、さまざまなアプリケーション設計ができるようになります。
スマホアプリケーションのエンジニアであれば、Objective-CやJava、Swiftのスキルを身につけたいところです。
プログラミングスキルが高いアプリケーションエンジニアは、技術的観点や工数の点からプログラミングに配慮した基本設計を行います。
アプリケーションエンジニアが開発するすべての言語に精通することはとても難しいことですが、できる限り、現状で使われているプログラミング言語の基礎知識だけでも習得しておくことが重要です。
システム開発に使われるプログラミング言語は、人気や流行に左右されることもあるため、1つの言語だけしか扱えない状態は好ましくありません。複数の言語をマスターし、最新の言語を常にキャッチアップするスキルも必要です。
アプリケーションのテスト設計スキル
アプリケーションのテストは品質を大きく左右します。例えば、基幹システムの業務系アプリケーションに潜むバグは、顧客のビジネスに致命的なダメージを与えることもあります。よってテスト設計スキルも非常に重要です。
セキュリティに関するスキル
設計するアプリケーションの中でも、特にWebアプリケーションを開発するにはセキュリティの知識が必須となります。SQLインジェクションやクロスサイトスクリプティングの対策などWebアプリケーションに必要なセキュリティに配慮した設計は必須です。
AWSやAzureなどクラウドのスキル
システムインフラにクラウドを用いるケースが増えています。アプリケーションエンジニアもクラウドインフラ上で動作するアプリケーションの開発を求められることがあるため、AWSやAzureの知識があると、獲得できる案件の幅が広がります。
クラウドを利用する利点はコストを抑えたり、柔軟なスケーラビリティを確保できたりする点にあります。このような技術を身につけておくことはとても大切です。
AWSの求人・案件一覧
Microsoft Azureの求人・案件一覧
関連記事 : プログラマのスキルアップ
アプリケーションエンジニアに役立つ資格
ここではアプリケーションエンジニアとして活躍するために役立つ資格をご紹介します。資格を取得するための勉強によって知識やスキルが身につくだけでなく、試験に合格することでフリーランスとしてのスキルを証明できます。
応用情報処理技術者試験
応用情報処理技術者試験はアルゴリズムやSQLの知識が問われる試験で、アプリケーションエンジニアとして詳細設計やコーディングをするために必要なスキルを証明できます。
参照 : IPA 独立行政法人 情報処理推進機構:制度の概要:応用情報技術者試験
システムアーキテクト試験
システムアーキテクト試験では、定義された要件を満たすアプリケーションのアーキテクチャを設計、開発するスキルが認定されます。
本試験のスキル証明によって、プログラマーのとりまとめや指示、システムエンジニアや他エンジニアと協働した設計作業などができると認められます。
フリーランスとしてアプリケーションエンジニアのスキルがあることを証明するために有用な試験の1つです。
参照 : IPA 独立行政法人 情報処理推進機構:制度の概要:システムアーキテクト試験
情報処理安全確保支援士試験
情報処理安全確保支援士試験はサイバーセキュリティに関する専門的な知識や技能を問われる試験です。そして知識があるだけでなく、知識を使ったシステム設計や開発ができることを証明できます。
また設計・開発ができるだけでなく、すでにあるシステムや開発しようとしているシステムをセキュリティの面から評価し、助言したり、対策を提案したりすることもできるようになります。本試験に合格することで、フリーランスとしての強みを発揮できるようになるでしょう。
参照 : IPA 独立行政法人 情報処理推進機構:制度の概要:情報処理安全確保支援士試験
その他言語系認定資格
プログラミング言語に精通していることを証明するために、得意とする言語の認定試験を受けることも有用です。言語系認定資格には以下のようなものがあります。
・PHP5技術者認定上級/準上級試験
・Oracle認定Java資格(Bronze、Silver、Gold)
・Android技術者認定試験
など
プログラミング言語のスキルを証明することはとても難しいため、試験に合格して客観的にスキル証明を得ることは、フリーランスとしての強みに繋がります。
関連記事 : アプリケーションエンジニアの資格
アプリケーションエンジニアのキャリアパス
アプリケーションエンジニアとして経験を積むことで、さらなるキャリアアップが望めるため、そのキャリアパスを解説します。キャリアアップすることで仕事の幅が広がるだけでなく、より高い単価や年収を望めるようになるでしょう。
プロジェクトリーダー・プロジェクトマネージャー
アプリケーションエンジニアはシステム開発において重要な役割を果たします。そのためアプリケーションエンジニアの経験を積むことで、システム開発全般をとりまとめるプロジェクトリーダーへの道が開かれます。
プロジェクトリーダーは顧客へのヒアリングや折衝、システムの要件定義や基本設計など上流工程を担当したり、人員管理や進捗管理などを行ったりする職種です。アプリケーションエンジニアの知識は上流工程に活かすことができますし、顧客へのヒアリングスキルはアプリケーションエンジニアで身につけられます。
そしてプロジェクトリーダーを経て、プロジェクトマネージャーに進むキャリアパスもあります。特に大規模システムのプロジェクトでは、複数のプロジェクトリーダーをとりまとめて、予算管理や人員管理を行うプロジェクトマネージャーが必須です。
プロジェクトリーダー(PL)の求人・案件一覧
プロジェクトマネージャー(PM)の求人・案件一覧
システム監査技術者
アプリケーションエンジニアの経験を積み、システムのセキュリティや効率性などを評価するシステム監査技術者になることもできます。
システム監査技術者は企業内システムの利用監査や内部監査、内部統制などを行う職種のため、システムに精通しているアプリケーションエンジニアのキャリアパスに含まれます。
ITコンサルタント
アプリケーション開発の経験を活かして、経営に寄与する提案や方策を提言するITコンサルタントへの道も開かれています。
ITコンサルタントの求人・案件一覧
関連記事 : ITエンジニアのキャリアパス・キャリアプラン
フリーランスのアプリケーションエンジニアとして働くには
フリーランスのアプリケーションエンジニアになるための道筋を解説します。
プログラマーとして経験を積む
まずはプログラマーとしての経験を積むところから始めます。前述の通り、アプリケーションエンジニアが開発するのは、「業務系アプリケーション」「Webアプリケーション」「スマホアプリケーション」です。
これら3つのアプリケーションはシステムの提供形態がまったく異なるため、どのアプリケーションを手がけるかによって、アプリケーションエンジニアに向けたキャリアパスが変わることもあります。
例えばスマホアプリケーションやWebアプリケーションを開発するアプリケーションエンジニアを目指すのであれば、Javaなどよく使われるプログラミング言語のプログラマーになることが考えられます。
プログラマー(PG)の求人・案件一覧
プログラマーチームのリーダーを務める
プログラマーとしての経験を積みながら、プログラマーチームのリーダー職を目指します。プログラマーチームのリーダーは、他のアプリケーションエンジニアやシステムエンジニアとともに、設計書をコーディングレベルに落とし込む作業に従事します。よってアプリケーションエンジニアに必要な知識やスキルを、業務を通じて身につけられます。
インフラ設計に関わる
アプリケーションはシステムのインフラ上で動作します。インフラはインフラエンジニアが設計・構築しますが、インフラのセキュリティや構成などの設計・設定を知ることはアプリケーションエンジニアにも有用なことです。
特にWebアプリケーションのアプリケーションエンジニアを目指すのであれば、AWSやAzureなどクラウドインフラ(IaaS)の知識があることで、クラウドの特長を活かしたアプリケーション設計ができるようになるでしょう。
システム設計に携わる
アプリケーションエンジニアの主要な業務であるシステム設計に携わることで、アプリケーションエンジニアの案件を獲得できるようになるでしょう。アプリケーションエンジニアは設計だけでなく、セキュリティやユーザーインターフェースなど、アプリケーションに必要な知識を多く求められます。よって多くのシステム設計に携わることが大切です。
関連記事 : フリーランス1年目が「早めにやっておくべきだった」と後悔した22のチェックリスト
フリーランスアプリケーションエンジニアの年収(編集部追記)
ここではアプリケーションエンジニアの年収の参考として、レバテックフリーランスでの公開案件を基にした月単価・年収例をご紹介します。
フリーランスアプリケーションエンジニアの平均月単価 : 75万円(12ヶ月分を年収とすると900万円)
最高単価 : 115万円
最低単価 : 45万円
※下記ページから引用(2020年1月時点)
アプリケーションエンジニアの求人・案件一覧
※上記の金額はお支払いを約束するものではございません。
なお、会社員とフリーランスとでは、社会保険料や税金の計算が異なる、会社員は月給の他に賞与もある、など収入の計算の仕方に違いがあるため、両者の金額を単純比較できないという点はご注意ください。
アプリケーションエンジニアの求人・案件例(編集部追記)
ここでは、実際にあったレバテックフリーランスでの案件を例にして、アプリケーションエンジニアの作業内容や案件に必要なスキルなどを見ていきましょう。アプリケーションエンジニアの求人・案件に興味がある方は参考にしてみてください。
【JavaScript】スマートアプリケーション開発の求人・案件
■単価
〜600,000円/月※消費税を含めた参画者にお渡しする金額です。
■職種・ポジション
アプリケーションエンジニア、SE (システムエンジニア)、プログラマー(PG)
■職務内容
詳細設計~実装
■求めるスキル
JavaScript/Node.js
※Java等多言語の経験しかなくても短期に習得できれば検討可
■最寄り駅
名古屋(愛知県)
【Swift/Kotlin】時間取引サービスアプリ開発の求人・案件
■単価
〜950,000円/月※消費税を含めた参画者にお渡しする金額です。
■職種・ポジション
アプリケーションエンジニア
■職務内容
・時間取引サービスシステムの開発としてiOSアプリ開発をご担当いただきます。
・Androidアプリ開発をご担当いただく場合もございます。
■求めるスキル
・Swiftの開発経験
・iOSアプリ開発経験1年以上
・スクラム形式でのチーム開発経験
・GitHubの使用経験
【歓迎スキル】
・Kotlinを用いた開発経験
・Androidアプリ開発経験1年以上
■最寄り駅
六本木一丁目(東京都)
上記の内容はアプリケーションエンジニアのフリーランス案件の一例であり、必須スキル・歓迎スキルや単価などは、案件とご自身のスキル・経験によって大きく変わってきます。
アプリケーションエンジニアの案件をもっとみる
最後に
簡単4ステップ!スキルや経験年数をポチポチ選ぶだけで、あなたのフリーランスとしての単価相場を算出します!
※相場算出に個人情報の取得はおこないません。