数学赤点系IT未経験Apple信者が独学でiOSエンジニアになるまでの全記録!勉強法を教えます!企業探しのコツも紹介!

iPhoneと教本

こんにちは!Apple信者のiOSエンジニアです。

この記事は、現在現役のiOSエンジニアとして働く僕が、iOSエンジニアになるまでの戦いを振り返るものです。

iOSエンジニアはプログラミングや最新技術が好きなギークの方はもちろん、目に入れても痛くないほどAppleが大好きな人にとっても、この上なく魅力的な職業だと思っています。

そこで、一人でも多くのiOSエンジニアのお仕事に興味のある方に役立つように、独学でiOSエンジニアとして企業に就職するまでのことを、僕の体験談や経験談を交えながらお話ししていきます!

もともとエンジニア適正があると思えない勉強嫌いの僕ですが、Appleは大好き。

そんな僕だからこそ、これからiOSエンジニアを目指そうと思っている方にお伝えできることがあると思い、記事にしてみました。

どうやってiOSエンジニアとして仕事ができるようになったのかどんな勉強が効果的だったのか

またiOSエンジニアとして活躍するためには、どういった企業に就職するのがおすすめなのかも書いていますので、ぜひお読みいただけたら幸いです。

この記事が役に立ちそうな人

・最速でiOSエンジニアとして仕事をしたい人
・iOS開発のためのおすすめの勉強法が知りたい人
・未経験者がiOSエンジニアになれるのか不安を感じている人

この記事でわかること

・最短最速でiOSエンジニアになる方法
・筆者が未経験からiOSエンジニアになったときの体験談
・iOSエンジニアになるためのおすすめの勉強法や就職先企業探し

スポンサーリンク

僕のスペック

奥さんが書いた僕

まずは大前提として、iOSエンジニアになった僕の基本情報についてお話していきます。

タイトルにもある通り僕は数学赤点系男子プログラミングどころか、エクセルさえまともに触ったことはありません

高校を卒業後に上京して、音楽系の専門学校に通い、10代の頃は楽器屋さんやレコード会社で働いていました。

このような下手な記事でお恥ずかしいのですが、直近の前職はWebライター。ディスプレイに向かってあることないこと書いてました。

転職グセのせいで良くも悪くも、若くして接客やオフィスワーク、デスクワークなど多くのジャンルの仕事を経験させてもらえたと思います。

特に前職でやっていたWebライターの仕事では仲間にも恵まれて、文字を書くというのは今でも大好きなことの一つです。

そしてお気づきのように、ここまでのキャリアにエンジニア要素は一切ありません

強いて言えば、Webライターの仕事のおかげでタッチタイピングができるようになったくらい。

すなわち何度も仕事を変えているにも関わらず、プログラミングやエンジニアリングに対してずぶの素人だったということですね。

しかし!

とあることをきっかけに、14歳の頃から変わらず抱いてきたAppleへの愛が、僕の人生に思いもよらぬ転機を運んでくれました

iOSエンジニアになるきっかけ

iosの絵文字

僕がiOSエンジニアになるきっかけになった出来事は、意外にもブログ運営でした。

当時僕はWebライターとして、メディアに寄稿したりメディアの立ち上げに携わったりと、貴重な経験をいくつかさせていただきました。そんな中で、自分でもメディアを持ってみたいという気持ちから、ブログを立ち上げることにしたわけです。

ちなみにそれは、このブログDigital Apple Farmを立ち上げるよりも昔の出来事。もう閉じてしまいましたが、以前にもブログをやっていたことがあります。

皆様の中にも経験ある方がいるかもしれませんが、ブログを立ち上げるにはサーバーを契約して、WordPressをいじって、レイアウトのためにCSSを書いて…など、多少ではありますがIT関連の素養が必要とされる場面がありますよね。

面倒くさいなぁと思いながら、CSSについて調べていたとき。

「プログラミングができたら仕事の幅も広がりそうだなぁ」

