プログラミング経験0から3ヶ月でアプリリリースできた私の学習法


今回は、エンジニア留学卒業生の野口拓馬さんに、全くのプログラミング未経験から、エンジニア留学3ヶ月でiOSアプリをリリースできた勉強法と、プログラミングスキルを上達させる秘訣について伺いました。

前篇はこちら
海外インターンをして、私がプログラミングを学ぼうと決意した理由

 

5 エンジニア留学中の学習方法について

NexSeedのエンジニアクラスの授業は1日50分3コマだったのですが、先生がちょうど良いところで授業内容が終わるカリキュラムを組んでくださっていました。

留学期間中、僕は予習を大切にして学習をしていました。ほぼ100%平日は毎日予習をし、授業中や放課後に先生にわからないことを聞いていました。土日は平日に学んだことの復習に充てていました。

僕が選択したコースはiOSアプリコースだったので、プログラミング言語はSwiftという言語でした。このSwiftは2014年からAppleに採用されてiOSアプリ用の言語としての地位を確立したので、比較的参考資料を見つけるのが難しい言語でした。

ただでさえ正確な情報を集めるのが大変なことに加え、2016年9月にSwift2.3からSwift3.0に大型アップデートが行われたので、正確な資料を見つけるのは相当苦労しました。
なので、何回調べても資料が見つからない時は先生に聞いて理解し、何とか自分で調べる事ができた箇所は自分で進めていく、というスタイルで進めて行きました。

僕はSwiftがアップデートされた9月にNexSeedに入学したので、配布された教科書はSwift2.3だったのですが、先生が授業の時に使うNexSeedの講義議事録は配布したSwift3.0仕様にしてくれていたので、配布された教科書を参考にしつつ、メインは授業、という形でした。
自習する際によく閲覧していたwebサイトは、Qiitaというwebサイトです。
このwebサイトはプログラミングに特化した記事がまとめられたサイトで、Swift以外のプログラミング言語もたくさん記事になっています。先人の方達が書いた、開発の最中にバグがでた時のメモのような記事もあって、とても参考になりました。
僕が留学していた時は基本的にSwift2.3の記事ばかりだったのですが、その記事を参考にコードを書いてみて、動かなかったら先生に相談に行くこともできました。

Qiita以外では、StackOverFlowというサイトもよく使いまいした。このサイトは、プログラミング関連の質問サイトです。
これは、誰かがわからないところを質問して、分かる人がその解決策を書き込むというサイトです。他の人はそのログを見る事ができるので、自分と同じところで詰まっている人の投稿の答えがそのまま自分の解決策になることもあります。そういう時は解決した後で、より理解を深めるために先生に話に行くこともできました。

また、個人ブログもよく参考にしていました。
英語であれば、StackOverflowの英語版サイトの方が新しい情報を手に入れやすかったです。どうしてもわからない時はAppleのSwiftの仕様書に挑戦しました。

これは意外かもしれませんが、YouTubeにも資料があります。基本的に外国人の方の投稿なので、英語なのですが、字幕がついていますし、動画は投稿者がコーディングしている時の画面をスクリーンキャプチャしているものがほとんどなので、それを真似するだけでも勉強になりました。

 

6 リリースしたアプリの説明

授業の中で、アプリ開発期間前に、アプリ開発の時の考え方や、ブレインストーミングし、2人組でそれぞれ自分が作りたいアプリを考え、最終的にはみんなの前でプレゼンテーションをしました。

その時にクラスメートの方達からフィードバックをもらえて、自分では気付かなかった事に気付けたので、とても良い機会になりました。

僕が作ったアプリはmealbumという料理の写真を簡単に管理する事ができるアプリです。お恥ずかしい話、僕は基本的に何も考えないで毎日のご飯を食べています。
こういう人は多いんじゃないかなとも思います。

このアプリを考えたのは、セブ島という海外で生活していて、せっかく食べた物を覚えていなかったり、人に説明できないことがとても勿体無いことかなと思ったことがきっかけです。

具体例でいうと、セブ島には「レチョン」というフィリピン料理があるのですが、これはセブアノ語で文字どおり豚1頭を丸焼きにしたものです。
レストランの中には豚の丸焼きが見えるレストランもあるのですが、テーブルに来るときには盛り付けられた状態で出てきて、残念なことに丸焼きを見れない事があります。その後、日本に帰って、「レチョンっていう豚の丸焼きを食べたよ」と言葉で説明するだけじゃなく、Wikipediaにある写真がさっと出てきたら聞いている人にも伝わりやすいと思いました。

