(学習記録) 2月の振り返り／3月の計画

# はじめに
2019年1月に15年ぶりエンジニア復帰を決めた40代中年の**定期的な現在地・目標確認と軌道修正**の為の自分用メモです

基本的にアウトプット練習を兼ねた自分用ですが、同じく比較的高年齢でIT業界デビュー
かつ**スクールに通う費用や時間の捻出が難しいが、独学で何をどうしたらいいのか方向性もわからない**
といった方の参考になれば幸いです

# 謝辞と参考元紹介
情報収集の途中から私の学習分野・戦略面などの方向性決定の上で、かなりの部分で
「雑食系エンジニア」勝又健太＠テック系Youtuber（@poly_soft）氏の発信情報を参考にさせていただいております

同氏は最新の開発現場で必要とされるスキルから各言語の現在の状況、開発環境や就業形態の一長一短まで幅広い知見を全て**無償で**公開されております

この場を借りてお礼申し上げます

<details><summary>（業界未経験者・モチベ維持に苦労される方向け）KENTA氏の発信情報についてkwsk</summary><detail>
同氏の発信情報が**「全てのエンジニア（を志す方）に普遍的に役立つ情報か」**と言えば
「ずっと新しいことを学習し続けなければならないのは正直しんどい」
「なるべく手堅い会社に長く勤めて安定したい」
といった方のニーズには合わないと思います
勿論それも**全然アリな選択**で、優劣の問題ではないと思います。
が、どの業界であれ
「自分の市場価値を高める」=「他者に対し継続的に高い価値提供ができる」
そういった人材を目指すのであれば、**生涯を通して学習し続ける姿勢**というのは必須になると思います
無論それだけが人生の全てではないので、
「家族との時間を大切にしたい」
「余暇は仕事を忘れて趣味に興じたい」
などの優先順位を上位に据えたい方はそれでいいと思いますし、
別にどちらか一方しか選べないわけでもなく、いずれは両立も可能になると思います
同氏の発信情報を最大限活用できるのは
「プログラミング楽しい！ついつい寝食も忘れてやっちゃうYo!」
という~~一部の変態~~子供のような好奇心で取り組み続けられる人種じゃないかと思います
</detail>

# 簡単な経緯
Twitterでは自分の投稿もどんどん流れて埋もれてしまうので、見ていただく方の役に立つかどうかは不明ながら毎月末・月初にまとめて大まかな学習記録・予定計画をQiitaの投稿として記録することにしました。

初回となる今回は1月～2月末までの大部分が記憶頼り、且つ学習内容がProgate等の入門レベルの復習が大半であった為、これまでの経緯なども含めたざっくりしたまとめ。

次回からは日・週スパンで学習内容を下書きとして貯めておき、毎月末・翌月初に整理して公開する形で継続したいと思います

# 現在まで(1～2月末）の学習状況
- progate有料（法人アカウント）版
  - HTML/CSS 中級編まで
  - JavaScript (ES6/ES5)
  - Java
  - PHP
  - Command Line
  - Git
  - SQL
  - Sass(SCSS) ※息抜きでやった
  - Ruby
  - Rails（今ココ）
- paiza
  - ラーニング
  - スキルチェックRank D～B
- GitHub
  - ソースコード・バージョン管理
  - 仮想チーム開発（コードレビュー等頼める講師無し）
  - サルでもわかるGit