「ブログもやることだし、どうせなら一つくらいプログラミング言語をまともに勉強してみようか」

などと思いながら、世界のプログラミング言語なるものの一覧ページを例によってMacで見ていた。

すると、そこで衝撃の事実を知りました。

Swiftは、Apple社が2014年に発表したプログラミング言語であり、iPhoneやMacなどのアプリ開発に用いられている言語だということ

え!?Appleってプログラミング言語も作ってんの!?それでiPhoneのアプリが作れるの?!

Macのディスプレイを2度見…いえ、7度見くらいしました。いやもしかすると「えっ?」「いやいや」などと声が出たかも知れません。

けっこう人がたくさんいる、昼さがりのド○ールでのお話です。

そうです。大変お恥ずかしいのですが、知らなかったわけです。iOSエンジニアという職業はおろか、Swiftさえも知らなかった。

iPhoneアプリは、一部の天才エンジニアの方が作るもので、専用の言語があるなんて思いもしませんでした。

かつてiPhone 3GやiPhone 4が出る直前には、熱狂しながらWWDCも見ていました。

でも結局iPhoneの紹介シーンしか見ていなかったので、肝心のWWDCの正体については気にもかけませんでした。

そのうちiPhoneなど主要プロダクトはWWDCではなくApple Special Eventで発表されるようになっていき、近年ではWWDCすらも忘れかけていた。

しかしSwiftの存在を知ってしまった今、これは是が非でもiOSエンジニアになるしかない。

詳しいことも調べぬうちから、これがまさに自分の天職なのだとさえ思ったほど。

この喜びをとにかく聞いてほしくて、その日のうちに彼女(今の奥さん)に興奮気味にことの顛末を話しました。

彼女の最初の反応は「ふーん」「へぇ〜そうなのね」「ところで晩ごはん何食べる?」という感じでしたが、大丈夫。心が折れることはありません。

僕の心にはもうすでに、りんご味の炎がメラメラと灯っていたからです!

スポンサーリンク

iOSエンジニアになるための効果的な勉強法と環境

iosエンジニアになるための勉強

前置きが長くなりすみません。

ここからは、iOSエンジニアになることを決めた僕が実際にやった勉強などをご紹介していきます

もちろん、勉強法は人によって向き不向きがあるもの。なので、是が非でもこの勉強法でなければいけないということはありませんよ。

ただ実際にIT未経験、理系科目壊滅、勉強嫌い、ミーハーの僕が独学でiOSエンジニアとして働けるようになった方法を知っていただくことによって、きっと読者の皆様ならもっとスムーズにiOSエンジニアを目指せると思います

書籍学習

iOS勉強のための本

まず僕が取り組んだのは、書籍による学習です。

最近ではオンラインで完結する学習教材もありますし、僕も普段は紙の本はほとんど読みません。コンテンツはサブスク派ですし、MacFanでさえU-N○XTで読んでます。

しかしプログラミングの学習となれば、一言一句の説明文やコードの読み違いがとんでもない誤理解に繋がってしまう場合があります。僕のようにコーディングの未経験者ならばなおのこと。

そこで機械的に流れていく情報よりも、自分のペースで読み進めていくほうが、僕には合っている。

実際に物理的な本を使って勉強することで、マーカーを引いたり付箋を貼ったりと、泥臭くも着実に知識がついていくように感じます。

また書籍にも、様々な人に向けたものがあります。完全に初心者向けのものもあれば、ある程度知識のある人に向けた教本もある

そのため、一冊の本を理解して終わらせたとき、次のレベルの本を吟味する楽しさもありますね。

そうしているうちに、どんどんと知識がついていきますし、理解できなかった部分をあとで読み返したときに何を言っているのかわかるというこの上ない喜びを感じることもできます。

僕は最初の半年強くらいは、とにかく書籍で学習を進めました。書籍学習のデメリットはかさばることくらいですので、まずは本を買ってみるのがおすすめですよ。

おすすめの本については、後ほど詳しくご紹介できればと思っています。

スポンサーリンク

