自転車とプログラミング

自転車メーカーに勤める会社員がプログラミングを学ぶ中で感じたことを書きます。最近サービス作りました。

【フィヨルドブートキャンプ 2021アドベントカレンダー】ERDに 超 超 超 苦戦して立ち直った話

f:id:YukiWatanabe:20211128101450j:plain
ERDで超超超苦戦した話

はじめに

これは「フィヨルドブートキャンプ Advent Calendar 2021」の4日目の記事です。

昨日はikuma-tさんによる「【Rails】RailsはリクエストのフォーマットにJavaScriptを指定しても、HTMLを返すことがある」が発信されました!

自己紹介

f:id:YukiWatanabe:20211201222618j:plain:w150

会社員のかたわら、オンラインプログラミングスクール「フィヨルドブートキャンプ(※以下FBC)」でプログラミング学習中のYukiWatanabeと申します。

2019年末から独学でプログラミングを学び始めて、コロナの流行に伴って「勤め先もどうなるか将来は分からない」と思い、生きる術をきちんと身につけようと思い2020年8月にFBCに加入しました。

現職で働く限りは本業に全力でコミットする働き方をしながら日々時間を作って学習を進めています。 いまのところカリキュラムの半分ちょっとまで進みました。先は長い。

ERD(ER図)に 超 超 超 苦戦した話

結論

データベース周辺のカリキュラムでERD(ER図※以下ERD)について学ぶプラクティスがありましたが、そこでかつてないほど大苦戦!

苦しみすぎて当初の学習目的もすっぽり頭から抜けて、その状況から抜け出したいあまりに安易に課題を提出するも、散々なレビューで心理状態はスーパーネガティブに!

なんとか立ち直って、当初の学習目的までさかのぼって気持ちを落ち着けて再学習をすることで切り抜けた。そんなお話です。

未知の領域にチャレンジし続けるフィヨルド生徒のみなさんと独学等々なされている方にとって、苦手な領域が現れたときに苦戦することは避けられないことだと思います。

壁にあたってもがいているのは自分だけじゃないということをこの記事を通じてシェアできたらいいなと思って書きました。お気持ちメインでERDの話はほぼありませんのでご了承ください。

顛末

あれは僕が勤め先から1ヶ月のプログラミング学習休暇をもらったときのことでした。

休暇自体は溜まっていた有給消化だったんですが、一ヶ月連続で取得するのは職場の規定上グレーだったところを快く送り出してもらった背景があります。

人情として送り出してもらった以上しっかりとプラクティスを進めて成果を持って復帰せねば、と使命感にかられていました。

休み中は、仕事をしていた時間を学習に当てて、参考書籍なんかもサクサク読み進めていました。その際ににERDに行き当たりました。

いちおうERDの説明を挟んでおきましょう。