- ポートフォリオ制作（PHP練習課題）ToDoListほか細々
- [AWS ec-2デプロイ](http://ec2-13-112-237-214.ap-northeast-1.compute.amazonaws.com/)
- 英語（主にListening & Reading）
- 文章ゼミ（書き方教室）

# 3月の学習計画
- Progate Rails編
- 並行してJavaScript学習も再開
  - Railsによるポーフォリ1作目完了後→React（或いはVue, TypeScript, Node, jQuery）
- 3/10～ [チェリー本(電子書籍版)](https://www.amazon.co.jp/o/ASIN/4774193976/)
  - （amazonでなく[技術評論社の電子書籍販売サイト](https://gihyo.jp/dp)で購入済み）
  - 並行してポートフォリオ2作目をRailsで作成開始
  - （同日3/10 TOEIC L&R TEST 初受験）※プログラミング学習優先なので現在地確認目的
- 3/20～ Railsチュートリアルを**1周だけ**やる


## 詳細な経緯
（長文です）[#「結論と現在」に飛ぶ](#結論と現在)
ここは本当に30代後半以降の未経験者だとか近い立場にある方の参考になれば、ということで**回り道に感じた反省点なども含めた**詳細な経緯を記録しておこうと思います

15年ぶりのエンジニア復帰（経験年数も浅いため、実質**「40代未経験デビュー」**同然と受け止めている）を決めてから、1ヶ月以上もの間**実際に手を動かすプログラミング学習よりも情報収集**に時間を割いていました

- スクールの比較検討
- 現在のIT業界の状況把握（古いままの業界知識の更新作業）
- **40代未経験(同然)者に必要と思われる戦略**
- 習得言語・開発環境・ツール等の選定

これらの情報収集に相当数の時間を費やし、プログラミング学習自体は「とりあえずJava(＆eclipse)の復習として練習問題を解くだけ」という日々を3週間続けました

この辺の選択の迷いは**優良な**スクールに通い**優秀な**講師・転職エージェント等に質問・相談できる環境さえあれば、大幅にショートカットして技術の学習に早い段階から集中できたんじゃないかと思います

### 有料スクール利用か独習かで大いに悩む

なまじ中途半端に**「全くの未経験者でもないから」**という理由で、「できれば高額なスクールに通わずに済ませたい」と単に**自己投資を惜しむ気持ち**もあったのでしょう

全くの未経験者で身近に現役エンジニアもいないのであれば、迷わずスクールに通った方が**ただ情報収集だけして迷っている時間**や、今から学習してもあまり**実務で必要にならない知識の習得**に時間を浪費するリスクを避けられ、結果的に「**お金で買えない時間のロス**を防げたお得な買い物」になるかと思います（あくまでも優良なスクール・担当講師に当たれば）

スクール選択に関しても散々検討を重ねたものの、「何を学習すべきか」「どう解決の糸口を辿っていけばいいか」は　既にある程度理解できている、自力で調べられるという前提で「方向性もわからない未経験者を１から導いてくれる」という意味合いでの必要性は自分には薄いと判断し見送り

無論スクールに通う利点は他にも多々あるのですが、全くの未経験者にとって重要な点として
「まず何から手を付けたらいいのかもわからない」
「モチベーション維持が難しい」
「自分に職業適性があるのかどうか不安」
「同じような未経験者の仲間との出会いがある」
といった心理面のカバー、羅針盤としての役目も大きいと思います

### さらばJavaよ
そうして1月も終わりに近づく頃、懐かしのApache, Tomcat等の環境構築を経てServletやJSPの復習に入る手前で、過去の実務経験も含め**現状まだ一番書けるJavaを手放す**と決断

理由は**(高確率で)15年前と同じ働き方(SES, SIer)にしか繋がらない**という判断

今回のエンジニア復帰は望む働き方、ライフスタイルを追求した結果導き出された**実現手段**であり、「とにかくエンジニアとして復帰できればOK」ではないので別の言語を選択することに。

ただ、Javaは言語仕様としては~~(ﾋﾟｰｰｰｰ)HPなどより~~しっかりした言語なので、15年前以来とはいえ**ベース言語としてJavaの経験があったことは大きい**と思います

余談ですが、昔会社の研修期間2ヶ月のうちに**SCJ-P**(*Sun certified programmer fot the java2 platform1.4*)等の資格も取得したものの、今回復帰決めた後までSun microsystem社がOracle社に買収されたことも知らず
**「オラクルマスターシルバー？それってデータベース資格だよね？」**
 という浦島太郎状態でした

### **RubyかPythonかPHPか**という選択肢に

(以下はあくまでも当初の考え)

- Pythonを選ぶ
  - ≒AI関連に進む＝**数学の学習コストが高そう**
  - まだまだ仕事の件数自体少ない
  - 人材（供給バランス）も少ないが、**要求される習熟レベルは高そう**:fearful:

なので「今の自分の状況で真っ先に選ぶべき言語じゃない」と判断

- Rubyを選ぶ
  - (特に関西では）まだまだ案件数が少ない
  - 少ない記述で生産性高いが、Railsというレールに乗った範囲から脱線もし難い？

とかはまだしも、

- Ruby = Railsありき
  - =>なんだかよくわかんないけどサクッとそこそこの成果物できちゃった:flushed:
  - =>あれ？俺ってけっこうイケてるんじゃね？:smirk:
  - **=>現場入ってから爆死**:scream_cat:
  - **=>メンタル崩壊**:skull:

みたいな**漠然とした不安**とか全体的に弱気・悲観的傾向
恐らくこの頃インプットした情報の影響で「高年齢・低スキルで不利」という不安が増幅
手堅い選択肢・安心感を求めてたのかな、と

そして残ったPHP

- PHPを選択
  - 仕事の件数は多いので間違いなく無難な選択
  - 世界のサイトの1/3はWordPress
  - Javaより更に短いながらも一応16～17年前に経験もある
  - **高年齢・低スキルでも**とりあえず**安い単価なら**早く案件獲得or現場に潜り込めそう


で、殆ど消去法で「今すぐRubyはナシ、とりあえずPHPから入って収入確保・現場経験積んでから他言語へ」という方向に。

今思えばところどころフィルターがかかっていたというか

「半年後・一年後**思ったほどスキルアップできていなかった場合**の備え」など
攻めと守りのバランスというより消極性、自信の無さ・決意の弱さの現れだったなと思います。

# 結論と現在
1月からプログラミング学習を始め、その半分近くの時間を情報収集に割いた2ヶ月でした。

先日の[AWSへのToDoList公開](http://ec2-13-112-237-214.ap-northeast-1.compute.amazonaws.com/)を区切りにひとまずPHPの学習と最初の成果物作成は一旦置き、Railsの学習を開始しました。

結果的に**「テキストエディタだけでゼロからゴリゴリコード書いてサービス制作」**という、今どき現場で経験する機会も無いであろう作業にも十分意義はあったと思うものの

「時間をかけてしっかり基礎を固めてから成果物製作に着手」
という手堅さ重視ではなく、最初からスクール利用してRuby&Railsで
「なんだかよくわからないままにそれなりに動く成果物ができちゃった」
というところから知識を深化させていく方が成長も早かったかもしれません。

尤も、誰にも・いつでも共通のたった1つの正解があるわけではないですし、
今から改めてローン組んでスクールに通い始める、という選択より
このまま独習を続け、早めに東京に引越す方が現時点で懸命な選択だと考えています。

なんにせよ、ただ迷って行動しない時間や
「あの時ああしておけばヨカッタ」と悔やむのはロスでしかないので
ここまで選んだ選択肢を正解にしていけるように行動していきます。

# 反省点

この記事の記述自体への反省点。

- **アウトプットに時間かけすぎ**
- **すぐに超長文化**
- **それは自分だけでなく読む人の時間も奪う**
- **結果的にそんな自己満文章は誰にも読まれない→まさに時間の無駄**

実際、2/28の23時過ぎに「ちょろっと書き出してサクッと公開」のつもりで始めたこの記事を翌朝4時半までかけた挙げ句、「長過ぎる」という理由で躊躇し結局お蔵入り…

そのまま公開しなかったらホントに何やってんだ、ってことで3日遅れて公開。

今後は時間（自己）管理訓練の一環としてアウトプットにかける時間と文字数を制限
サクッと書いてさぱっと公開できるよう継続する。

以上

長文になってしまいましたが、お読みいただいた方ありがとうございますm(_ _)m