オリジナルのアプリ開発

Macに浮かび上がるりんご

2冊ほどの本を読み終え、なんとなくでも内容が理解できたとき、実際に自分が思うアプリを作ってみることをおすすめします。

おそらく、全く前情報なしにアプリを作ることは、他言語の経験者でなければ難しいと思います。

そのため、書籍学習を進めながら自分が作りたいアプリを考えておくといいでしょう。

この自分でのアプリ開発がとてもミソ。

というのは、自分の中で作りたいアプリがあれば、それに必要な技術を何が何でも調べようと思えますよね。そうすると、以前学習した技術などに再び触れることになりますからね。

つまり、知らずしらずのうちに反復学習ができるということ。

反対に作りたいアプリがなければ、なんのために使う技術なのかわからないまま勉強していくことになってしまいます。

たとえばですが、大人になる前の中高の勉強を苦手だと思ったり苦痛だと思ったりするのは、なんのために知識をつけているのかわからないまま勉強するからなのかなと思っています。

中高の勉強を楽しいと思ったり真面目に取り組んだりしていた人は、僕と違って10代のうちから目標とする大学の受験や将来の安定などのビジョンがしっかり見えていたからこそだと思います。

とても尊敬します。

同様にアプリ開発も、ビジョンや目標(=作りたいアプリ)を事前に考えておくことで、モチベーションを落とさずに楽しく学んでいけるでしょう。

さらにいえば、僕はじめ初心者が思いつくアプリというのは、たいていもうこの世の中に似たようなものがある場合が多い。すなわち、参考にできる既出の技術が多い

Swiftはまだまだ若い言語。2014年に発表された8歳くらい(2022年時点)の言語ですから、JavaやPHPなどに比べてTips(役立つ知識)がネットにも少ない状態といえます。

だからはじめのうちは、世に出ている技術を活かせるようにスタンダードなUIで作れるアプリを考えてみるというのも大切ですね。

ちなみに僕の場合は、地域バスの時刻表アプリ占いのアプリにチャレンジしました。

今思えば散々な出来ではありましたが、僕の経験上、とにかくイメージしたものを動かせるだけでも凄まじいモチベーションにつながりますよ。

四六時中Googleに聞きまくる

MacとGoogle

書籍学習、オリジナルアプリ開発と平行して行うことでもあるのですが、とにかくググりまくること。そして的確な情報をGoogleから探し当てるには、ググるための能力も必要です。

エンジニアとしての能力のうちには、このググり力も大きく関係しているというベテランエンジニアさんの話を聞いたこともあるほど。

僕の場合には、Appleの公式ドキュメントページをiPhoneのホーム画面においておいて、いつでもググれるようにしておきました。

電車に乗っているときや人を待っているとき、仕事の休憩中など、今取り組んでいる問題があるなら欠かさずググるようにすると、ググり力は自ずと養われていきます。

Appleのプラットフォームに限らず、技術は日進月歩で進化しています。2ヶ月前には問題のなかったコードがWarningエラーの業火に包まれていることなんて、よくあることです。

どんなに新しい書籍で紹介されている内容も、もしかしたら古くなっているかもしれません。わからないこと、納得のいかないこと、モヤモヤすることは、最悪iPhoneさえ持っていればいつでもどこでも調べられます。

しかも全部無料

そこでわかった情報があれば、次の瞬間にはコードを書いてみたくてたまらなくなるでしょう。

大体の情報はオープンなので無料で手に入り、さらにはそれが自分のキャリアにも繋がっていくというのは、iOSアプリ開発の醍醐味でもありますよ。

Apple公認資格取得

資格試験合格

勉強の最後のフェーズとして取り組んだのは、App Development with SwiftというApple公認資格の取得です。

これは僕がちょうど1年位学習を進めたあたりで日本に上陸した資格試験で、取得すると本家Appleから認定証をもらえます。

これはiOSエンジニアになりたい人はもちろん、僕のようなApple信者にとっても信じられないほどのモチベーションになるもの。

