後悔なく生きるために

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

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

f:id:ippeyo:20190803225229j:plain どうも、いっぺよです。 7月中旬に事前学習が終わり、キックオフ(受講開始)となりました。 この度、夜間コースにしてはだいぶ前倒しで本試験に通過しましたので、備忘録として、またこれからTECH::EXPERTに入学しようと思っている方のご参考になればということで第2弾を投稿します! (投稿のスパン長くね?笑)

(家のDIYの記事も続き描きたいけど、しばらくはTECH::EXPERTメインでいきます。)

前回のTECH::EXPERTの記事はこちら。 www.ippeyo.com

ちなみに過去投稿のDIYの記事はこちら。 将来のリスクヘッジに向けて太陽光発電を導入したので、その続きは今度書きます。

www.ippeyo.com

今回はキックオフから本試験通過(基礎カリキュラム)までです。 ちなみに、TECH::EXPERTのカリキュラムのヘッダー画像が綺麗な世界遺産なので、本記事もどことなく真似しますw

キックオフ

f:id:ippeyo:20190803225249j:plain

キックオフは朝の9時にスタート。

いっぺよは事前学習から通いつめていたので小慣れた感じで指定席に着席。

ただ、短期コースの方々が外側、夜間コースの自分たちは中心の席配置だったので、周りから見られている感じでややそわそわ。

(自意識過剰です。実際、誰も自分のことなんか見ていません。)

まずは、中央前面のスクリーンにそって、学習の進捗から将来の相談までを担当するTECH::EXPERTのライフコーチのお一人が司会進行。

朝9時からかなり熱量高めでした。

いっぺよは、前夜に美容事業の仲間で飲み散らかしたがゆえの体調の悪さで、半分ぐらい頭に入らず。

でもまぁスライドの内容は、コースの概要と入学時の心構え的な内容だったので、そこまで問題ありませんでした。セーフ。

一通りお話しが終わると、諸手続きの時間。

入金関係

ここで入金関係の手続きが終わってない人は記入作業などをしていました。 おそらく、分割支払いの口座振替用紙の記入?的な感じです。 一括入金した人は特に作業がないので、次の項目です。

Slackの導入

これ案外見落としがちな準備です。 事前案内に記載されているのですが、その際に最後まで終わってないとこの時間にやる羽目になります。 はっきり言ってこの時間に作業するのは時間の無駄なので、事前案内が来たら設定を終わらせてキックオフに臨みましょう。 ちなみに、入学後の事務的なやりとりや進捗管理などはすべてSlackをとおして行われます。

slack.com

合同ミーティング

諸手続きが終わり、さあカリキュラムの本格スタート!かと思いきや、短期コースの人はいきなり合同ミーティングな感じでした。 そのあと夜間コースが11時から合同ミーティングです。 内容は以下の通り。

  • チーム分け
  • 自己紹介
  • カリキュラムの進捗の詳細説明

ここで決まるチームで最終課題のグループ開発、という予定だそうですが、夜間コースの学習進捗は人によって大幅に違うそうなので、場合によっては期を跨いでの編入を提案されます。 実際、いっぺよも本試験通過直後の個別面談で「1期前への編入についてはどう思うか」について打診されました。 ちなみに「今はなんとも言えない」と言って逃げ切りました笑

学習内容

f:id:ippeyo:20190803225320j:plain さて、気になる学習内容です。

HTML

ウェブページの顔となる部分です。 表面的な見た目ページのことです。 CSSと合わせて、実際にページを作成することで身につけていきます。

事前学習の時点で

<header>
<body>
<footer>
<class>
<div>
<href>

このあたりが何なのかわかっておけば大丈夫です。

CSS

カリキュラムの薄っぺらさのわりに、かなりモダンなデザインを学習します。 文字を赤くして、背景を青にして、、、 とかそんな生易しい知識では到底理解できませんので、Progateの有料コースまで手をつけておいた方がいいです。

カリキュラムが薄っぺらいというのは誤解を招きそうなので書いておくとカリキュラム上の説明が少ないということです。 実際にページを作成する際にいきなり使うので、そこで覚えていく感じです。

ただ、正直言って、ここで完璧に理解するのは無理です。 (怪物級の人は当然のように一発でものにしていますが気にしなくていいです。)

Ruby

ターミナルへの出力のputsメソッドからはじまり、配列、ハッシュ、繰り返し、アルゴリズムまで一気に学習します。 これも、アルゴリズムを実際に作りながら身につけていく感じです。

学習して思いました。。。。 一回で覚えるなんて到底不可能だと。 のちの中間試験で思い知らされました。

しかし、上記の項目がなんなのかぐらいは頭にいれておくといいでしょう。

Rails

Rubyの知識もほどほどにRailsに突入します。 この辺は、もう未経験からすると呪文のオンパレードです。 何をやっているかさえわかりません。

でも初回はこれで大丈夫です。 余裕をもって学習を進めれば、2周目で理解できてきます。