ERDとは、データの構造や関係を記述するための構造モデルであるE-Rモデルを記述するための表記方法のことである。(Weblio辞書より一部抜粋 / https://www.weblio.jp/content/ERD )

ERDをご存知でない方は、データの集合体とその集合体同士の関係性を表現する図、と思っていただければ良いと思います。

.

FBCのERDプラクティスでは最終的に「TwitterのERDを書いてみましょう」という課題が出されます。 普段自分が使っているユーザーという存在がどういうデータをもつか、様々な機能や他のユーザーとどのような関係をもつかをERDに表すものです。 「自分も他人も同じユーザーだ」と抽象化したり、この機能にはこういうデータが運用されているだろうとアタリをつけたりすることが求められます。

これが僕にとって相当苦手だったんでしょう。

参考図書を読んでみても要点がつかめない。 直前のデータベースの初歩を学ぶプラクティスは苦もなく進められたので「あれあれ?」となりつつありましたが、僕にはたくさんプラクティスを進める使命があるので止まれません。 理解度と進行速度が乖離した状態で参考図書を読んだり、問題を解くことに時間を費やしました。

課題がいちおう形になっても、当然ながら各部に自信が持てません。

メンターさんに説明できるようにテーブルやリレーションに関する理屈は組み立てますが、「本当にこれでいいんだっけ?」「たぶん合ってるよな」と一人でギャンブルみたいな状態に。まぁ、こういうときは大体ダメです。

「ERD大変だから終わってくれ〜」というのが課題を提出したときの心情です。苦戦したことで段々とプラクティスを終わらせることが目的化していってしまいました。

後日返ってきたレビューとそれにまつわるやり取りの中で、僕が「こうですよね?」と提出した修正に対して同じ指摘が繰り返し入ったことで心がボキッと折れました。

しくじり&つまづきポイント

今回の話は何がいけなかったんでしょうか。

わからない部分をスルーして学習を進めてしまった

今回の事態をもたらした原因の一つはこれに尽きます。

参考図書を読み進めてわからない部分に出会った際に、理解に至る前に「まあ、そういうものがあるのか」とふんわり言葉だけを覚えて進めてしまっていました。 先に進めば進むほど、増えるのはわからない箇所ばかり。

わからない部分をスルーして進めるという学習アプローチはあります。 それをおすすめしたくださった方は過去に何人かいらっしゃいました。

ただし、それはわからない部分をきちんと再学習して解消させるステップがあってこそ。ということは忘れちゃいけませんでした。

自分のペースで学習していなかった

ちょうど職場から休みを頂いていた期間だったこともあり、結果を出して(相応にプラクティスを進めて)復帰しなければならないと焦りに囚われていました。 これによって自分の理解度をほったらかしにして本だけ読み進めるような行動を取ってしまいました。

たくさんのプラクティスを完了させたとか、休み期間中もがんばったみたいな外的な評価、自分の内面以外のところでモチベートされた気持ちで行動してしまったことで、自分の取るべき行動がぶれてしまったのだと思います。

超苦戦したときにやってみたこと

提出した課題に対してレビューが入ると、メンターさんから優しい表現でアドバイスが入るわけです。 そうであってもきちんと根幹を理解してないので「こうしてみましょう」というアドバイスに対して「こうですか?」と返すと、また同じアドバイスが返されてしまうという状態に陥ってしまいます。

この頃から自分の不甲斐なさと、そうであってもERDが理解できていない五里霧中なふわふわ感で「どうしよう」という気持ちが湧いてきました。 このままじゃアカンということで切り替えるべく取り組んだのが以下。

  • 逃避モードに突入してERD(というか勉強)からいったん距離を置いて気分転換
  • (気分転換ができたら)なぜ苦戦しているのか考えてみた

同じ環境にいると煮詰まって袋小路に行き着いてしまうので、もう割り切って気分転換しました。 友人と会う、運動する、出かける、買い物、お笑いを見る、映画を見るetc...。

で、落ち着いたころに考えてみてやっとしくじり&つまづきポイントにに気づきました。

「職場から休みをもらってはいるけど、それとは関係なくきちんとプログラミングを自分のモノにできるように学習をし直さないとな」 「僕の能力はそんな上等なもんじゃない。3歩進んで2歩下がれたら上等だ」

と開き直れた(腹を括った?)ので復習スタートです。 参考書籍を読んでわからない部分はYou Tubeの解説動画を見るなり時間をかけました。

結末

復習してバリバリERD最強!!となればよかったんですが、そうはなりませんでした。

ただ、少しだけ理解度が高まったのでメンターさんにこちらからも整理した考えを伝えたり、質問したり、不安感や焦りがあることを伝えたりして時間をかけて課題の合格にこぎつけました。 素人なんだからこそ学んでいることに向かい合う気持ちだけは捨てちゃだめなんだと気づけた、ちょうどいい結末だったと思います。

メタメタな内容からそれはもう辛抱強く付き合ってくださったメンターさんには本当に感謝です。ありがとうございました。

今回の件で気づいたことを以下にまとめます。

自分のスタイルや身の丈にあった勉強をする

外的要因で自分のスタイルを崩してもいいことありませんでした。 自分は自分のできる限りを尽くす、それがいいんだと再認識しました。

自分はプラクティスを進める / スクールを卒業するためだけに学習していないということ

今の職場に勤め続けても良いと思ってる僕には明確にプラクティスを進め、卒業する理由がないです。ブラック企業から転職する等のタイムリミットがないわけで。だからこそ生きる術を身に着けたいと思った起点と向かい合うべきなんだと改めて思いました。

不安感や焦燥感を溜め込まない

こういうネガティブな気持ちは気づいた瞬間に対処したほうが良かったです。

今回であれば理解不足とかこの進め方やばいんじゃねって思ったポイントが有りましたが止まらなかったことでしんどい思いをするはめになりました。

また、自分でも気づいてませんでしたが仕事は仕事なりに気分転換になっていたようです。はけ口がたくさんある方が継続しやすいんじゃないかと思います。

.


以上! ERDに超超超苦戦して立ち直った話でした。

FBC生徒の皆さんにおかれましては、ネガな気持ちはたくさん吐き出して、たくさん気分転換して、マイペースにしなやかに学習に向き合って参りましょう!

フィヨルドブートキャンプ Part 1 Advent Calendar 2021 はこちら

明日のアドベントカレンダーはnapple29さんです!