アプリケーションエンジニアとは?仕事内容、必要なスキル、働き方、やりがいまで徹底解剖!
みんなが使っているスマートフォンやパソコンの中では、さまざまなアプリケーション(アプリ)が動いている。
それらのアプリを作っているのがアプリケーションエンジニア。アプリケーションエンジニアが作っているアプリには、どんな種類があるのか。仕事内容、必要な言語やスキルについて調べてみた。
さらに、実際に『スタディサプリ』のアプリ開発・運用に携わっているアプリケーションエンジニアに、働き方、やりがいについても聞いてみたよ。
アプリケーションエンジニアとは?
アプリケーションの種類は?
アプリケーションエンジニアは、さまざまな種類のアプリケーション(アプリ)のシステム設計からプログラミング、動作テスト、運用まで、アプリ開発に幅広く携わる仕事です。アプリケーションエンジニアが開発するアプリの種類は大きく分けて2つ。
①Webアプリケーション
②ネイティブアプリケーション
★アプリケーションの種類★
●Webアプリケーション
Google Chrome・Safari・Internet Explorer・Microsoft Edgeなどのブラウザと呼ばれるソフトを経由してホームページにつなぐことで、インターネット上で動画を見たり、買い物をしたりすることができるアプリケーション。
よく使われているWebアプリケーションとしては、YouTubeやAmazon、Twitter、Gmailなど。
●ネイティブアプリケーション
スマートフォンやパソコンに直接インストールして使うアプリケーション。
スマートフォンのカメラやGPSなどの機能と連携しやすく、機器の性能をフルに活かせるので、使う人にとってより便利な機能を提供しやすくなります。
その他に、スマートフォン専用のアプリケーション、ゲーム用アプリ、家電や自動車など機械に組み込んで使うアプリ、企業の社内用システムに組み込んで使う業務用アプリもあります。
いずれのアプリも、使用しているプログラミング言語が違うだけで、アプリケーションエンジニアの仕事の流れに大きな差はありません。
アプリケーションエンジニアの仕事内容は?
アプリケーションエンジニアの仕事内容は、アプリケーションのシステム設計からプログラミング、動作テスト、運用、メンテナンスなど、幅広くあります。
例えば、自社で商品を売り出すためのWebサイトを作る場合、アプリケーションエンジニアだけでなく、ディレクターやデザイナーと一緒に企画会議から始めます。
まず解決したい課題を挙げて、その問題を解決するにはどうすればいいのかを考えます。
例えば、リアルな店舗販売だけだと若い人が買ってくれないという現状があったら、ECサイト(ネットショッピングのWebサイト)を作って、インターネットで販売できるようにしようと考えるでしょう。
その後に、どんなECサイトを作りたいのかを話し合って、ページの構成、デザイン、どんな機能を付けるかを決めます。
最初にディレクターがワイヤーフレームと呼ばれる要素だけを盛り込んだシンプルな設計図を作り、そこへ装飾や細かなボタンなどのデザインをデザイナーが制作します。その後にアプリケーションエンジニアがアプリとしての動作機能を組み込んでいきます。
ECサイトの場合なら、商品画面、ユーザー登録画面、商品購入画面、商品購入完了画面など、ユーザーが商品を購入するためのあらゆる機能を一つ一つ動くように作っていくのがアプリケーションエンジニアの仕事です。
デザイナーが文字の書体や大きさ、色などのデザインを考えるので、その設計書を基に、エンジニアが実際にWebページの画面を表示できるようにして、機能を付けていきます。
Webサイトとして使える状態に仕上げたら、動作テストを行い、問題がなければリリース。
さらにリリースした後も、ユーザーの要望に応じて機能を追加したり、アプリにバグ(プログラムの誤りや欠陥)が起こらないか、定期的にメンテナンスを行ったりして、サービスを継続していきます。
アプリを作ったら終わりではなく、表示スピードを上げたり、ユーザーがより使いやすいように、もっと改善できないかを常に考え続け、長くアプリ開発とかかわっていく、やりがいの大きい仕事です。
アプリケーションエンジニアになるには?資格は必要?
アプリケーションエンジニアになるには、特に資格は必要なく、未経験でもシステム開発会社などに就職することが可能です。
研修制度のある会社では、入社後に研修などを通してアプリケーションエンジニアとしての専門知識やスキルを身につけていくことができます。
就職活動を有利にするためには、大学の理工学部やIT系の専門学校などで、プログラミングやインターネットのしくみ、コンピュータサイエンスなどを学んでおきましょう。
大学で文系の学部に進学しても、アプリケーションエンジニアを目指すことは可能ですが、選択科目でプログラミング系の授業があれば勉強しておくと役立ちます。
Wスクールで、アプリケーションエンジニア養成スクールに通ったり、オンライン講座などで勉強したりして、学生のうちから実際に簡単なアプリケーションを作ってみてもいいでしょう。
アプリケーションエンジニアは資格がなくてもできる仕事ですが、資格を取得していれば、就職活動が有利になったり、入社後に資格手当をもらえたりすることもあります。
取得を目指しておきたい資格としては、
●ITパスポート試験(国家資格)
●基本情報技術者試験(国家資格)
●C言語プログラミング能力認定試験(民間資格)
●Java【TM】プログラミング能力認定試験(民間資格)
●アプリケーション技術者認定試験(民間資格)
などがあります。
ITパスポート試験は、IT全般に関する基礎的な知識が証明できる国家試験なので、学生のうちに取得しておくといいでしょう。
アプリケーションエンジニアに必須のスキル・プログラミング言語は?
アプリケーションエンジニアの仕事は、インターネットのしくみを理解し、アプリ開発に必須のプログラミング言語を使いこなせるスキルが求められます。
Webアプリケーション、ネイティブアプリケーションなど、開発するアプリによって使用する言語が異なります。
まず勉強しておきたいベーシックな言語としては、
●HTML ●CSS
どちらも基本中の基本となる言語。
アプリケーションエンジニアになるには学んでおきたい言語ですが、アプリの見た目を作って表示するための言語になり、この言語だけでさまざまな機能を作ることはできません。
●Java(ジャバ) ●PHP
アプリに機能を付けるための代表的なプログラミング言語。
Webアプリケーション、ネイティブアプリケーションなど、さまざまなアプリの機能を作ることができます。
●スマホアプリ作成に使用する言語
スマートフォンの場合、OSによって使用するプログラミング言語が異なり、iOSはSwift(スウィフト)、AndroidはJavaまたはKotlin(コトリン)。
Dart(ダート)という言語を使えば、1つの言語でiOSとAndroidの両方に使えるスマホアプリを作ることもできますが、より細かい機能を付けるには、それぞれのOS専用の言語のほうがいいでしょう。
アプリ開発にはどんなプログラミング言語を学べばいい?
アプリケーションエンジニアの仕事に必須のプログラミング言語にはさまざまな種類があり、それぞれ得意分野が異なります。
Webサイトの場合、1種類の言語だけで機能を作成するシンプルなアプリもありますが、複数の言語を組み合わせて作ることが一般的です。
例えば、ページ全体はJavaやPHPで作成していても、顧客データをAIで解析することができるPython(パイソン)という言語にデータを処理させて、ユーザーの購入履歴やWebサイトの閲覧履歴をAIで分析し、興味がありそうな商品広告をJavaやPHPで作ったWebサイトに表示する、といったこともできます。
1つのWebサイト、1つのサービスに対して、いろいろな言語が裏側で動いていることもあるのです。
アプリの見た目はHTMLとCSSで作るのが基本ですが、最近は、JavaScript(ジャバスクリプト)で見た目を組み上げ、サイトの機能はJavaやPHP、Ruby(ルビー)などで作るという分業がトレンドになりつつあります。
今後、JavaScriptを学んで見た目部分を作り上げる専門のエンジニアになったり、JavaやPHP、Rubyなどを学んで機能作り専門のエンジニアになったりする、といった分業制が主流になってくるかもしれません。
スマホアプリでも、Swiftだけで作ることもありますが、分業制で、見た目部分はSwiftやKotlin、JavaScriptで作り、機能をJavaやPHP、Rubyなどで作っていることも増えています。
まず自分が作ろうとしているアプリに適した言語の基礎文法を学び、それを使ってアプリを組み上げ、クライアントの要望に合わせて機能を追加し、カスタマイズしていくのです。
言われたとおりに作るだけでなく、作りたいアプリの条件に合わせて、どうすればこの条件が実現できるのかを創意工夫することが求められます。
新しい言語がどんどん増え続けており、プログラミングをサポートするサービスも増えていくので、それぞれの言語の特性を理解して的確に使いこなせるよう、日々、勉強を続けることが大事です。
どんな人がアプリケーションエンジニアに向いている?
アプリケーションエンジニアに向いているのは、「かもしれない」という予測ができる人。
プログラムは書かれたとおりにしか動かないので、バグが起きた場合は、プログラミングをしたエンジニアの想定もれや考慮もれが原因です。
それを防ぐために、「もしかしたら、こういうことが起こるかもしれない」という危機察知をして、いろいろなことを網羅して考えられる、石橋を叩いてから渡るタイプの人が向いています。
解決したい問題に対する手段としてアプリを開発するので、問題の解決策をあれこれ考えたり、パズルを解いたりするのが好きな人も向いています。
ひとりで黙々とパソコンに向かっているというイメージがありますが、企画の段階ではクライアントやディレクター、デザイナーと話し合い、チームを組んでアプリ開発を行うことも多く、人とコミュニケーションをとりながら進めていく仕事なので、コミュニケーション能力も求められます。
システム開発会社に就職するほか、自社内でアプリを作って運用する企業も増えているので、そうした自社アプリをもつ一般企業にアプリケーションエンジニアとして就職する道もあります。
アプリケーションエンジニアと同じような職種としてシステムエンジニアがありますが、システムエンジニアは、どういう設計にするか、どういう構成でアプリを作っていくか、設計図を書く段階から携わることが多い仕事です。
まずは、自分がどんなアプリを作りたいのかを考え、自分のやりたいことに必要な言語を勉強することが、アプリケーションエンジニアになる第一歩。
まず自分が得意な言語を1つ作って究めていくのもいいし、どんどん新しい言語を学んでスキルを増やしていくのもいいし、もちろんキャリアの途中で違う言語に変更するのもアリ。
自分がやりたいことに必須の言語を調べてみましょう。
取材協力/TECH CAMP(テックキャンプ)
テックスタディ
★★★★★★
アプリケーションエンジニアについてもっと知りたい人はこちら
アプリケーションエンジニアを目指せる大学・短期大学(短大)を探す
アプリケーションエンジニアを目指せる専門学校
★★★★★★
アプリケーションエンジニアにインタビュー!
スタディサプリの中学や高校の先生向けのサービスアプリを開発・運用している金井祐樹さんに話を聞いてきたよ。
高校でテストの結果を見たり、先生とチャットしたりするときに、スタディサプリのアプリを使っている人もいるのでは?
アプリケーションエンジニアになろうと思ったきっかけは?
「大学では文系の学部でしたが、大学3年次に就職活動を始めるに当たって、自分は将来何をやりたいのかと考え、ものづくりが好きだったので、プログラミングの勉強をしてみることにしました。
ちょうど当時住んでいたシェアハウスにアプリケーションエンジニアの仕事をしている人がいたので、その人に教えてもらいつつ、オンラインの学習サイトで勉強。
大学時代にベンチャー企業でプログラミングの仕事をさせてもらって経験を積み、新卒で自社のサービスを運営する会社のシステム開発を行う部署に就職しました」(金井さん)
アプリケーションエンジニアの仕事内容は?
「中学校や高校の先生向けに提供しているスタディサプリのアプリケーションの開発と運用に携わっています。
テストなどの成績を管理したり、先生と生徒がチャットでコミュニケーションできたりするアプリです。使用している言語は、主にRubyとTypeScript(タイプスプリクト)。
基本的にリモートワークになり、自宅で仕事をしています。
プロダクトマネジャー1人、エンジニア4人、デザイナー1人の計6人チームで、1日2~3時間はオンラインミーティングをして、それ以外はパソコンに向かって作業。
毎日11時~20時くらいまで、昼食と夕食の休みをとりながら、自分のペースで仕事をすることができます。
なにかトラブルが発生すると残業になることもありますが、残業時間は1カ月平均20時間程度。定例ミーティングで、前の週に決めたことができたかどうかを振り返り、1週間単位で次の業務目標を決めます。
簡易的なWeb会議のツールがあるので、困ったときはいつでもチームのメンバーに連絡して、急きょ、ミーティングをしてもらうことも。
リモートワークだけど、メンバーとオンラインでつながっているから、自分ひとりで仕事をしているわけではない心強さがあります。
学校の先生からプロダクトマネジャーに届いた要望に応じて、機能を追加していったり、改善したり、自分から提案することもあります」(金井さん)
アプリケーションエンジニアの仕事のやりがいは?
「ユーザーに喜んでもらえたり、ユーザーの人生が少しでも向上するお手伝いができたりするアプリを届けられることが、アプリケーションエンジニアの仕事のやりがいにつながると思います。
自分の作ったアプリが動くことで、ユーザーは何らかのサービスを受けることができます。
スタディサプリの場合は、高校生の成績がアップしたり、先生が指導しやすくなったり、直接ユーザーの顔を見ることはできませんが、日本全国のたくさんの先生や生徒たちのためになっていると思うと、モチベーションにつながります。
また、難しい課題を解決してアプリを作ったり、改善できたりしたときは達成感があります」(金井さん)
どんな人がアプリケーションエンジニアに向いている?
「技術が好きな人、ものづくりが好きな人、コンピュータやネットワークのしくみが気になる人。
このアプリはどうやって動いているんだろう、なぜインターネットにつながるんだろう、といった探求心をもち、プログラムのしくみを
おもしろく感じられる人、もっと詳しく知りたいと思える人は、アプリケーションエンジニアに向いていると思います」(金井さん)
アプリケーションエンジニアを目指す高校生へのメッセージ
「アプリケーションを開発することで解決できる分野は、まだまだ幅広くあります。プログラミングに興味があれば、勉強してみるといいと思います。
まずは、スマートフォンのアプリがどう動いているのか考えてみましょう。
オンライン教材や市販のテキストを使って独学でも作ることができるシンプルなアプリもあるので、実際に自分で作ってみるといいですね。
まわりにアプリを作ったことがある人がいたら、ぜひ話を聞いてみてください。アプリケーションエンジニアになるには、IT系の大学や専門学校に進学するのが一般的ですが、自分のように文系の学部出身でも大丈夫。
例えば大学では経済や金融の勉強をして、一般企業に就職し、システム開発部門への配属を目指すという道もあります。プログラミング言語を使って、コードを書く勉強から始めてみてはいかがでしょうか」(金井さん)
まずは興味を持つことが大事!
アプリケーションエンジニアになるためには、まずプログラミング言語の勉強をすることからスタート。
大学や専門学校でプログラミングを学んでもいいし、ITスクールに通ったり、オンライン講座を受講したり、テキストを読んで独学で勉強することもできます。
使う言語によって作ることのできるアプリが異なるので、どんな言語を学べばいいか、調べてみよう。
取材協力/TECH CAMP(テックキャンプ)テックスタディ
/金井祐樹
取材・文/やまだみちこ 撮影/沼尻 淳子 構成/黒川 安弥(本誌)
★★★★★★
アプリケーションエンジニアについてもっと知りたい人はこちら
アプリケーションエンジニアを目指せる大学・短期大学(短大)を探す
アプリケーションエンジニアを目指せる専門学校
★★★★★★
関連記事
ゲームプログラマーの仕事とは?『プロジェクトセカイ』の山口さんにインタビュー
ゲームクリエイターとは?『バンドリ! ガールズバンドパーティ!』湯田さんにインタビュー
VR(バーチャル・リアリティ)に関わる仕事とは?ゲーム、エンタメ、医療etc.分野別に紹介
関連記事リンク(外部サイト)
ゲームプログラマーの仕事とは?『プロジェクトセカイ』の山口さんにインタビュー
専門学校の種類一覧!失敗しない専門学校選びのヒントにしよう!
需要急増中!データサイエンティストとは?誕生の背景、仕事内容、スキル、年収などを詳しく解説
公認心理師とは?どんな資格?仕事内容や臨床心理士との違いを解説!
看護職の種類がわかる!看護師・保健師・助産師などに必要な資格や仕事内容まで詳しく説明!
進学や高校生に関するニュースやトピックスを配信する記事サイトです。入試、勉強などについてのお役立ち情報や、進路に関する最新情報、また高校生ならではのトレンドを取材した記事をアップしています。
ウェブサイト: http://shingakunet.com/journal/
TwitterID: studysapuri_shi
- ガジェット通信編集部への情報提供はこちら
- 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。