フリーランスのiOSエンジニアが案件を獲得するために学んでおきたい技術は?

iPhoneやiPad向けなどのアプリを作るiOSエンジニア。幅広い業種の案件がある分、求められる人材像もさまざまです。iOS開発に必要なことや言語の特徴も含め、案件獲得のために知っておきたいことを簡単にご紹介します。

iOS開発と使用言語の概要

・iOS開発とは

iOSはApple社が提供するiPhoneやiPadなどの製品に搭載されているOSです。iOS開発では、Apple製品向けのアプリケーションの設計や開発を行います。また既存アプリに対し、機能追加やiOSのアップデートに伴う改修などの保守運用を行う業務もあります

・言語はSwift、Objective-C

iOSの開発言語は基本的にObjective-CやSwiftです。現在はSwiftが主流で、一部でObjective-Cが使われています。

Objective-C はSwiftが登場する前から存在する言語で、MacOSやiOSの開発案件で使われてきました。2014年にSwiftが登場してからはSwiftが主流となり、Objective-Cの案件は少なくなっています。ただしObjective-Cでアプリを開発した経験も、iOS開発経験年数に含められます。

SwiftはiOSをはじめ、Mac、Apple TV、Apple WatchといったApple製品向けのアプリケーションを開発するためのオブジェクト指向言語です。処理速度が従来のプログラミング言語より高速であることがSwiftの大きな特徴となります。オープンソースであり、バージョンは2020年9月にリリースされたSwift 5.3が最新版です(※2020年10月31日時点)。

またObjective-Cとの互換性も有しています。歴史あるObjective-Cには独自の文法があるため初心者にとっては理解が難しい面もありますが、Swiftは“安全”をコンセプトにしている通り、不具合を起こしにくいようにコードを記述できる仕様になっているのです。

iOS開発案件の傾向

iOS案件は大きく、以下のような傾向があります。

・業界問わず幅広く募集がある

iOS開発の案件はBtoBやBtoCに関わらず幅広く募集があり、業界も問いません。家庭や仕事などさまざまな場面で使うアプリが開発されており、例としてはチャットツールやSNS、オンライン学習アプリ、ゲーム、漫画や動画配信のアプリが挙げられます。

・未経験者、技術顧問の募集もあり

案件の多くは、Swiftでの開発経験年数を2,3年以上求めています。経験年数に応じて、要件定義からテストまで幅広い工程の業務に関わることが可能です。

一方で未経験~実務経験1年程度で、応募者の意欲を重視される案件もあります。この場合はコーディング~テストの工程を経験しながら、段階的に上流工程に携わっていくことになるでしょう。

またエンジニアではなく、開発チームメンバーのスキルアップや開発効率向上を目的とした技術顧問(アドバイザー)の案件も少なくありません。技術顧問には技術指導のみならず、チーム運用に関わるマネージメントの力も求められることがあります。

・リモート可能な案件もある

勤務場所の条件は客先常駐、開発会社内に加え、完全リモート可能、業務委託での取り決めといったように多彩です。特にフリーランスや副業を考えている人にとっては条件に合った案件を選べます。

リモートでの対応が可能な案件は、エンジニアでも技術顧問でもあります。ただし注意したいのは、スマートフォンアプリ開発はアジャイル開発が主流である点です。アジャイル開発は要件定義が完全に定まっていないプロジェクトに採用される場合が多い開発手法です。仕様やプログラムの内容の共有など、リモートとはいっても密なコミュニケーションが必要となります。iOS開発の場合はアジャイル開発のなかでも特に、チームのコミュニケーションが重要となる「スクラム開発」を取り入れている案件もあります。

iOS案件を獲得するために必要な能力

iOS開発においては案件によって求められることはさまざまであるものの、たとえば下記のようなことが求められます。

・各開発環境の経験

Swiftの場合は言語だけでなく、Appleの統合開発環境であるXcodeの経験を「求めるスキル」とする案件があります。

ゲームアプリ開発においてはゲームエンジンであるUnityが使われることがあります。Unityはコンシューマ機のゲームソフト開発でも使われるツールで、使用するプログラミング言語はC#です。ゲーム開発案件が希望ならUnityとともにC#に精通していると、アプリでのゲーム開発だけでなく案件の幅が広がります。

またReact NativeやVue.jsといったモバイルアプリケーションフレームワークの経験を求めている案件もあります。これらの場合はJavaScriptの知識が必要です。