なぜなら認定証には、Appleのロゴが入っているんですから!といって喜べる僕はかなりちょろいですね。

真面目な話をすると、Apple公認資格は決して多くありません。あったとしても、本当のスペシャリストや法人でなければ取得出来ない場合もあります。

これは個人で取得できますし、出題範囲はAppleの公式Swift教本から。教材も練習問題も、MacやiPhoneさえあればBookアプリでいつでもどこでも読めますよ。

さらには、

iOSエンジニアとして応募して不採用をもらっても平気だぜ!だって俺はそもそもAppleから認められているんだからね!

という気概で前に進めるので、根気強く求職活動をしていけます。

さすがにこれは調子に乗りすぎだとしても、先が見えない挑戦の中でなにかしらに合格するというのは勇気に繋がります。アプリ開発をする上での自信もつくでしょう。

ただ一点懸念があるとすれば、2022年現在でも試験は全編英語での出題です。もちろん、Apple公式の出題範囲ドキュメントもすべて英語。

なので、不安がある方はさらっと英語について復習しておくのもいいかもしれません。

僕はペラペラの英会話などできませんが、もともと英語はそこまで苦痛ではないので、単語カードなど作って楽しく勉強できました。

またこの資格試験を受験したときのことは、こちら「Apple公認資格【App Development with Swift】合格までの記録!出題範囲や最短最強の勉強法は?」で詳しく解説していますので、併せてご覧いただけたら嬉しいです。

iOS開発勉強のおすすめの環境

僕の体験談としては、一日中腰を据えて勉強をするときにはやはり自宅がおすすめです。

自宅はだらける理由になるような誘惑も多いですが、周囲の音をコントロールできる環境でもあります。

たとえばカフェなどでは、雑談や店内BGMの程度をコントロールできませんよね。でも自宅なら、自分の好きな学習環境を作り上げられる

ただ例外として、朝イチで勉強をして午後から用事がある、などのときにはカフェなどでの勉強もおすすめですよ。

カフェ(ドトール)とiPhone

朝はどうしても眠いですが、カフェなどに行く軽い運動を挟むことで、頭も体も目覚めるように僕は感じました。

なおカフェによっては勉強がNGな場所もありますし、長時間勉強をすることは周りのお客さんに迷惑になるなどするため、周囲の状況にあったマナーも大切にしましょう。

2022年現在にiOS開発の勉強を始めるならUIKit?SwiftUI

今はSwiftUIという新しい開発方法も出てきているようですから、これはとても悩ましいポイントかと思います。

僕が勉強を始めたときにはUIKit一択でしたが、2022年から勉強を始める方は「UIKitとSwiftUIどちらが良いか」という悩みを抱えることになるので、少し不利といえるかもしれません。

ただ僕個人的には、経験から言ってまだUIKitの勉強から始めても良いのかなと思います。

理由は、SwiftUIにはまだまだできないことが多いから。

そしてその出来ないことを補うとき、SwiftUIからUIKitを呼び出す場面があるんです。

そういった場面を想定すると、やはりできる限りはUIKitの知識をつけておくに越したことはないでしょう。

また僕の知り合いの3人のiOSエンジニアは、まだ今のところUIKitでの開発をしているという事実もあります。

うち一人はかなりベテランエンジニアですが、彼に言わせても今のところはSwiftUIの案件はそこまで多くないという認識のようです。

ただもう就職する企業が決まっていて、SwiftUIでの開発がメインになるようであれば、とりあえずはSwiftUIから学び始めても問題ないでしょう。

アプリエンジニアとしての求職活動

企業が立ち並ぶビル群

さて、ある程度力と自信がついたら、いよいよ働きましょう。

iOSアプリ開発は、Apple信者としては趣味として続けても楽しいですが、職業にすることでさらに深くSwiftを学んでいけます。

仕事をもらえたら、自習中とは違って四六時中Swiftを触っていても怒られることはありませんからね。

企業探しのすすめ

