Code Chrysalis の Foundations コースを修了して出来るようになったことや感想をまとめてみた
みなさんお疲れ様です、Kosukeです。
今回は、Code Chrysalis の Foundations コースを修了した記念として、大まかな内容や身に付いたスキルなどを書いていこうと思います。
Code Chrysalis でプログラミングを学んでみたいけど悩んでいる方に向けて執筆していければと思っています。
1. カバーしている範囲
Code Chrysalis では、現在(12/28 2022 時点) 以下のコースを提供しています。
- Foundations lite
- Foundations
- Immersive
- Immersive part time
この中で私が受講したのは、Foundations コースになります。
以下では、こちらのコースでカバーしている内容を1つずつ見ていきます。
まず初めに、リソースの探し方やメンタルの保ち方といった、デベロッパーになるための心得に関する授業が含まれていました。
そして、もちろん JavaScriptの基本的な文法内容をカバーしています。
次に、HTMLとCSSの基本も含まれていました。しかし授業内で扱われる場面は少なく、与えられた参考文献を参照して自分で学習することが推奨されていました。
最後に、 JavaScript から HTML や CSS を操作するための DOM までが含まれていました。
ここまで学習すると「ボタンを押すと表示が変化するWebアプリ」みたいなものを作れます。
加えて、通常の授業だけでなくprojectという単位の課題が出るのですが、これをこなすと修了までに以下の内容が身につきます。
すなわち、HTMLとCSS、JavaScriptで動的なwebサイトを作れることや、データの構築や取得を行うAPIの作成、DOM (HTMLをオブジェクトとして扱い各要素を操作できるAPI) を扱う練習用webサイトの制作などです。
なお、これらの授業リソースは永久アクセスが可能で、同期の受講メンバーで構成されたチャットグループや、Code Chrysalis 全体のチャットグループにも永久アクセスが可能でした。
全体のグループslackでは技術的な質問だけでなく、ハッカソンや勉強会の誘い、人材のリクルートも行われており、海外のエンジニア/エンジニア志望者とコンタクトを取れる環境が整っています。
2. 出来るようになったこと
技術面
技術的には、ローカル環境で JavaScriptとHTML、CSSを利用した動的なWebサイトを作れるようになりました。
また、これまで私は仕事でインフラ系の技術に触れてきたのですが、DOMやWeb APIの概念を学習することで、クライアント側の振る舞いに対する理解が深まりました。
例えば、、
英語面
英語面では、作業中に自分がやろうとしていることや、分からないことの質問などを以前よりもスムーズに伝えられるようになりました。
以前に投稿した記事でも、私が Code Chrysalis へ応募する時に英語面でかなり不安があった上で応募したことを書きました。
そして実際にかなり苦労したのですが、、1ヶ月間に緊張感を持って60hの授業を英語のみでこなした結果、英語を話す障壁がかなり下がり、かつ自分の状況やコーディングの内容を説明する英語力が上達したと感じています。
今後自分がどんな点を強化したら良いかなども実感したのですが、なにより「英語で話す障壁が下がったこと」と「英語で意思を伝え合う感覚が磨かれたこと」は収穫だったと思っています。
これまでは英語系の専攻出身にも関わらず、英会話から逃げ続けていました。しかし英語で話す障壁が下がったことで、オンライン英会話に飛び込んでみたり、会社にいる海外出身のエンジニアに思い切って会話しにいったりすることができるようになりました。
英語で伝える感覚の上達という意味では、周りのメンバーを見て “I’m stuck on this problem…” (この問題に詰まってるんだよね、、、) といった「実際に多国籍間で通じ合っていた表現」を、自分の技として操れるようになってきたという感じでしょうか。
3. カバーしていない範囲
私が参加した Foundationsコースでは、PHPや Python、Node.jsといったサーバーサイド技術は扱いませんでした。
基本的には、ローカル端末で書いたHTMLやJavaScriptのコードを、ローカルのWebブラウザで読み込み表示させます。
サーバーサイド関連の技術は、よりレベルの高い Immersive コースで扱っているとのことです。
また、HTML/CSS についても、一部の授業で扱われるのですが、基本的には「自主学習でなんとかしてね」という方針でした。
それもあって、JavaScript で DOM を操作し HTMLの要素を変化させるプロジェクトでは、あまり理解できておらず困惑する受講者もいました。
4. 個人的に良かった点
コースを通じて出来るようになったことをいくつか書いてきましたが、ここでは「個人的にCode Chrysalis で良かったと感じた点」を書いていきます。
4-1 ペアコーディングができた
Code Chrysalis の授業では、講師がスライドを使って基本的な内容を説明した後、必ず受講生同士でのペアワークを行う時間があります。
1人がローカル端末の画面を共有をして、もう1人と意見を出し合いながらコードを書き、課題を解いていきます。
途中で参加してくる講師からアドバイスをもらうこともでき、自分の感覚だけでなく他の意見も聞きながらコーディングのお作法を学べたことが良かったと思います。
4-2 英語だけの環境で学習できた
以前の記事でも書いたのですが、Code Chrysalis では全てのレクチャーが英語で行われます。
講師によるスライドの説明や自分の意見を伝えるとき、ドキュメントで調べる場合やプロジェクトを発表するとき、、、それらの全てが英語で行われます。
私は9名いた受講生の中で1番英語が拙かったのですが、英語だけの環境でインプットからアウトプットまでを行えるのは良い経験になりました。
正直自分のできなさに絶望する毎日でしたが、そういった環境に飛び込んでスキルを身につけようともがき、(上に書いたような) 次につながる成長を持って帰ってこれたという実感で、以前よりも自分を好きになれた気がします。
4-3 自分の頭で考えて作れるようになった
もともとJavaScriptは少し触れたことがあったものの、「こうすればこんな結果が得られるよ」という流れをなぞることばかりしていて、正直身についたとは言えないレベルでした。
しかしCode Chrysalis では「指定された結果を導き出すための処理を書いてレビューし合う」といった流れで、アウトプットを中心に学習を行ってきました。
その結果、実務レベルには程遠いと思いますが、欲しい結果から逆算して適当な関数を作る技術が身に付いてきたと感じています。
4-4 正しさの基準を得られた
私のような初心者が1人で学習していると、「これは現場で使われているやり方なのかな」「軸となる1つの考え方を身につけられないかな」といったことに悩むタイミングがあると思います。
こういった現場の知恵や思考の軸は、経験上大学や会社で触れていると身につきやすいと感じますが、独学だとなかなかそうもいきません。
しかしCode Chrysalis では、他の受講者との話し合いや講師からのレビューを多く経験することができ「そのコーディングでは適していない理由」などを学習していくことができました。
そのように、少なくともどこかの現場で通用している基準を少しずつですが身につけることで、自分で考えて判断するための土台を築けてきているという実感を持てました。
終わりに
Foundations コースは たった1ヶ月であり、身についたスキルも漠然としたものであったりするのですが、個人的にはやはり参加できて良かったと感じます。
学習環境で言えば、ペアコーディングの経験や海外出身の人と英語だけでやり取りする環境でもがけたことが良かったです。
コーディングにおいてはアウトプットやレビューを繰り返したことで、やはり自分で考えて処理を記述する能力を上げられたことが良かったです。
逆にここは悩んだという点で言えば、プログラムの料金が10万円で高いのと、サーバーサイドに触れない点や、平日と土曜日の予定を調整するのが大変だったという点ですね。
そういった点もありつつ、経験できたことに関してはとても満足しています。
次回執筆する気力が残っていれば、「Code Chrysalis の Foundations コース : 実際の授業構成と辛かったこと・その対策」みたいな内容で書いていこうと思っています。
海外に留学した人は比べ物にならないぐらい大変なんだろうなと思いつつ、やはり英語だけの環境で新しいことを学ぶのはとても大変で、その辺の体験記を残していきたいですね。