・サーバサイドの技術

案件によっては、サーバサイドの開発も担う場合があります。Web技術(HTML、Web APIなど)についての知識、PHPやRubyのWebアプリケーションフレームワークを使った開発経験があると選べる案件の数が増えるとともに、報酬も期待できるでしょう。保守や運用の案件などでは、クラウドも含めたインフラの知識が必要な場合もあります。

・チームでの開発経験

1人ですべての開発工程が完結することはあまりなく、たいていの場合4,5人程度~大人数のチームに所属することになります。したがって出社・在宅問わず情報共有やコミュニケーションを通してチームで動く意識が必要です。

・UI/UXデザイナー(エンジニア)とのやりとりも

スマートフォンアプリではデザインや使い勝手が重要となるため、開発においてUI/UXの調整が行われます。UI/UXデザイナー(エンジニア)とのやりとりを行う場合に備え、ある程度デザインの知識もあると良いでしょう。

・英語能力もあれば望ましい

SwiftやXcode、Unity、公式の学習コンテンツであるA Swift Tourなど、ドキュメントの原本は英語です。日本語に翻訳したドキュメントもありますが、時期によっては最新バージョンへの対応が追い付いていない場合があります。したがって英語の読解力があると、言語や開発環境の仕様、アップデートの最新情報を素早くキャッチできます。

・Apple製品ならではの周辺情報

iOSの開発はApple製品向けに特化することとなりますが、スマートフォンだけではなくApple WatchやPC用のアプリも開発可能で、将来的に複数のデバイスに関わる可能性があります。他、Appleアプリの申請方法やiOSの仕様といったように、iOS開発ならではの周辺情報もキャッチアップできるとなお良いでしょう。

・Androidの経験が求められることも

案件によってはiOSだけでなく、Androidの開発経験が“推奨スキル”となっていることもあります。AppStoreでiPhoneアプリをリリースしてからAndroidアプリを開発するケースも多いためです。

未経験者がiOSエンジニアになるための学習方法

Swiftは学習しやすい言語と言われています。かつてはMac上でしか開発できませんでしたが、Swift言語との開発環境が拡張し、現在ではLinuxやWindows上でもツールチェーンと呼ばれる一連のツール群を用いて開発が可能になりました。

各開発環境は基本的には無料のものがあるので、まずは環境を構築して触ってみるのが良いでしょう。プログラミング自体が初めての場合は、オンライン学習サイトや動画コンテンツでイメージを掴んでみてはいかがでしょうか。

フリーランス求人案件への応募方法

以下に掲載されている求人案件への応募方法をご紹介します。

企業名や詳しいお話を聞きたいという方は、まずはFLEXYコンサルタントがご説明しますのでご連絡ください。

■FLEXYへご登録していない方で、案件の詳細にご興味のある方は FLEXYに登録よりご連絡ください。

【業務委託の仕事の契約期間】
本記事には業務委託の契約期間を明示していません。

スキルや状況により、契約期間は随時変更されますが、3ヶ月から半年、1年での契約など様々です。

ご連絡いただきましたら、FLEXYコンサルタントより詳細をお伝えさせていただきますのでお気軽にお問い合わせください。

新しい挑戦!フリーランス向け求人案件をご紹介!

都内での大注目のタクシー配車アプリ(iOS開発案件)

自社プロダクトの追加機能でリモートで参加していただける方を募集しています。

案件No.1
自社サービスのフロントエンド開発支援(Vue.js)

<求める条件>
・iOSの実務開発経験がある方
・Swiftを用いてのモバイルアプリの実務開発経験がある方

<歓迎条件>
・Kotlin、Androidの開発経験がある方
・Google Mapを使ったアプリの開発経験がある方

・所在地:東京都
・稼働頻度:週4日
※ご希望金額をご提示頂いた上で、企業側と調整致します。
・金額:3〜4万円/日
・働き方:フルリモート可

フルリモートの働き方ができるので、東京都以外からの参画もできます。

これから注目のテック分野ですので、ご自身で関わったプロダクトがスケールしていく様子もオススメポイントです。

iOSの案件には、開発の案件とアドバイザリーの案件があります。

以下、アドバイザリーの事例をご紹介します。

フリーランスで実際働いたらどうなる?

実際のフリーランスのiOSアドバイザーを技術顧問として迎え入れた企業のケースが参考になります。

記事から抜粋してご紹介します。全文は、以下の記事をご覧ください。

