どうも、iOSアプリエンジニアのささおです。
プログラミング勉強したての方はこのような悩みを持っていますよね。
僕もそうでした。
そこで今回は、現役iOSアプリエンジニアの僕が(WebアプリもAndroidアプリも開発しますが)転職するのに必要なスキルを教えていきます!
今回教えるのは、”これさえできれば転職余裕!!”とかそんなんじゃなく、
”最低限これくらいできないと仕事にならないよ” というスキルです。
Contents
転職するのに必要なスキルの見つけ方
転職するのに必要なスキルを見つける最もいい方法は、
“転職サイトに登録し、求人情報を見ること”です。
これ以上にいい方法はありません。
求人情報を見ると、
いま求められてる本当の技術がわかります。
話題に上がっているホットな技術が
本当に業務レベルで使用されているのか?
実は、あまり話題に上がっていない技術が業務では使われているとか・・・
求人情報を見るだけで、現場のリアルがわかります。
転職を検討してる方はぜひ登録してみてください。
登録は無料ですので、しないと損です!
転職サービスによって掲載されている企業のジャンルが違ったりするので
複数のサービスに登録しておくことをオススメします。
僕のオススメの転職エージェントサービスを列挙しておきます。
大手:Webエンジニアの転職なら【レバテックキャリア】
フリーランスに強い:フリーランスITエンジニア専門エージェント【フォスターフリーランス】
サイトが見易くて好き:フリーランス/Webデザイナー募集【ギークスジョブ】
とはいえ、
という方もいらっしゃるはずなので、
僕がピックアップした転職に必要なスキルを列挙していきます。
iOSアプリエンジニアとして転職するのに必要なスキル
スキルを大きく分けると以下のようになります。
- Swiftの基本的な文法
- UIKitの基本(SwiftUIの基本)
- API連携
- CocoaPods
- RxSwiift(Combine)
- アーキテクチャ(mvvm、mvc)
- Git, Github
Swiftの基本的な文法
基本的な部分が分かっていれば最低限問題ないと思います。
この本に書かれていることをしっかりと理解できていれば、OKです!(僕の大好きなSwiftの参考書でオススメですが、ちょっと内容が濃いかもしれません。)
UIKitの基本(SwiftUIの基本)
UIKitはUITableViewやUICollectionViewなどのデリゲートを使ったやや難しいタイプの実装まで理解できていれば最低限問題ないと思います。
あとはSwiftUIですね。
SwiftUIは2019年6月にUIKitに代る新しいUI構築用フレームワークです。
今まではUIKitでアプリの見た目を作っていましたが、
これからはSwiftUIに代わりますので、ぜひ勉強しておくといいです。
しかし、SwiftUIはiOS13以降でないと使えないので、
今はまだUIKitを使っている企業が多いです。(iOS12, 11等のユーザーを切り捨てることになってしまうので・・・)
API連携
ここで言うAPIとは、リクエストするとjsonデータなどを返してくれるものです。
これはなかなか説明が難しいので、実際にみていただくと早いです。
https://qiita.com/api/v2/items
こちらはあの有名な情報共有サービスのQiitaのAPIです。
このリンクを開くとこのようになっています。

これはQiitaに投稿された記事の20件分のデータです。
記事のタイトル、内容、書いたユーザー、投稿日時等の様々なデータです。
APIにアクセスすると、データを取得することができるわけですね。
このデータをiOSアプリに表示するのが、いわゆるAPI連携です。
API連携は様々なアプリで使用されている技術で、必須の知識です。
これができないiOSアプリエンジニアはいないと言ってもいいと思います。
絶対にできるようにしましょう。
CocoaPods
これはライブラリを管理するツールです。
ライブラリというのは、iOSアプリを開発する際に利用することができるどっかの誰かが開発したプログラムのことです。そのライブラリを使えば、アプリ開発を楽にすることができます。
RxSwift(Combine)
これはリアクティブプログラミングをするためのライブラリですね。
と言っても、よくわからないと思いますので詳しくはこちらの記事をみてみてください。
(RxSwiftは激ムズなので隅から隅まで理解しようとしなくても大丈夫です。RxSwiftを使って何かアプリが作れるレベルになってください。)
Combineというのは、SwiftUI時代のリアクティブプログラミングするためのApple純正のフレームワークです。SwiftUIを勉強しているなら、ぜひCombineも勉強してみましょう。
UIKitならRxSwiftを使う。
SwiftUIならCombineを使う。
アーキテクチャ(MVVM)
アーキテクチャは、アプリの設計方針みたいなものです。
特にMVVMは様々なアプリで採用されているので、ぜひ勉強してみてください。
(MVVMは上記のRxSwift使って実装されることが多いです。RxSwiftを使ってMVVMで設計されたアプリを作ってみるととても勉強になります。)
現場で選ばれているiOSアーキテクチャ
Git・Github
バージョン管理ツールですね。
バージョン管理ツールもイメージが湧かないと思いますので、こちらの記事を見てみてください。
オススメの効率的な勉強法
上記の技術を効率よく勉強するには、 実際に作ってみるのが早いです。
僕のオススメは自分専用のQiitaを読めるアプリを作ってみることです。
(Qiitaはご存知の方が多いと思いますが、プログラミングに関する知識を記録・共有するためのサービスです。)
機能は2つです。
- 自分の興味のあるタグがついた新着の記事一覧ページが見られる
- UITableView(UIKit) を使ってリストを表示する
- API連携する
- 記事の詳細ページが見られる
- WKWebViewを使う
条件は3つです。
- コードの管理はGit,Githubを使う
- アーキテクチャはMVVM
- RxSwiftを使ってリアクティブプログラミングをする
これだけですが、これがiOSアプリ開発の基礎です。
たったこれだけでも最初はかなり勉強になるはずです。(余裕があれば、SwiftUIとCombineでの実装も勉強してみてください。)
もし、これらの技術が習得できている方は、Androidや、Web Frontend(vue.js, React.js等), Web Backend(Go, PHP等)を勉強して見てください。
iOSアプリエンジニアを目指していたとしても、他の技術を勉強することは有効です。
iOSと他の技術の違いを知ることで、よりiOSについて知ることができるからです。理解がグッと深まります。