【スキルの棚卸し】未経験から受託企業に入り1年経ったので、学んだスキルを全部書いてみる

#はじめに　

2019年7月にキャリアをスタートさせました。
Railsエンジニアとして1年でいろいろなことを学んできたので、簡単にまとめてみます。

いろいろなキャリアの積み方があるのでどれほど成長できてるのかは不明ですが、ほんの一例としてご参考ください。

#経歴

・調理士学校卒
　パソコンには一切触れず
・レストラン、結婚式場で5年勤務
　パソコンには一切触れず
・2018/10〜　某エンジニアスクールで学習開始
・2019/01〜　卒業
・2019/05〜　家庭の事情があり、ようやく就職活動を始める。
・2019/07〜　就職
・2020/7　現在（2年目）


#1年で学んだこと

##１）技術関連

###Ruby/Rails
入社してから4ヶ月くらいは毎日触っていました。
入社当初よりだいぶ読むのに抵抗が無くなったなと思ってましたが、別PJに移ると、同じRailsでもすんなり読めない箇所が結構出てきたので、まだまだ甘いんだなと痛感しました。


要件を機能にまで落とし込むこと（ステータスを持たせるべきか、ステータスの種類としてどれを選ぶべきか等）非常に苦労した覚えがあります。
byebugを使ってどんなデータが入っているか確認する癖はここでつきました。
他にはwebとスマホでも使うようにするためUIとUXを分けて考える必要があったため非常に勉強になりました。
特にスマホは画面が小さいためUIのでデザイン設計は苦戦しました。

業務フロー的に機能の設計〜開発を担当し、お客様と何度も要件を擦り合わせ、完成後本番環境に移行した後もしばらくはバグ対応などで苦労しました。

###ステージング/本番環境へのデプロイ
機能実装をして毎週のようにデプロイ作業を行なっていました。
本番環境でなぜか動かないなどの現象が起き必死てバグ修正をしていました。
rails assets:precompileなどを忘れてただけということがありました。

###SQL
必要なデータを調べたり、お客様からの要望で欲しいデータを集める時に使いました。
本で学習することも大切ですがsqlに関しては現場で書くことが一番身につく方法だと思います。

###Git
チームでのgit開発方法について学べました。スクールではGitHubのGUIを使っていたためCUIには抵抗がありましたが、使っていくうちに慣れました。

###Java
スクリプト原語の他に1つコンパイル言語を学びたい理由でJavaを始めました。
PJにもアサインされここでは簡単な機能実装や保守を担当しました。


##２）顧客対応,スケジュール管理
###タスク/スケジュール管理
お客様の要望の全てを、`Googleスプレッドシート`で管理したりエクセルの使いかたはここで学んだ気がします。
[Googleスプレッドシートを爆速で活用するための基本＆応用の関数10選](https://form.run/media/contents/google-spreadsheet-basic/)

タスク進捗、WBSもGoogleスプレッドシートで管理
そもそもWBSとは？から学びました。
結論非常に苦労しました。WBSを書くにはスタートからゴールまでわかっていないと書くことができないので。



#[補足]次の1年でやりたいこと

今後学びたいスキルを書いていきます。
開発に力を入れたいです。

※　アドバイス等あれば嬉しいです。

###Rails
基礎力が低いことを通感しました。
原点に戻って、基礎からサッと復習したいなと思います。
[Ruby on Rails チュートリアル](https://railstutorial.jp/)
[プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで](https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%92%E7%9B%AE%E6%8C%87%E3%81%99%E4%BA%BA%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AERuby%E5%85%A5%E9%96%80-%E8%A8%80%E8%AA%9E%E4%BB%95%E6%A7%98%E3%81%8B%E3%82%89%E3%83%86%E3%82%B9%E3%83%88%E9%A7%86%E5%8B%95%E9%96%8B%E7%99%BA%E3%83%BB%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E6%8A%80%E6%B3%95%E3%81%BE%E3%81%A7-Software-Design-plus%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA/dp/4774193976)
[現場で使える Ruby on Rails 5速習実践ガイド](https://www.amazon.co.jp/%E7%8F%BE%E5%A0%B4%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B-Ruby-Rails-5%E9%80%9F%E7%BF%92%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-%E5%A4%A7%E5%A0%B4%E5%AF%A7%E5%AD%90/dp/4839962227/ref=pd_lpo_14_t_1/357-3152370-9879618?_encoding=UTF8&pd_rd_i=4839962227&pd_rd_r=e3cb6b89-d98c-4a88-8d27-ef41fe42a41d&pd_rd_w=2iWaf&pd_rd_wg=IIDIl&pf_rd_p=4b55d259-ebf0-4306-905a-7762d1b93740&pf_rd_r=M48S4ZR2JV0FG8HXE81X&psc=1&refRID=M48S4ZR2JV0FG8HXE81X)

社内で書かれてるコードを読むのも勉強になるので、自社のPJのコードを積極的に読んで行きたいと思います。

###JavaScript
実務であまりJavaScriptを触っておらず、エンジニアとして結構な弱点だと感じています。
まずはじっくり生JavaScriptに慣れていこうと思います。（今後の需要を考えてVueやReactではなくTypescriptを学びたいと思っています。）

[開眼！ JavaScript――言語仕様から学ぶJavaScriptの本質](https://www.oreilly.co.jp/books/9784873116211/)

[改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで](https://www.amazon.co.jp/%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88JavaScript%E6%9C%AC%E6%A0%BC%E5%85%A5%E9%96%80-%E3%83%A2%E3%83%80%E3%83%B3%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%81%AB%E3%82%88%E3%82%8B%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E7%8F%BE%E5%A0%B4%E3%81%A7%E3%81%AE%E5%BF%9C%E7%94%A8%E3%81%BE%E3%81%A7-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B/dp/477418411X)
[JavaScript Primer](https://jsprimer.net/)
まずはこの辺りを参考にする予定です。

###IT基礎
知識不足を日々感じます。
まずは`基本情報`でIT基礎を網羅的に頭に叩き込みます。

その後`Linux` `SQL`あたりも、王道めな技術書をざっと読んで早く頭に入れてしまいたいです。

###チームリーダー
チームをマネジメントしてPJを成功に導くと経験、
書くメンバーのスキルを把握し適切なタスクを振り分けるスキルを身に付けたいです。

###突破力
ググり力は上がりましたが、基礎知識不足のせいか諦めて社内の人を頼ることも多々ありました。
ベースの力をつけるのはもちろん、その上で分からないことも粘り強く最後まで諦めないようにして、突破できる力をつけたいです。
ただ仕事なので、これ以上無駄だと判断したらタイミングよく見切るクセもつけたいです。

なるべく意識してるのですが、この境目がなかなか難しいです。