【FLEXYの事例】
iOS開発アドバイザーとのやりとりは週1回。ゼロベースからiOSアプリ制作を成功させるには?――株式会社ウィルゲート
https://flxy.jp/article/2596

【FLEXYの事例(本文より)】
アプリシェアの7、8割はiOSユーザーだったので、ひとまずiOSのリリースに注力することになりました。
開発における一番の課題は、とにかく「何もわからない」ということ。ネイティブアプリを内製できないことはもちろん、仮に外注しようにも社内知識がありませんから、できあがったものの良し悪しすら判断できないのではどうにもなりません。
将来的に内製し続けるのか、いずれは外注も行うのかという展望は未確定でしたが、まずは自社でアプリ開発できるレベルのナレッジおよび体制を構築することにしました。
そこで、iOSアプリの開発のアドバイザーとしてFLEXYさんから西本さんにご協力いただいたというわけです。

まとめ

スマートフォンOSのシェアを見てみると、世界的にはAndroidのシェアが多いものの、国内においてはiPhone人気が根強く残っています。iOSエンジニアの案件が多い状況はしばらく続くと見てよいでしょう。

フリーランス・副業で現在募集中の案件を知りたい方、または紹介を希望する際は、フリーランス・副業向けのエージェントへ直接問い合わせるのがお勧めです。

フリーランス案件をもっとみたいという方は、ぜひ、FLEXYに登録ボタンから案件をご覧ください。

CTO、技術顧問、エンジニア、デザイナー向けのフリーランス・副業求人案件のご紹介

FLEXYに登録

この記事を書いた人
FLEXY編集部
FLEXY編集部
ハイスキルIT人材への案件紹介サービス
FLEXYメディアは、テックメディアとしてテクノロジーの推進に役立つコンテンツを提供しています。FLEXYメディアを運営するのは、ITに関連するプロシェアリングサービスを提供するFLEXY。経営課題をITで解決するためのCTOや技術顧問のご紹介、ハイスペックエンジニアやクリエイターと企業をマッチングしています。【FLEXYのサービス詳細】求人を募集している法人様向け/お仕事をしたいご登録希望の個人様向け

週1日~/リモートの案件に興味はありませんか?

週1日~/リモートの関わり方で、「開発案件」や「企業のIT化や設計のアドバザリーなどの技術顧問案件」を受けてみませんか?副業をしたい、独立して個人で仕事を受けたエンジニア・デザイナー・PM・技術顧問の皆様のお仕事探し支援サービスがあります。

FLEXYでご案内できる業務委託案件

業務委託契約・開発案件(JavaScriptメイン)

テーマ FLEXY登録画面から案件詳細の確認と直接応募が可能です
勤務日数 2-3日/週
報酬 4万円/日
必要スキル JavaScript・React
勤務地 東京都内/リモート含む
リモート

外部CTO、技術顧問

テーマ 技術アドバイザリーとして知見と経験を生かす
勤務日数 1日/週
報酬 10万円/日
必要スキル エンジニア組織立ち上げや統括のご経験、コードレビュー経験、技術的なアドバイスが出来る方
勤務地 東京
リモート 相談可

業務委託契約・インフラエンジニア

テーマ FLEXY登録画面から案件詳細の確認と直接応募が可能です
勤務日数 2-3日/週
報酬 5万円/日
必要スキル それぞれの案件により異なります
勤務地 東京
リモート 相談可

業務委託・フロントエンドエンジニア

テーマ FLEXY登録画面から案件詳細の確認と直接応募が可能です
勤務日数 週1日〜
報酬 5万/日
必要スキル それぞれの案件により異なります
勤務地 東京
リモート リモートと常駐のMIXなど

人材紹介のCTO案件(非公開求人)

テーマ CTO、技術顧問案件はFLEXYに登録後、案件をコンサルタントからご紹介します
勤務日数 業務委託から人材紹介への移行
報酬 年収800万以上
必要スキル CTOとして活躍可能な方、エンジニア組織のマネージメント経験
勤務地 東京
リモート 最初は業務委託契約で週3日などご要望に合わせます

業務委託契約・サーバサイドエンジニア

テーマ FLEXY登録画面から案件詳細の確認と直接応募が可能です
勤務日数 週2-3日
報酬 案件により異なります
必要スキル 案件により異なります
勤務地 東京都内
リモート 相談可能
個人登録

お仕事をお探しの方(無料登録)
法人の方(IT課題の相談)