iOSアカデミアブログ

iOSエンジニアの業務内容、市場価値高めるためにやるべきことを解説

このページではプログラミング経験が浅い、もしくはまったくない方に向けて、iOSエンジニアの業務内容や、市場価値を高めるためにやるべきことについて解説します。エンジニアという職業は市場の変化が激しいので、自分の市場価値を高めるという考え方は持っておく必要があります。

スキルを身に付けるにしても何のスキルを身に付ければ自分の市場価値が上がるのかという考え方は非常に重要なので、これからプログラミングを始める方も、ぜひ市場価値という観点も踏まえてどのスキルを身に付けるべきか考えてください。

iOSエンジニアの業務内容

iOSエンジニアの仕事は、iOSアプリケーションの開発です。iOSアプリケーションはiPhoneやiPadに使われているiOS上で動くアプリケーションのことです。ちなみにiPhone以外のスマートフォンの多くはAndroid OSです。

そのためiPhoneとAndroidの両方のアプリケーションを開発する場合、iOS用とAndroid OS用に別々のアプリケーションを用意することになります。iOSエンジニアは、この中でもiOS用のアプリケーションの開発を専門にしているエンジニアです。

またiOSエンジニアに限った話ではありませんが、アプリケーションの開発には工程があります。一般的に以下のようになっています。

要件定義→基本設計→詳細設計→プログラミング→テスト

このような流れで開発が進められます。どの部分を担当するかによって役職名があり、要件定義や基本設計を行う人をプロジェクトマネージャー、詳細設計やプログラミングを行う人をシステムエンジニア、プログラマー、テストを行う人をテスターと呼びます。

詳しくはプロジェクトによって呼び方が異なりますが、iOSエンジニアと言ってもプログラミング自体はやっていない人もいます。とはいえプログラミングができた方が良いのは間違いないので、iOSエンジニアとして仕事をするためにはプログラミングスキルを身に付けることがまずはスタートラインです。

iOSエンジニアの使用言語

iOSエンジニアになるためにはプログラミングスキルが必要ということでした。では具体的にどの言語を選べば良いのでしょう。それは以下の言語です。

Swift
Objective-C
C#(ゲーム)

iOSの一般的なアプリケーションはほとんどは、SwiftかObjective-Cの言語のどちらかをメインに開発されています。ここ数年のアプリケーションはほぼSwift、7,8年前のアプリケーションならObjective-Cの可能性もある、といったイメージです。

これからの新規開発はほぼSwiftがメインなので、iOS開発で最初に身に付けるべき言語はSwiftです。その上でObjective-Cも扱えれば、たとえば長年稼働しているObjective-CのアプリケーションをSwiftに書き変えるような仕事もできます。

これはプラスアルファでできれば良いことなので、まずはSwift一択で、Swiftで一通りアプリケーションを作れるようになることが重要です。ただしこの話には例外があって、それは作りたいアプリケーションがゲームである場合です。

ゲームの場合はiOSでもAndroidでも特殊な環境で開発を行います。具多的には、Unityというゲーム開発プラットフォームを使用します。Unityを使えば簡単な実装はUnityの機能を使って、UI操作で実現できます。

イメージとしては、たとえばマウスで図形を引っ張ってくる、数字を入力すれば座標が決定される、などです。ただしUnityを使えばプログラミングが完全に不要になるというわけではなく、Unity上でプログラミングを行う必要があります。

このUnity上のプログラミングで使われるのがC#という言語です。逆にゲーム開発では、SwiftやObjective-Cはほぼ使用しません。少なくともUnity上では使えないので、ゲーム開発エンジンを使わずにゼロから自分で実装する場合のみSwiftやObjective-Cを使用します。実際のゲーム開発現場では、ゼロから実装するケースは少ないでしょう。

まとめると、ゲーム以外のiOSアプリケーション開発ではSwift、ゲーム開発がしたいならUnity上でのC#のスキルを身に付けると良いです。

iOSエンジニアの市場価値を高めるスキル

iOSエンジニアに必要なスキルについてさらに深堀りしていきます。iOSエンジニアとして働くためにはiOS開発のためのプログラミングスキルとポートフォリオとしてのアプリケーションが重要ですが、さらにキャリアを積むならより重要なスキルも出てきます。

iOSアプリのプログラミングスキル

まず第一に、iOSアプリのプログラミングスキルが重要です。ゲーム以外のアプリケーション開発ならSwift、ゲーム開発ならUnityを使ってのC#です。今の段階では、今後どのようなアプリを作りたいか、どのように働きたいかはまだ決まっていない方も多いかもしれません。

しかしいずれにしてもプログラミングスキルは必要になるので、ひとまずはプログラミング学習を始める、プログラミング学習をしながら今後のことを考える、といった形でも良いかと思います。

やってみないことには自分にプログラミング適性があるか、実際に仕事としてやっていけるのかということはわかりません。またプログラミングは向き不向きが大きく、人によっては拒絶反応が出るなんてこともあります。

せっかく最初にいろいろ調べても合わない可能性があるので、まずはプログラミングの世界に飛び込んでみるのがおすすめです。独学やいきなり就職しても良いのですが、特に未経験で就職は現実的に考えると難しいです。

独学できれば良いですが、何から始めれば良いかわからない、モチベーションが続かない、といった問題があるでしょう。何よりプログラミングをしていると必ずバグが発生しますが、このバグの改修が最初のうちは難しいです。

バグの原因がわからず進捗が止まってしまい、そのうちモチベーションがなくなってやめてしまう、なんて話も決して少なくはありません。そんなとき、プログラミングスクールなら講師が手助けしてくれます。

