見出し画像

モバイルアプリのエンジニアになるために役立った3ステップの実践的な練習

エンジニアになりたいとか、新しい仕事をしたいとか、新しいことを始めようとするとつきまとうのが、『始まったあと、どんな状況になるのかわからない』という不安感だと思います。

それでブログなどを読んだりしますが、体験談とか、『これをやるなら〜すべき』といった記事は、個人の目指す方向性とか、性格によってかなり左右されるような気がするので、参考にはなるものの、不安感は残ったりしますよね。

そこで私は、『実際の仕事ではどんなことをするのか』を念頭において実践的な練習を積むことにしました。

必要なものは色々あるのかもしれないけれど、少なくとも実践に必要な土台だけは固めておこう』という考え方です。

私は現在iOSのアプリエンジニアとして仕事をしていますが、この時にした練習は、実際に仕事をするようになってからもけっこう効果的だったなと感じています。

ということで、その練習方法を共有したいと思います。

※本稿はUIKitを前提として書いています。iOSアプリはこれまでUIKitを用いて開発されてきましたが、今後はSwiftUIに移っていくものと思われます。ただ、現時点ではUIKitの方が主流であることを踏まえると、まだこの練習法は有効だと考えて共有することにしました。

ステップ1: 『絶対に挫折しない iPhoneアプリ開発「超」入門 』を一通りやる


まず最初は入門書で練習しました。

選定した理由は『一番簡単そうな本だったから』です。

この本のすごいところは、読者を挫折させないためにありとあらゆる工夫がなされていることです。

たとえば、本を読み始めて最初の方で、早くも簡単なアプリを作るんですが、作ったのがこれです。

画像1

地図アプリ!
ちゃんとスクロールしたりピンチイン/アウトできます。

実はこれを作るのはとても簡単なんですが、それでも初心者でいきなりこんなアプリができたら感動しちゃいますよね。

こんな感じで、先に手を動かしてできたことを実感する⇒その後自分がやったことの説明を読む、という流れで進んでいくので、楽しいし頭にもスッと入ってくる感じでした。

このステップでは、アプリを作る作業についての全体的なインデックスを得ることを目標にしました。最初にインデックスを作っておけば、細部を学ぶときに全体との関連で覚えていけるので頭に入りやすいと考えたからです。

なぜ「一番簡単そうな本」から入ったかというと、最初につまづきたくなかったからです。この本を毎日読んで、毎日進捗するという感覚が得られると、そのあとも続けていく自信にもなりました。

ステップ2:mixiのiOSTraingingを一通りやる

初心者向けのトレーニングとして有名なサイトです。
これを一通りやりました。

おそらくmixi社内の新人エンジニア向けに作られたものだと思われますが、このサイトが良いのはとにかく実践的だということです。

例えばこんな感じの課題をやります。

現在のscrollviewのコンテンツの位置をscrollする度にprintで出力してください

起動時に、アニメーション付きで自動的にあるポジションへ移動させてください。

ステータスバー(上部の時計や電波強度を示すバー)をタップすると一番上にスクロールできるようにしてください

実際のエンジニアの仕事でもこうした作業をすることがあるし、こうした作業の積み重ねとも言えます。

私も実際に仕事に入ったとき、「この課題をやっておいてよかったな〜」とたびたび思いました。

また、UIKitは入門より先のステップをトレーニングできる本はほとんどないという事情もあります。

実務に入ると、UIKitはネットで調べるのが基本になります。いくつか本も出ていますがリファレンス的なものがほとんどで、練習には使えません。そういう意味ではこのサイトはとても貴重な存在でした。

ステップ3:自分で考えたアプリを作る

最後のステップは『自分考えたアプリを作る』です。

こんなものを作りました。

画面はこんな感じです。


画像2

ボタンを押すとタイマーが動いて、時間になると画面がチカチカなって知らせてくれる、という簡単なアプリです。

ここで目指していたのは、アプリの作成から公開までを一通り自分でやる、ということです。

ゴールを決めずになんとなく技術の練習を始めてしまうと、いつのまにか個別の技術を深堀りしすぎてしまうことがあります。

それはそれで楽しければ良かったりもしますが、あとになってから『何をやっていたんだろう?』ということになりがちです。

『アプリを公開する』という明確なゴールに向かって練習をしていると、途中でつまずいて調べ物をしていても、『このぐらいわかっていればアプリを公開するのには十分』というように調べ物を切り上げることができます。

この『TimerTimer』というアプリですが、結構作るのは大変でした。タイマーという時間を扱う処理や、時間が進むごとに円の部分が動く処理などは、結構苦労しました。

また、自分一人で作っているのでアイコンから、スクリーンショットまで全て自分で作らなければなりません。

それだけに、AppStoreに公開されたときには『やったぞ!』という気持ちになりました。

そして、この練習が終わったときに『アプリに関する一通りの作業は自分でできる』と言えるようになったのが自信に繋がりました。

最後に

編集者の佐渡島庸平さんの『ぼくらの仮説が世界を作る』という本の中に「100%の自信をもったコビト」というたとえ話が登場します。

英語に自信をつけたいなら、まずAから始まる単語だけを得意になり、それを、B、C、D・・・Zと増やしていき、仮定法や関係代名詞などに広げていくことで最終的には英語自体に自信がもてるようになる、という考え方です。

英語のコビトが自信を持っているなら、数学のコビトも、「自分もやればできる」と思うはずです。こうやって、コビトの自信をどんどん伝染させていって、全体的な自信を生み出すのです。
〜 佐渡島 庸平『ぼくらの仮説が世界をつくる』〜

今回紹介した練習は、この考え方を参考にして組み立てています。

簡単なアプリが作れる⇒UIKitを使って編集ができる⇒自分ですべての作業ができる、といった具合です。

1つ1つの作業も楽しいし、1つ覚えれば覚えただけ自信にもなるので、モチベーションも継続しやすかったです。

なお、私はもともとWebエンジニアをしていたので、gitやSlackといったツールは慣れていました。なので、全くの初心者の方がアプリのエンジニアになるには、それらのツールについても知っておく必要があると思います。

また、iOSの開発に使用するSwiftやUIKitは奥が深いので、上の練習以外にもいくつかの書籍を読み込みました。

ですが、基本的にはアプリエンジニアになるための練習は本稿で紹介したものが全てです。

これからアプリエンジニアを目指す方の参考になりましたら幸いです。

<付録:読み込んだ本>


この記事が気に入ったらサポートをしてみませんか?