【ウェブカツ#1】条件分岐と関数を学んでみて感じた事

1月末、ウェブカツというプログラミングスクールに入り、
そこで学び始めてから既に数日が経ちました。

Javaで条件分岐と関数をやっているのですが、
ここまで非常に分かりやすく、密度も濃いので大変ですが
何とか学習を前に進められていっています。

ドラクエの道具釜でしたけっけ?
(最近のは未プレイなのでうろ覚えですが)
ああいう物の例えが絶妙で助かります。

個人的には、PCゲームのFactorioという
工場の生産ラインを作るゲームが似た印象で、
あれがそのままプログラミングになった感じです。

一つ一つの歯車や電子基板などの素材の工場を並べると
膨大な敷地が必要になってしまうので、生産機能を
一つのブロックに集約して効率化をする!

そんな感じで理解しました。

学生時代、2単位の授業でJavaはやっていたのですが、
当時は全く理解ができないまま、毎週授業は進んでいき、
当時からプログラミングがずっと大嫌いでした。

しかし、今こうやってスーッと頭に入ってくるのは
一体何故なんだろうと考えると、決してそれは、
ウェブカツが教材として質が良いだけではなく、
学ぶ側の状況に一番大きな原因があったと思います。

本気で学ぶ意志が無いと意味が無い

僕が学生時代、Javaの授業を全く理解できなかったのは、
Javaを何のために勉強するのか、自分の気持ちの中で
腑に落ちていなかったからです。

当時は、技術者になるという明確な目標も無く、
プログラミング言語そのものが大嫌いでした。

世の中の全てのサービスが条件分岐と関数の
組み合わせで出来ているということを聞いても、
そんなことより、彼女を作ってイチャイチャしたり
多くの人から認められる有名な人になりたいとか
そういう方に関心のベクトルが向いていました。

そういう段階では、どんなに安い学費で
質の良い授業を聞けたとしても、頭に入りません。
本心では、学ぶことを拒否しているからです。

ウェブカツも、講義の質はかなり高いと思いますが
本気でやろうと思わないと、オブジェクト指向辺りから
そろそろ頭が痛くなり始める段階だと思います。

ですが、自分が将来エンジニアになるとか、
金を稼ぐぞという事にフルコミットしていると、
勉強が楽しくなり、多少の壁も気になりません。

ドラクエ風に言えば、新しい魔法を覚えたり
ちからやかしこさが上がったような感覚です。

当時2時間授業を聞いても分からなかったことが
たったの15分の動画で理解できます。

理解度チェックを一発で合格すると
よっしゃあああああという気持ちになります。

その前提が無い限り、無理矢理捻り出した動機で
勉強しても、息を吸って吐くように勉強する人や
勉強を楽しいものと感じる人には、敵いません。

なので、今一つやる気が起きないという場合は、
正直まだ、緊急性が無く、プログラミングなどを
勉強する段階では無いんだと思います。

まずは自分のやりたいことを明確にすること

私は前にやっていた商売を昨年の11月に畳みましたが、
即座にいきなりプログラミングを始めた訳ではなく、
このブログに200時間以上、記事を書き溜めていました。

それと同時に、SHOWROOMの前田さんの書いた
メモの魔力という本を読み、自己分析を行いました。

その中で、自分の指向性を
改めて自覚することになります。

・最終キャリアが、一人で自己完結をしたり、
場所に捉われない自由な働き方をしたい
・人間関係よりも、自分が作ったものや
成果物を通じた社会貢献、世の中との関わり方を重視したい
・将来自分が実家に戻る選択肢も持ちたい
・若いうちはモテたいし、そのために稼いで自信をつけたい
・稼ぐほど自由度が失われる商売、在庫を抱える商売は
かなりしんどかったので、もうやりたくない
・やりたいことは稼いでからやればいいので仕事に求めず、
仕事には報酬と時間当たりの効率を最重要視したい

小さい頃からの自分の価値観や実際の行動を振り返り、
やればやるほど、プログラミングを勉強してエンジニアとして
再出発するのが最適解と思うようになりました。

ブログはこうして今後も継続していきますが、
単なるネット上のコピペ&リライトで作った記事が
10年後や20年後の社会で誰かの役に立つかと考えると
なかなか難しいと思います。

むしろ、自分の活動や生き方、この人にしか書けないこと、
伝えられないことを情報として残す比率を増やした方が、
見る人が少なかったとしても、誰かの人生に
大きな影響を与えられる発信になると思うのです。

また、仮にこのまま自己分析を更に進めて、万が一、
自分の生きる道がエンジニアの道ではなかったとしても、
方向転換して大きな問題は無いと思っています。

それは、実際にお金や物を扱う実体験を通じて、
プログラミングの知識は、自分の商売を効率化する上でも
非常に大きな武器になると確信しているからです。

そう確信して以降、迷いがなくなりましたし、
どこで何から学ぶかを選ぶ基準も明確になりました。

多分、ウェブカツも、本気で稼ぎたい、
怪しいものでも決意を持って飛び込む人しか
最初から相手にしていない講座だと思います。

とにかく、今あなたがプログラミングを学ぼうかどうか
悶々としているならば、中途半端な気持ちでやるよりも
一旦、自己分析に100時間や200時間くらい投下して、
自分が心の底からやりたいことが見つかるまで
自分と対話を続けた方がいいです。

かなり頭の中がすっきりします。

そしてもし仮に、自分が命を懸ける対象が
結果的にプログラミング以外のことだったとしても、
本気になることで、色々な問題が解決すると思います。

時間を強制的に確保する

プログラミング勉強をする上で重要なのは、
時間を強制的に確保することです。

ここまで偉そうに色々書かせてもらっていますが、
僕自身、ウェブカツに入ってから数日は、
なかなか勉強のスイッチが入るまで時間がかかりました。

集中するために、周りの雑用を全部終わらせようとか
思っていても、細かい仕事は無尽蔵に増えていくので、
完璧な状況を求めていると、永久に勉強が始まりません。

そういう時は、サラリーマンや受験生と同じように、
「〇時から〇時までは勉強」と
強制的に、他の全てのことに手をつけないと決めましょう。

そうすることで、朝食や昼食の空き時間などに
他の細かいタスクを全てやってしまおうという意識が動き、
相乗効果であらゆる仕事の処理が早くなります。

私は商売を畳んで以降、今はいわゆる失業状態なので
本業がある人の3倍以上は勉強の時間がありますが、
それ故に、より意識しないと時間を無駄にしてしまいます。

なので、明日以降も「時間を強制的に確保する」を
常に意識して、全力でメニューを消化していこうと思います。

まとめ

実際にやってみて思うのは、学生時代に
プログラミングを一生懸命やらなかったとはいえ、

・条件分岐という考え方がある
・関数というものがあり、Returnで値を返す
・オブジェクト指向という考え方がある

程度のことは記憶にあった為、全くのゼロから
ルールを覚えるなどの苦行ステージから入らずに済み、
学生時代に情報処理の授業を取っていて良かったです。

色々な趣味に手を出してきましたが、
サッカーの観戦やギターの演奏などを始めた時にある、
初歩の初歩から始めるハードルの高さは本当にキツイです。

今はProgateやドットインストールなどがあり、
コードをなぞる程度の勉強であれば
本当にインフラが整ってきていると感じます。

なので、プログラミングに興味があって
いつかは始めようという場合は、触りの部分だけでも
やってみることを、強くお勧めします。