今の時代はオンラインプログラミングスクールが充実しているので、自宅にいながらでも簡単にプログラミング学習のサポートを受けられます。プログラミングを始めるなら、オンラインプログラミングスクールを利用するのがおすすめです。

iOS開発のツール利用スキル

iOS開発では以下のツールを使いこなすスキルが重要です。

Macのパソコン
Xcode(総合開発環境)
Swiftのライブラリ

まずiOSの開発にはMacのパソコンが不可欠です。Windowsでの開発も不可能ではないのですが、特殊な開発環境構築が必要になり、初心者にはおすすめできません。またどのプログラミングスクールでも推奨されない、またはWindows不可となっているでしょう。

そのためMacのパソコンを用意し、使いこなす必要があります。とはいえOSのスキルとしては最低限のショートカットキーが使えるくらいで問題ありません。MacにはターミナルというWindowsでいうコマンドプロンプトがありますが、こういったエンジニアが使いそうなツールは後々使えるようになれば問題ないです。

まずはMacのパソコンを用意し、最低限の操作ができればOKです。

次にiOSに限ったことではありませんが、アプリケーション開発では総合開発環境というものを使用するのが大半です。総合開発環境とは、プログラムを書くエディタ、開発ファイルの管理、コンパイル、ビルド、といった作業ができるツールです。

総合開発環境があれば、プログラムを書くだけでなく一通りのことができます。iOSの総合開発環境はXcodeというツールで、Apple社が開発しているツールです。このツールを使いこなすことで生産性が大きく変わってくるので、Xcodeを使いこなすスキルは重要です。

ライブラリはSwiftに限った話ではなく、ほとんどの言語に用意されているものです。ライブラリとはその言語でアプリ開発を行うのに、便利な機能があらかじめ用意されたものになります。

たとえば現在時刻を表示する機能が欲しいなと思ったときに、これをゼロから実装するとなると厳しいです。ほとんどのエンジニアはそのようなことはやったことがないので、おそらくどうすれば良いかわからず手が止まります。

ではどうしているのかというと、ライブラリの機能で呼び出しています。ライブラリにはよく使われる機能があらかじめ用意されていて、これを呼び出すだけで使えるようになっているのです。

ライブラリの機能も誰かがプログラムを書いて作っているのですが、アプリ開発を行うのにすべてを知る必要はなく、また現実的に考えて不可能です。そのため、ライブラリの機能として使えるものはなるべく使うのが基本的なやり方になります。

ライブラリを使いこなし、ライブラリの機能で完結するプログラムはなるべく自分では書かない、という考え方が重要です。そのためライブラリにどのような機能があるのかを知り、プログラミング中に使いこなしていくスキルが必須になります。

英語を読むスキル

英語を読むスキルは必須ではありませんが、読めた方がより良いです。プログラミングに関する最新情報は英語で発信されることが多く、それが日本語で普及するにはタイムラグがあります。

特にiOSアプリ開発は新しい分野で、常に新しい技術が更新されているジャンルです。古い言語、古いシステムならそこまで新しい情報のキャッチアップは重要ではありませんが、iOSアプリ開発では特に重要なスキルと言えます。

またバグが発生した場合などには、エンジニアのコミュニティで質問するようなことがあるかもしれません。プログラミングスクールを利用している間は講師に質問すれば良いですが、その後仕事で開発を行うとなると、自分で解決しなければなりません。

しかし自分で考えてもわからないことが出てくるので、そんなときにネットで問題を共有すれば解決策を教えてくれる人が出てくるかもしれません。日本語のコミュニティもありますが、英語のコミュニティの方がエンジニアの数が圧倒的に多いです。

英語のコミュニティで共有した方が解決策が早く見つかる可能性が高いので、英語で文章を書けるとより便利です。

iOSエンジニアの単価相場

iOSエンジニアの単価はプロジェクトによって異なります。また会社員かフリーランスかによっても異なります。会社員の給料は概ね想像がつくかと思うので、ここではフリーランスエンジニアの単価をご紹介します。

月の報酬だと、30万~120万円程度、平均だと70~80万円程度が相場と考えられます。同じフリーランスエンジニアでもフリーランスエンジニア用の仲介サイトを利用するか直接仕事を受けるかなどで変わってきますが、仲介サイトを利用すれば70~80万円程度の案件が多いです。

参考URL:https://freelance.levtech.jp/project/os-4/

また経験年数によっても単価は変わってくるので、スキルが低いうちは単価も低くなります。しかし仕事を継続してスキルアップしていけば単価は上がっていくので、上記の平均程度の単価には到達する可能性が高いです。

そこからさらに単価を上げるためには独自でアプリ開発するなど受託以外の取り組みも必要ですが、受託して開発経験を積むだけでも一般的な会社員よりは高収入になるはずです。

まとめ

iOSエンジニアの業務内容はiOSアプリケーションの開発です。開発と言っても上流工程から下流工程まであって担当は人それぞれですが、まずはプログラミングスキルを身に付けてプログラミング業務を担当するのがおすすめです。

プログラミングスキルがないとずっとテスターを続けることになるでしょう。上流工程を担当するにしてもある程度のプログラミングスキルは必要です。iOSエンジニアはスキルを身に付けることで高い報酬が期待できる職種なので、まずはオンラインプログラミングスクールで確実なスキルを身に付けるのがおすすめです。

監修者

山田卓init株式会社代表取締役
エンジニア経験0の状態から1年間独学で勉強して独立
さまざまなiOSアプリの開発に携わる
2021年6月にiOS専門のオンラインプログラミングスクール「iOSアカデミア」を開校。iOSエンジニアを目指す人のサポートにも力を入れています
モバイルバージョンを終了