未経験からiOSエンジニアとして働くためには、どんな企業に応募するのが良いでしょうか?今やIT企業は星の数ほどありますし、非常に悩ましいところですよね。

僕が会社を選べる立場ではなくおこがましいのですが、僕はとにかく「iOSエンジニアとして雇ってくれるところ」を中心に探していきました

この人は何を言っているんだ?iOSエンジニアとして雇ってくれる企業を探すのは当たり前じゃないか

と思われるかもしれませんが、求人情報を見た時点で、未経験者がiOSエンジニアとして働くのは難しいだろう、と思う会社さんは実は結構あります。

たとえば未経験歓迎だとしても、ジョブローテーションによって様々な仕事があてがわれると書いている企業。または、「ゆくゆくはiOSの開発もできますよ」のように書いてある会社などがそれに当たります。

iOSに限らずエンジニアになりたいという方にとって、こういうオールマイティな企業とのご縁はとても素晴らしい出会いだと思います。そしてもちろん、ジョブローテーションが悪いというつもりはありません。

ただこういった企業に入社した場合、iOSエンジニアとして活躍できるのはけっこう先になる可能性があります。

一般論として企業は、社内事業に人が足りていない、もしくはもっと規模を大きくしたいがために採用活動をしますよね。となれば、人が足りない部署に配属されるのは当然のこと。

つまりiOSエンジニアがたまたま足りていない企業に就職しない限りは、すぐに現場での仕事ができるかどうかは未経験者にとって運任せ。

すぐにiOSエンジニアのポストが空くかどうかなんてわかりませんし、就職先企業の社内状況などは自分でコントロールできないことです。

エンジニアを募集しているのであり、業務内容にiOS開発もある。しかも結構規模の大きな会社さんとなれば、iOS開発をさせてもらえるのはある程度会社で力をつけて、自分の意見が通りやすくなったあとになるでしょう。

なおどれほど勉強をしたとしても、IT企業業界に限ったことではないですが、未経験者に一発目から希望のポストをくれる会社なんてそうそうありませんよね。

だからすぐにでもAppleのプラットフォームでの経験を積みたいと思うのなら、エンジニアを募集している企業ではなく、iOSエンジニアを募集している、なおかつiOSに詳しい方がいそうな会社に応募しましょう。

適性検査

僕はとても運の良いことに、iOSエンジニアを決め打ちで募集している企業と一発目に出会うことが叶いました。スタートアップで若い会社ですが、一緒に働く仲間は皆ベテランでとてもいい人たちばかりです。

ただiOSエンジニアに絞って募集している企業の門を叩くということは、すなわち面接の時点である程度、iOSエンジニアとしての適正があるかどうか会社に判断されるということ。

ジョブローテーションとは違って、iOS開発には向いていないと判断された場合に、他の部署にあてがうということはできませんからね。

僕の場合には、既存のオープンになっているAPIを組み込んだアプリを作っておいでという宿題でした。

自分では勉強をしたつもりでも、まだまだ素人過ぎて凄まじく時間がかかりましたが、なんとか完成させられました。

また適性検査の場ではベテランのiOSエンジニアからアドバイスもいただき、それだけでも勇気を出して企業に応募してみてよかったなぁと感じましたよ。

内定後の勉強

内定をもらったあとの勉強

では、内定をもらったあとのことについてもお伝えしていきますね。

内定をもらったからといって、一気に能力が上がるわけではありません。ここからは、より実践的な勉強に変わっていきます。

自社アプリ開発:2ヶ月

まず手始めに、アイデアだけがあった自社アプリの開発を任せていただきました。とある情報を検索するアプリで、一から好きなように作っていいとのことだったのですが、やはり難しかったです。

今まで作っていたチュートリアル的なものではなく、APIも叩きながら、複雑な画面仕様も作りながらと、四苦八苦しながら完成にこぎつけました。

思いのほか特に難関だったのが、AppStoreへのリリースです。これはベテランのiOSエンジニアの上司にアドバイスをもらいながら、満身創痍でなんとかやり遂げました。

