当時のことをふと思い出したので、書いてみる。
ネットの体験談は「イケイケなプログラミング言語で1週間オンライン学習したらweb系イケイケベンチャーに転職できた」とか成功経験か「クラウド課金をミスってxx十万円課金された」みたいな派手なやらかしかにかたよっているので、地味な失敗談も書いておこうと思う。
一番スランプだった時期
一番スランプだった時期は、おそらく学部3年生ごろだと思う。当時のスキルはfortranとVBAくらいで「そもそもプログラマとして始まってなかったのでは?」感もあるにはある。
このスランプはやる気がわかないとか何も手がつかないとかではなく、「やる気もあって手もつけているのに何も物にならない」という時期である。
プログラミングはおもしろいと思ってはいた。次の言語をやりたかったが、何をやればいいのかよくわかってなかった。そこでCやらVBやらのテキストを古本で買ってちょびっと手をつけて、ループとかif分岐みたいな基本文法だけやって「これFortran以上のことできるの?」とほっぽりだしていた。結局どれも当時は使いこなすことはできなかった*1。
スランプに陥った原因
第一に目的がなかった。「Fortran以外の言語もできといた方がええか」というのがモチベーションだったので、Fortran以上のことが想像さえできなかった。
第二に単純に理解ができなかった。VBのテキストはいきなりGUIのページを開いたが、WindowsのAPIを叩く数ページ分のコードを見せられたので心が折れてしまった。
第三に周辺知識不足で適切な言語を選べなかった。今なら「GUIをやりたくなったらWindowsならC#だし、それ以前にwebやElectronみたいなクロスプラットフォームをやるべきだ」とわかる。しかし当時は名前は聞いたことがあるくらいだった*2。
スランプを打開できた理由
- 研究という目的ができた。グラフを描くというモチベーションでPythonを覚えられた。
- 「成果を出してほめられる」という成功体験を積み重ねられた。
- 「成果物を出したことで次の課題が明らかになり、それが次の学習のきっかけになる」といういいサイクルが回り始めた。
今と何がちがうのか
正直「今もやってることは大して変わらんのでは」というところもある。今だって「聞きかじりでやったことがない言語をちょっとだけ調べてすぐやめる」ということは無限にある*3。「手当たり次第調べてすぐやめる」ということは同じな気がする。
最大の違いは手当たり次第ではあるがちゃんと品定めしてからやめているというところだと思う。当時とちがって周辺知識がついているので、
- その言語やライブラリがどういう位置付けのものか
- 何の代わりになるものか
がちょっと調べれば分かるようになった。やっぱり広く浅い知識というのも少なくともIT業界では多少は必要なんだと思う。