iOSアプリ開発

未経験からiOSアプリエンジニアに転職するのに必要なスキル


どうも、iOSアプリエンジニアのささおです。

駆け出しエンジニア
駆け出しエンジニア
プログラミングの勉強したけど、転職して働けるスキルを持っているのかな・・・

プログラミング勉強したての方はこのような悩みを持っていますよね。
僕もそうでした。

そこで今回は、現役iOSアプリエンジニアの僕が(WebアプリもAndroidアプリも開発しますが)転職するのに必要なスキルを教えていきます!

今回教えるのは、”これさえできれば転職余裕!!”とかそんなんじゃなく、
 ”最低限これくらいできないと仕事にならないよ” というスキルです。

転職するのに必要なスキルの見つけ方

転職するのに必要なスキルを見つける最もいい方法は、
“転職サイトに登録し、求人情報を見ること”です。

これ以上にいい方法はありません。

求人情報を見ると、
いま求められてる本当の技術がわかります。

話題に上がっているホットな技術が
 本当に業務レベルで使用されているのか? 

実は、あまり話題に上がっていない技術が業務では使われているとか・・・

 求人情報を見るだけで、現場のリアルがわかります。 

転職を検討してる方はぜひ登録してみてください。
登録は無料ですので、しないとです!

転職サービスによって掲載されている企業のジャンルが違ったりするので
複数のサービスに登録しておくことをオススメします。

僕のオススメの転職エージェントサービスを列挙しておきます。

大手:Webエンジニアの転職なら【レバテックキャリア】
フリーランスに強い:フリーランスITエンジニア専門エージェント【フォスターフリーランス】
サイトが見易くて好き:フリーランス/Webデザイナー募集【ギークスジョブ】

とはいえ、

駆け出しエンジニア
駆け出しエンジニア
「登録して求人情報を見る時間がなんてねぇぜ・・・!!」

という方もいらっしゃるはずなので、
僕がピックアップした転職に必要なスキルを列挙していきます。

iOSアプリエンジニアとして転職するのに必要なスキル

スキルを大きく分けると以下のようになります。

  • Swiftの基本的な文法
  • UIKitの基本(SwiftUIの基本)
  • API連携
  • CocoaPods
  • RxSwiift(Combine)
  • アーキテクチャ(mvvm、mvc)
  • Git, Github

 

Swiftの基本的な文法

基本的な部分が分かっていれば最低限問題ないと思います。

この本に書かれていることをしっかりと理解できていれば、OKです!(僕の大好きなSwiftの参考書でオススメですが、ちょっと内容が濃いかもしれません。)

UIKitの基本(SwiftUIの基本)

UIKitはUITableViewUICollectionViewなどのデリゲートを使ったやや難しいタイプの実装まで理解できていれば最低限問題ないと思います。

あとは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アプリを開発する際に利用することができるどっかの誰かが開発したプログラムのことです。そのライブラリを使えば、アプリ開発を楽にすることができます。

CocoaPodsを導入してみた

RxSwift(Combine)

これはリアクティブプログラミングをするためのライブラリですね。
と言っても、よくわからないと思いますので詳しくはこちらの記事をみてみてください。
(RxSwiftは激ムズなので隅から隅まで理解しようとしなくても大丈夫です。RxSwiftを使って何かアプリが作れるレベルになってください。)

[初心者]RxSwiftの道標[入門]

Combineというのは、SwiftUI時代のリアクティブプログラミングするためのApple純正のフレームワークです。SwiftUIを勉強しているなら、ぜひCombineも勉強してみましょう。

UIKitならRxSwiftを使う。

SwiftUIならCombineを使う。

アーキテクチャ(MVVM)

アーキテクチャは、アプリの設計方針みたいなものです。
特にMVVMは様々なアプリで採用されているので、ぜひ勉強してみてください。
(MVVMは上記のRxSwift使って実装されることが多いです。RxSwiftを使ってMVVMで設計されたアプリを作ってみるととても勉強になります。)
現場で選ばれているiOSアーキテクチャ

Git・Github

バージョン管理ツールですね。
バージョン管理ツールもイメージが湧かないと思いますので、こちらの記事を見てみてください。

Gitを使ったバージョン管理

 

オススメの効率的な勉強法

上記の技術を効率よく勉強するには、 実際に作ってみるのが早いです。 

僕のオススメは自分専用の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について知ることができるからです。理解がグッと深まります。

 


ABOUT ME
ささお
3年目iOSエンジニア。 スタートアップで働いておりやす。 プログラミングスクールとエンジニアのキャリアを考えたい。 作ったアプリ - https://apps.apple.com/us/app/loverprofile/id1463563845?l=ja&ls=1