全く関係ないですが、その大変だった日の夜に地上波でスティーブ・ジョブズの特集をやっていたのが嬉しかったです。心の癒やしでした。

ベテラン上司と一緒にガチのアプリ開発:6ヶ月

上記の自社アプリ開発は、言ってもまだまだ利益化するには程遠い状態。OJTのように、僕のために用意してくれたという部分が大きいと思います。

しかしそのあと、ベテランエンジニアの上司と一緒に進めた開発プロジェクトこそが、最大の経験と成長に繋がりました。

そもそも自社アプリと違ってクライアントさんがいるので、当然ですが細かい部分まで詰めていかなければなりません。

しかも規模も僕にとってはそれなりに大きく、バックエンドチーム、Androidチームと密に連携を取り合うことも必要。

少しでも中級者に近づくために、一所懸命に取り組みました。

その結果、今までの自習はなんだったのかと感じるほど、大きな成長を遂げられたように思います。特にWebViewやサードパーティのライブラリなど、チュートリアルではなかなか扱わない分野でも経験を積むことが出来た。

自習や教材では触れない部分に関しても、着任後すぐに経験ができる。これこそが、iOSエンジニアとして雇っていただくことの大きなメリットだといえるかもしれませんね。

(ほとんど)一人前のiOSエンジニアとしての独り立ち

そういった経験を積ませていただき、現在はありがたく一人称でiOS開発のお仕事をさせていただいています。

上司や他のiOSエンジニアと一緒ではないので、不安やプレッシャーはある程度ありますが、自分が書いたソースコードがiPhoneで狙ったように動く様子は、やはり何度経験しても何にも変えられないほど楽しい瞬間だといえます。

「ほとんど」とつけたのは、僕はまだまだ本当の一人前のiOSエンジニアではないためです。

業界で長く活躍されているiOSエンジニアの方の中には、設計や企画そのものに携わるなどもっと広い守備範囲で活躍している方もいらっしゃいます。

そういった方たちのことを、真のベテランエンジニアと呼ぶのでしょう。

もちろんベテランになるに越したことはないですが、僕はちょっとでも多くAppleのプラットフォームで経験を積んだり、皆に使ってもらえるような良いプロダクトを作れたらそれがいちばん嬉しいです。

文系がエンジニアになるのは難しい?

本と喜ぶ人

文系がエンジニアに向いているかどうか論争は、いろいろなところでありますよね。

しかし僕が思うに、文系・理系はあまり関係ないように思います。

たとえば僕は高校時代はかろうじて文系でしたが、それからは音楽の専門学校に行っていましたし、もはや今の自分が文系か理系かなんて判別不能。

強いて言えば、読解力や英語力は大切かもしれません。

仕様を理解したり新しい機能を理解するためには、文章を読み解く能力のほうが大切ではないでしょうか。

どんなに頭の回転が早くても、適切に文章を理解できなければ技術を使いこなすのは難しいでしょう。

また、プログラミング言語はSwiftも含めて、米国で生まれたものが多い。そうなると自ずと、ドキュメントも英語のものが多くなります。

英語がペラペラである必要は全くないと思いますが、英語が苦手な方は、英語への耐性をつけておくのがいいかもしれませんね。

さいごに

この記事では、決して勉強や数学が得意ではない数学赤点系の僕が、iOSエンジニアになるまでのことをお話ししてきました。

これからiOSエンジニアを目指されている方のお役に立てばとても嬉しいです。

またiOSの仕事に関わらず、達成するために大事なことは目標を持つことや自分なりに楽しむことだと思っています。

あとはスティーブ・ジョブズの受け売りで恐縮ですが、「心から好きだと思えるもの、打ち込めるものを探し続ける」こと。和風に言うと「好きこそものの上手なれ」ですね。

皆様のご健闘を心よりお祈りしています!

お読みいただき、ありがとうございました。

スポンサーリンク
iPhoneと教本
Twitterもやってます!