後悔なく生きるために

一度きりの人生、後悔はないか?

IT未経験の30歳がエンジニアを目指してみる〜TECH::EXPERT夜間コースの応用カリキュラム1週目まで〜

f:id:ippeyo:20190812015027j:plain TECH::EXPERTのキックオフから3週間で応用カリキュラムに突入した、いっぺよです。

このペースなので夜間コースです。 夜間コースの割に結構ハイペースみたいです。

ちなみに、短期コースは2週間で応用カリキュラムに進んでなければいけません。

さて、前回は基礎カリキュラムから応用カリキュラムに進むために避けては通れない「本試験」までのポイントと押さえるべき技術的なポイントを書きました。

今回は、応用カリキュラムがスタートして1週間が経過したので、備忘録も兼ねて、これからTECH::EXPERTを検討している人にとって有益な情報となればと思います。

  • キックオフ前

www.ippeyo.com

  • 基礎カリキュラム通過まで

www.ippeyo.com

全体像の把握が大事

f:id:ippeyo:20190812015046j:plain 何事も、全体像が見えないと今取り組んでいることの価値が変わります。

基礎カリキュラムから応用カリキュラムに入るタイミングで、今一度この話が頭の片隅にあった方が良さそうなので紹介します。 (カリキュラム内容以前の話です)

イソップ寓話の有名な話があります。

3人のレンガ職人の話(概要)

f:id:ippeyo:20190812015106j:plain

1人目の男

一人の男が難しい顔をしてレンガを積んでいた。 旅人は「ここでいったい何をしているのですか?」と尋ねた。

男は「何って、見ればわかるだろう。レンガ積みに決まっているだろ。(以降、愚痴)」

2人目の男

もう少し歩くと、一生懸命レンガを積んでいる別の男に出会った。 先ほどの男のように、辛そうには見えなかった。 旅人は「ここでいったい何をしているのですか?」

男は「俺はね、ここで大きな壁を作っているんだよ。これが俺の仕事でね。(以降、仕事に対するプラスの意義)」

3人目の男

また、もう少し歩くと、別の男が活き活きと楽しそうにレンガを積んでいるのに出くわした。 旅人「ここでいったい何をしているのですか?」

男は「俺たちは、歴史に残る偉大な大聖堂を造っているんだ!(以降、ビジョンの話)」

何が言いたいかというと、ボリューミーな事柄が目の前にあると、その事柄の目的を見失ってしまいがちということです。

カリキュラムの目的ということでいうと間違いなく「勉強の習慣づけや勉強方法、技術をキャッチアップするスキル、そしてマインドセット」です。 https://tech-camp.in/note/pickup/57676/

これを踏まえてみると、応用カリキュラムの導入編の内容は以下の通りです。

応用導入のメイン

f:id:ippeyo:20190812015120j:plain 自走力

心構え

やはり、そうですね。 「現場で即使える技術力を身につけて欲しい」とは書いてありません。 (カリキュラム進めてると、インターネット広告は誇大広告と虚偽表示ギリギリな感じもしますがw)

身につけておくべきIT人材としてのスキルとマナーという点で、細かい部分にも言及していますが、基本的には「自走力」と「心構え」がメインのカリキュラムです。

スキルを身につけることを目的としてカリキュラムを進めるのは本末転倒

応用カルキュラムは、基礎カリキュラムよりもペースを上げて進めることを意識したほうがいいです。

何度も言っておりますが、現場でそのまま使えるスキルを身につけるのは短期コースの10週間や夜間コースの6ヶ月では不可能に近いからです。 ・現場によって仕事内容も異なる ・マスターしながら進めるのは効率が悪い

とにかくボリュームが多いので記憶が上書き保存されてしまいます。 それよりは、前倒しで進めていって、自分を客観視できる心の余裕を持っていた方がいい気がします。 (中にはITセンス抜群ゆえに怪物的なスピードで進めている人もいるので例外もあります。)

とはいえ、応用カリキュラム終盤では、その心の余裕もなくなるほどのボリュームなので、特に前半で余裕を持っておくことは本当に大事みたいです。 (諸先輩曰く、例え理解が曖昧でも、実際にWebアプリケーションの作成時に、頭と手を動かすタイミングで知識を身につけていく感じだそうです。) ただ、手前味噌気味ですが、前倒しできるほどの勉強時間を忙しい合間を縫って、割くことができるかどうかという、自己管理能力が問われると思います。 ※夜間コースの場合、日中の本業の度合いは人それぞれなので、一概には言えませんけどね。

要点のまとめ(応用カリキュラム前半) 

f:id:ippeyo:20190812015135j:plain 学習における、具体的な内容はTwitterで投稿しているので、ここではザッと概要をまとめました。

twitter.com

以下の内容を知った状態で臨むのと、カリキュラムで単語が出てきた時点で初見なのとでは、学習効率が大きく差が出るはずです。

正規表現

  • 文字列の一部分を置換する
  • 文字列が制約を満たしているか調べる
  • 文字列の一部分を抽出する

JavaScript

  • HTMLやCSSを一気に動的に編集できるクライアントサイドの言語
  • クライアント(ホームページに訪れた人)によって実行される操作・処理なので、クライアントサイドという
  • ユーザーのクリックや入力のような操作を感知して処理を行える

jQuery

  • 簡単な記述でHTML・CSSを操作できる
  • セレクタで編集箇所を指定して、どこをどうするか編集できる。
  • すべてのブラウザに対応できる

Git

  • 編集履歴の保存というニュアンスで捉えがち
  • 編集履歴の積み上げと言った方が感覚的に近いと思う

GitHub

  • Gitを効率よく管理するWebサービス
  • Hub(ハブ)というのは「集まり」という意味。今更ながらバーのHubってそういう意味だったのか!?
  • 世界中のGitのリポジトリが集まったハブの役割を担っているサービス

データベース設計

  • 情報の保存庫・管理庫のようなものなのでアプリケーションの根幹といっても過言ではない
  • ターミナルからの操作は重要
  • 作成するサービスやシステムに必要な情報をどのようにデータベースで管理するかを決める
  • データベース設計をしっかりと行うことで、より効率的かつ簡易的にデータの操作を行うことができる

これらを具体的に知った上で、ChatSpaceというWebアプリケーションに取り掛かります。 これからカリキュラム上では、ノーヒントでWebアプリケーションを作り上げていくのでドキドキです!

ではでは!