内容を超簡単に言うと、ルーティング、コントローラー、ビューを繰り返し設定・編集しながら、インスタの簡易版などを作ってRailsの流れを把握します。 レビューサイトもつくりましたが、ここではgemを使ってスクレイピングやページネーションを実装します。

また、実装途中に遭遇するRailsのエラーに関する問題も解きますので、知識0の状態から、短期は2週間、夜間は6週間でここまで身につけます。 タイトすぎます。

ちなみに、いっぺよは夜間のくせに張り切りすぎたので、短期の方とほぼ同じタイミングで上記の基礎カリキュラムを終えています。 でも、張り切ったほうがいいです。 じっくりやってもどうせわからないので、それよりカリキュラムを2周すべきです。 1周目なんて、ほぼ読書とコピペだと思っておいてください。 理解は2周目以降がおすすめです。

学習のコツ

f:id:ippeyo:20190803225334j:plain

中間試験まで

学習のコツですが、とにかくスピード重視なのが中間試験までです。

  • わからないことは即、メンター(教室常駐)に聞く
  • カリキュラムのコードをコピペしてプログラムを動かす
  • カリキュラム内に散りばめられている課題は即、解答閲覧 こうでもしないと無理で。 というか、周りの同期はほぼこんな感じで1周目を終えます。

結果、中間試験は10点台が平均点だそうです。 (もちろん、いっぺよもそのぐらいでした爆笑)

本試験まで

中間試験の絶望的な点数とは対照的に、諸先輩方やライフコーチはニヤニヤしております。 意味不明でした。

これまでの学校生活でも、こんな点数を叩き出したのは苦手な世界史ぐらいです。 そのときは25点だったか。

そうです。 要するに中間試験まではほぼ何もアウトプットできないようなレベルでいいのです。

さて問題はここからです。 中間から本試までに3回の模試というものがあります。

これを踏み台にして、カリキュラム2周目を行いながら本試に臨みます。

結果的に、いっぺよは模試1回しか受けずに、89点で本試を通過することになりました。 なぜか2周目になると1周目の呪文達が理解できるようになってきます。 そして大切なのは「ノリ」です。「準備万端」は無理です。

ただ、やはり理解は不十分なので応用カリキュラムと並行してしっかり身につけたいと思います。

抑えてくべき要点

一応、こちらでアウトプットも含めて各項目の最低限の要点だけ紹介しておきます。 (カリキュラムの解答ではありませんので、CSSの参照は一例です)

HTML

特に覚えることはほぼありません。 パッと見たときに、どの要素が定義されているのかがわかれば問題なし。

CSS

position: fixed;
/* スクロール時にヘッダーを固定 */

float: left(right);
/* 要素を左上(右上)に詰めていく */

text-aline: center;
/* テキストなどのインライン要素を中央寄せする*/

 
position: relative;
/* 親要素に設定。absoluteと対になる*/

position: absolute;
/* 子要素に設定して親要素を基準に配置できるようにする*/

Ruby

while文

while 条件式 do
    # 処理を実行する
end

eachメソッド

配列オブジェクト.each do |変数|
    # 処理
end

ハッシュオブジェクト

ハッシュはキーでオブジェクトを管理

hash = {}

配列オブジェクト

配列は順番でオブジェクトを管理

配列オブジェクト = []

クラス

設計図、みたいなもん 工場、みたいなもん

インスタンス

実態、みたいなもん 生産物、みたいなもん

Rails

リクエスト

まず、ウェブサイトからリクエストが来る。 URLの「/」以降がウェブサイト側からのリクエスト。

1_ルーティング

アプリケーション側で、リクエストを受け取る。 さて、このリクエストをどう捌こうか、というのがルーティングの役目。司令塔。 実行するのはコントローラーなので、「コントローラー!この処理をしてちょ。」と指令を出す。

2_コントローラー

ルーティングに言われた通りに処理する。 指示待ち族。 ここにいろんな処理を書くので、基礎カリキュラムでの登場頻度は高め。

3_ビュー

コントローラーで処理された結果をウェブサイト上に反映させる。 名前の通り。 多少の記述方法の違いはあれど、RailsのHTMLみたいなもん。

脇役1_モデル

脇役という書き方ですが、いないと成り立たないです笑 データベースとの橋渡し。

脇役2_データベース

これまた名脇役。 Webサービスの情報を保存している部分。 ここから情報を取り出したり、ここに保存したりする。

これから

f:id:ippeyo:20190803225357j:plain 諸先輩方は口を揃えて言います。 基礎カリキュラムが鼻くそに思えるほど応用カリキュラムが難しいと。

そりゃそうです。

応用カリキュラムは、メンターへの質問が原則禁止になり、自走力をつけることが目的になるからです。 戦々恐々としています。

次回更新時に、エンジニアへの道を諦めていないことを祈りつつ、TECH::EXPERT第2弾の記事を締めたいと思います。 ではでは!