#5 未経験→iOSエンジニアの道のり -現場着任前/後の取り組み

# はじめに
勝手に始めたシリーズ最終章です。
iOSアプリ開発したい！からリリースまでの道筋や使用ツールは以下のインデックスからどうぞ。

ここではプログラミングを開始してから現在現場にいる中で、出来るだけ効率よく情報収集、定着を試みている私なりの意見諸々とまとめを記述したいと思います。

私は青二才なので、こういうことやっておきなよ、というアドバイスたくさんお待ちしています。

 
# Index
1. [#1 未経験→iOSエンジニアの道のり-開発に挑戦~リリースまで](https://qiita.com/57shota/items/6c31fa44340d120bec39)
2. [#2 未経験→iOSエンジニアの道のり-ライブラリと設計](https://qiita.com/57shota/items/6cb8ef6bb466901e53c7)
3. [#3 未経験→iOSエンジニアの道のり-git周り](https://qiita.com/57shota/items/63573de6186fcaa52584)
4. [#4 未経験→iOSエンジニアの道のり- 使用ツールやwebサイト](https://qiita.com/57shota/items/b32b4a462d048e69ed32)
5. #5 未経験→iOSエンジニアの道のり-現場着任前/後の取り組み　←　ここ
    6. ググり力を制し者はプログラミングを制す者
    7. 幅が広がる英語力
    8. どうせならマネタイズに挑戦したらいい
    8. モチベーションが元気の源
    6. 疲労とストレスは天敵
    7. その他
    8. まとめ


# 5-1. ググり力を制し者はプログラミングを制す者
ググり力とは、求めている情報を的確な単語で検索し、最小限の労力と時間で目的の結果を手に入れることです。
もしかしたらこれは自頭の良さも関係すると思いますが、日々検索することと関連する用語をリストアップして選択する柔軟さが求められます。

ただの検索をそんな大げさな、、、と思うかもしれませんが、プログラマーディベロッパーはめちゃくちゃ検索かけます。シリコンバレーで働く開発者でさえググって情報を探します。ただでさえハマって手こずっているのに大切な時間を無駄にしないため、質の良い結果を獲得するためにとても必要なスキルだと感じています。

私は多分上手い方ではないんですが、「これよりこっちの方がヒットしそうかな？」とか「こういう単語でアプローチした方が良いのでは？」などシナプスをバチバチさせるスキルが必要なので、日々様々なパターンをトライしてみるとレベルが上がっていくと思います。

そのうち分かりやすいブログ、ユーザーがわかるようになってくるはずです。あとタイトルや検索結果のタイトル下の詳細読むと良記事かがわかるという特殊スキルもあるらしいです。

# 5-2. 幅が広がる英語力
日常生活よりも、IT業界で働いている方が英語に触れる機会は断然多いです。
第一にプログラミン言語は英語ベースなので、ある程度の英語力があれば得することしかないです。
例えば、

- プロパティの意味がわかるとやろうとしてることがわかる
- プロパティやメソッドの説明も読めると早い
- エラーメッセージが指していることがわかる
- 公式doc、ライブラリreadmeが読める

など翻訳する手間が省けますし、第三者の解説をいくつか読み較べるよりも公式doc一つ読めば解決、ということもあります。
なんどもプロジェクトのメソッド見てれば覚えるところは覚えますが、やたら業界の人は横文字使うのでそういう会話にも役立つと思います。みんなルー大柴みたいに話してます。

**追記 19/9/7**
[IT業界のルー大柴と渡り合うためのカタカナ用語一覧](https://qiita.com/57shota/items/a3a6a181e4936ae03134)

それと5-1にも繋がりますが、情報量が桁違いです。日本語検索ですぐに期待する結果を得られれば母語ですし理解も早いですが、英語検索も加えてできるとかなり幅が広がります。実際英語ベースの方が多いライブラリ情報もありますし、ニッチな内容など日本語では見つからないけど英語ではあったなんてこともあるので、この際英語の勉強も始めると間接的なレベルアップに繋がるかもしれません。最新情報も英語から日本語への天下りが多いですしね。

そんなんGoogle翻訳かければええやん、とかは言わないでください。まぁそうなんですけど。

# 5-3. どうせならマネタイズに挑戦したらいい

[#1 未経験→iOSエンジニアの道のり-開発に挑戦~リリースまで]()　で個人アプリリリースの過程を踏みましたが、どうせなら広告つけたりしてみるのもありじゃないでしょうか。

対価を得る方法としては

- 有料で配信
- アプリ内課金
- 広告収入

ですね。全部やってみたかったんですが、私は広告を貼ることに挑戦しました。広告で稼いでやろう！なんて考えずに、無料だしつけてみるかぁ〜くらいの気持ちです。

広告にも色々と種類があり

- バナー
    - 上か下に固定である帯状の広告
- アイコン
    - 長方形で、同形のボタンやアイコンの羅列に混ざる形である広告
- ネイティブ
    - 開発側でレイアウトを自由に決めれてリストの一部などにほど同化させられる広告
- ポップアップ
    - ポップアップとして画面全体に出る広告
- 動画
    - 言って時間動画をユーザーに見させる広告

などがケースバイケースで使用されることが多いです。ソシャゲや無料アプリなどしようしたことがある人は見たことがあると思います。
私は [AdMob](https://admob.google.com/home/) というGoogle製の広告を選択しましたが、広告サービスは他にもいくつかあります。
[Firebase](https://firebase.google.com/docs/admob/admob-firebase) という今流行りのサーバーレス開発を可能にしてくれるサービスと使用することで、アプリ解析、つまりどの画面の使用率が多いか、どこの国からのログインが多いかなどを解析できるので、こんな風に使われてるのかぁと感じれて楽しいです。

Firebaseは大体のプロジェクトで出会うと思いますので、こういう部分でザッと触るのも後でより困らなくなります（結局困る


# 5-4. モチベーションが元気の源
目先の目標、遠目の目標と明確に立てることにより、そこに到達するために何が必要か逆算しやすくなります。
達成したら自信にもなりますし、道筋を立てるのは大切だよなぁと個人的には思います。

ただ、エンジニアという道のりも終わりがなく技術も目まぐるしく変わるのでモチベーションが落ちる事も沢山あります。
そういう時に自分を鼓舞できる何かを持っておくといいと思います。

なぜなりたいのか、成長したいのかとか、働きたい会社・場所の何かをみるとかなんでもいいです。
私はよく海外のエンジニアたちが仕事の１日を公開している**A day in the life of ~**系のYoutube動画をみて、かっこいいなぁ俺も頑張ろうと元気付けてます。

いくつか紹介します

- [a day in the life of a software engineer](https://www.youtube.com/watch?v=rqX8PFcOpxA)
- [A Day In The Life Of Silicon Valley Engineers](https://www.youtube.com/watch?v=hWFDujYzvbI)
- [a day in the life of a software engineer](https://www.youtube.com/watch?v=DFW8MwstRwY)

今見たら一つよく見ている動画がなくなっていた、、、

自分とは別の庭の人、意識が高い人と話したりするのも刺激になりますし、カフェでラップトップを開くのを横目でからかう人も居ますが、自分でモチベーションが上がると思うなら気にしないでやってみるといいと思います。お客さんのお店に迷惑かけなければ。。


### モチベーション下げる事でモチベーションをあげる
たまにやるんですが、あえてモチベーション下がることを行い、「何をやってしまっているんだ私は、、」という罪悪感を逆手にとって次のモチベーションの踏み台にする方法です。
コン詰めすぎると効率も落ちてくるんですが、かと言って他のことをするにも罪悪感が湧くというカオスが訪れる時があります。その時は敢えて飲みに行くなり遊ぶなりして落ち込みましょう。（リフレッシュできたらラッキー！）沢山落ちたら、その分高く飛べるはずです。
でも精神衛生上よくないのでやらない方がいいと思います。

# 5-5. 疲労とストレスは天敵
頭が動かなくても家事洗濯はこなせますが、頭脳労働は難しいです。忙しくて時間は取りづらいかもしれませんが、自分が最低限パフォーマンスが取れる睡眠時間を探して出来るだけ寝ましょう。記憶の整理は寝ている間に行ってくれるようですから。

それと、脳の栄養はブドウ糖のみと言われています。単糖類に分類されるグルコース（ブドウ糖）は体が分解できる一番小さな糖分で、脳に到達する速度も一番早いです。プラシーボもあると思いますが、固形ブドウ糖だったり、甘いお菓子だったりをつまんでみると、疲れた頭がキュッとすると思います。
私も昔からとってますが、とってそれかよ！と怒られたくないのでこれは秘密です。

ストレスも気が散って集中できなくなったりするので出来るだけ溜め込みたくないですよね。
生活環境により解消する難易度はそれぞれだと思いますが、何かしらの方法で精神衛生をできるだけ安定させられれば、気持ちよく仕事・作業ができるんじゃないでしょうか。（迫る納期、周囲の視線を除いた場合）

個人的には運動ぴったりやーんって思います。健康的ですし、スッキリするし、寝つき寝覚めもいいです。
私も昔からやってますが、やってそれかよ！と怒られたくないのでこれは秘密です。

一日モニター見て座りっぱなしが多い仕事なので、ケアはしないよりいいんじゃないというお話です。
Qiitaっぽくないですが一応シリーズっぽくなってしまったんですいません。

# 5-6. その他
もし異業種その他から未経験でやってみたいという人がいれば、同じジャンルの人や最新情報に出来るだけ触れられる場所を構築した方が良いように思います。
私が始めた時は周りに誰もいなく、聞きたいことも聞けず、大量の道具が溢れているのにどれを使ったら良いかもわからないなど、苦しんだ思い出があります。

なので知り合いがいなかったり環境から遠い人は、ツイッターで似たような人をフォローしてみたり、面白そうな情報系ニュースを追える環境づくりもあったら良いかと思います。そうするとそこから情報を共有できるコミュニティが生まれたりするので心細くないはずです。

何事にも、自分自身をその環境に浸すのは大切なのかなぁと青二才は思います。

# 総まとめ

もしSくんとKくん以外でこれらを読んでくれた方はありがとうございました。未経験の生い立ちなので技術的に楽しい部分はなかったと思いますが、似たような立場の人の参考程度になればと思いました。

実際、ここからがスタートです。ここから更に学ぶべきことがフジヤマのようにあります。プロジェクト毎のパターンも違うので慣れる力も必要ですし、自分のテリトリーだけではなくサーバーサイドやデザイン側の知識も求められることもあります。ここからどう成長できるかは本人の行動次第だと思うので、地道に一緒に頑張りましょう。

良い意見あればいろんな所にいるので突っ込んでください。
あとお二人とも頑張って下さい。

ありがとうございました。