Twitterを見ていると、
「そんなレベルまで勉強しているの!?」
と思うことがよくあります。
逆に、
「(そのレベルじゃ厳しいだろうな...)」
ということもあります。
初学者にとってどこまでを実務へのラインとするべきなのかがはっきりしない為、
当然の現象だと思います。
あくまで一個人の体験に基づいて、どのラインまで身に付けたら
実務へ飛び込むべきなのかを書いていきます。
##実務へのライン
最低限身に付けたい
Swiftエンジニアとして、独学でどこまで勉強するべきかをリストアップしてみました。
・基本的な実装
・基本的な実装のカスタマイズができる
・APIからデータを取得し、利用できる
・Cocoapodsでライブラリをインストールし、カスタマイズができる
・sourcetree・githubが使える
・Firestoreが使える
・ある程度のUI/UX感覚
・ある程度のエラーを自分で解決することができる
大体ここまで出来ていれば、すぐにでも実務に飛び込むべきです。
独学は実務に敵わないからです。
ライブラリも、いくつも勉強する必要はありません。
チャットライブラリや図形ライブラリなどが使えれば十分かと思います。
実務に入るラインま出来たらあとは実務で学ぶのが良いでしょう。
プロジェクトに携わり、実際に動くコードで書かれている物を見本とできるので、
吸収効率も違いますし、何よりわかりやすいです。(百聞は一見にしかず)
##最低限身に付けたいスキルを詳しく
・基本的な実装
こちらはXcodeのコアライブラリにあるようなTableViewやCollectionViewなどの
基本的な実装です。それが出来たら次はカスタマイズをしていきます。
・基本的な実装のカスタマイズができる
TableViewやCollectionViewのレイアウトなどを自分好みにカスタマイズできるように
いじくりまわします。カスタムセルなどもここで抑えたいですね。
・APIからデータを取得し、利用できる
非同期処理の勉強をします。DispatchQueueやクロージャを使い、
APIを利用できるようにします。
・Cocoapodsでライブラリをインストールし、カスタマイズができる
ライブラリを使用しないプロジェクトはほとんどありません。
pod installでのライブラリインストールに慣れておきたいですね。
あとは外部ライブラリをカスタマイズできるようにします。
(外部ライブラリの使用は面接用のポートフォリオなどで役に立ちます。)
・sourcetree・githubが使える
定番のプロジェクト管理ツールです。
最低限使えるようにしたいところです。
・Firestoreが使える
ポートフォリオとしてある程度役に立ちます。
・ある程度のUI/UX感覚
どんなに複雑なロジックよりも、第三者の目をまず惹くことができるのがUIです。
ここに拘れると評価が高くなりやすいです。
UI、つまりデザインはセンスというよりも引き出しを増やす感覚に近くて、
例えばリンゴを知らない人がリンゴを書けないように、
美しいデザインをストックしておかなければ
美しいデザインを表現するのはなかなか難しいです。
pinterestで「app ui」などで検索し、引き出しを増やすと良いです。
・ある程度のエラーを自分で解決することができる
言うまでもなく、これはエンジニアとしてとても大切なポイントですね。
##おわりに
いかがでしたでしょうか。
いつまでもインプットせず、まず実務に入ることを目的として勉強するのが
良いかと思います。