見出し画像

プログラミングできるようになるまで

Webプログラミングができるようになるプロセスの一つに「見える化」することが、結果としてヤル気と検証へのモチベーションに繋がると思う。

例えばjQueryがなぜ流行ったのかと言うと、プラグインを入れればスライダーがすぐ実装できるという手軽さだったのではないか。
でも、デザインがどうも気に入らないとか、スライドする速度をカスタマイズしたいとか、色々要求が出る。
そして、コードを触り始めるというように、触るフックがある。

上記の流れはこうだ。

見た目がリッチなスライダーを見つける→参考サイトなどを見ながら実装する→動くのに感動する→もっとこうしたいという要望が出てくる

もっとこうしたいとか、新しい機能をつけたいとか考えて、コードを触って、詰まったり上手くいったりが、ブラウザ画面を通せば分かる。
触ったことと結果が直結する(要望を満たすという意味の結果)から、やる意味を感じられる。

かくいう自分は、元々学生時代にイラストを描いていて、そのイラストをwebで公開したいと思ったところからプログラミングの世界に入ってきたタチだ。

元々プログラミングが好きな人と、何かを成したいからプログラミングをしている人がいると思う。どちらにせよ、成長するパターンは以下に集約されると思う。

・やりたいことを決める
・調べる
・やる
・検証する

さらに、調べるの段階で何を調べて良いのかわからない、あるいは情報が見当たらないと感じた時に取る選択は以下の通りかと思う。

・根本的に別の方法をとる
・人に聞く
・寝かせる

実は寝かせるというのが時折効果を発揮する。他のことをやっていて、久しぶりに戻ってくると分かることって、けっこうある。

たとえば、jQueryを扱っていて、構文を調べているうちに、Javascriptそのものを勉強し始めたとする。そうするとそもそもjQueryの構文はJavascriptでもできることのセットだということに気づくと思う。
あるいはjQueryがDOMを操作するものだということに気づく。するとそもそもDOMツリーの作り方はどうなっているのか、兄弟要素は?子孫要素は?などと考えていると、いままで自分がやってきていたのは、DOMとの対話だったのだ、と気づく。

寝かせていた問題がすっとわかるようになるというのは、寝かせていた問題そのものを取り巻く技術と構造を明らかにする。そのことがわかったとき、問題を深い次元から解決できる力がついている。

結論としては、継続してこの世界にいると、自分で思っていた以上に力がついてることがわかるよ、という話でした。

ではではー👋