また、Wikipediaは英語ページもあるので、海外の人に今まで食べたものを英語で説明するのにも役に立ちます。もし、写真と一緒にタグのようなものが保存できて、わざわざ検索しなくてもその情報が見ることができたらとても楽だなと思って、アプリを作ることに決めました。

このmealbumというアプリを、写真を撮って名前を登録しておくだけで、Wikipediaの表示までを自動でやってくれる設計にしました。その他の機能としては、料理の写真を登録する時に、料理の名前、食べた日付、お気に入り度、タグを一緒に登録することもできるようにしました。

例えばフィリピン旅行に行ったとして、食べた料理に「フィリピン旅行」というタグと、お気に入り度を登録しておけば、後日、フィリピン旅行タグで写真を絞り込み検索して、その中でお気に入り度順に並び替えることもできます。

あとは、ボタンを押すと、この料理の写真、名前、お気に入り度、タグがついてる画面をスクリーンショット自動で撮ってくれて、カメラロールに保存したり、そのままFacebookやTwitterといったSNSに投稿したり、Evernoteに保存する事ができます。
ここまでの開発をプログラミング初心者の状態から3ヶ月でできるようになったのは、集中して勉強できる環境があるエンジニア留学のお陰だと思っています。

 

7 エンジニア留学を終えて

エンジニア留学を通して身についたスキルは3つあります。

①論理的に考え、伝える力
プログラミングのバグが起こる時は、どこかに必ず理由があります。この理由を考える時、論理的に考えると、効率よくバグを解決する事ができます。僕はiOSコースだったのですが、iOSコースでは留学期間中の3ヶ月でアプリを1人1つ以上開発します。

ですから、アプリ開発期間中の先生にする質問内容は人により異なります。
先生も質問された時にすぐに答えを教えたりせず、1人1人が考える機会を与えてくれます。

これはエンジニア留学を終えて、エンジニアとして仕事を始めた時を想定してとのことでしたが、
とても良い環境だったと思います。

今、僕はエンジニアとして日本でインターンをしているのですが、社員の方と一緒に考える時に、自分がどうしてそのようなコードを書いたのかを論理的に説明できているので、円滑に仕事が進められていると感じています。

②諦めない力
正直、プログラミング初心者だった僕は何回もできないから諦めようと思う事がありました。ですが、諦めずに考え抜いたり、友達に相談したり、先生に相談した後で解決した時の達成感は、得も言われぬものです。

最初は小さな成功体験ですが、それが積み重なって、自分のアプリを作り上げ、
リリースできた時は諦めずにやってよかったと心の底から思う事ができました。

現実世界では、やりたくてもできないことばかりかもしれませんが、プログラミングの世界は平等で、自分の努力次第で、たとえ周りに無理だと言われたことでも、ひっくり返せることを痛感しました。

③英語を読み込む力
受験英語や日常英会話では、何となく理解すれば何となく会話がこなせてしまうことがあると思います。でも、プログラミングに詰まって英語の記事しか見つからない時は、これまでの何となくの英語力では解決できない事が多々あります。

そういう場面を繰り返し経験し、乗り越えた結果、以前よりも英語を通しての理解力が向上したと感じています。

 

 

8 まとめ

これからプログラミングを本気で始めてみたい人にはNexSeedは最良の環境だと思います。3ヶ月でプログラミング初心者が一気に上達できる環境は他にはないと思います。

何も調べないでエンジニア留学に挑戦するのは流石にチャレンジし過ぎかとは思いますが、
日本で事前に軽くプログラミングに触れてみたり調べてみたりして、自分に少しでも適正があると思ったら、ぜひ飛び込んでみてください。

 

NexSeedの英語留学、エンジニア留学について詳しく知りたい方は
以下リンクから資料請求!
http://nexseed.net/inquiry/shiryo/
お気軽にお問い合わせください。

投稿者プロフィール

NexSeedメディア編集部
NexSeedメディア編集部
NexSeedメディア編集部です。英語学習について、フィリピン・セブ島の魅力、NexSeedでの留学生活などを伝えます!

記事に関するお問い合わせはこちらのメールアドレスにお願いします(・∀・)
ikuniyoshi(アットマーク)nexseed.net