正直、自分は三流エンジニアだと思っている
いくつかWordPressプラグインを作ってみてわかったことがある。
自分はエンジニアとしては三流だという事実である。
情報工学系の大学院にいた
もともと自分は情報工学系の大学院でシステムエンジニアリングの研究をしていた。
研究分野はシステム開発プロセス。「いかにシステムをうまく、早く、安く作るか」を考える研究だ。
アジャイル開発の始祖であるエクストリームプログラミングに魅せられてその道を選んだ。
結局は真反対の開発手法の研究で修士を取った。
技術そのものは研究対象外だった
ここで大事なのは、研究対象が技術そのものではなく技術の使い方だという点だ。
システム開発プロセスが主に扱うのはプロセスであって技術ではない。
人の連携やドキュメント間の関係性は注意深く見るが、それを実現する技術は副項目レベル。
実現したいプロセスの実証実験用プログラムを組むことはある。
しかしプログラムそのものは「動くものができればいい」レベルだったのだ。
コンサルに就職してプログラムから遠のいた
修士卒でコンサル会社に就職したら「プログラム離れ」はさらに進んだ。
IT戦略コンサルは技術的なトピックも扱うものの、主な仕事の対象は人である。
戦略を描き、実現アプローチを作り、ロードマップに落とした上で実行~完遂までを管理する。
実際のものづくりは自社または外部の技術者におまかせするのが常だった。
開発スピードは地に落ちた
そんな中、趣味のブログのカスタマイズのためにコードを触りはじめた。
手前味噌だが作ったもの(ブログのカスタマイズ)の一覧をこちらにまとめている。
しかし、いかんせん開発スピードが遅いのだ。
手慣れたエンジニアなら2時間あれば作れそうなものを8時間も9時間もかけて作っている。生産効率は非常に悪い。
この点は下記記事でも書いた。
WordPress開発環境を作ったほうがいいなと思った話 - 10分ブログ
開発環境もさながら、足元のコーディングのスピードそのものが遅いのだ。
これでは自分の好きなものを好きにサクサク作ることができない。
しかしプログラミングが好きだ
しかし最近になって思うことがある。
パワポを書いているときより、プログラムを書いているときのほうが楽しいのだ。
最近いくつかWordPressの自作プラグインをリリースしたが、作っているときは本当に楽しかった。
ほかにもカスタマイズをもろもろ公開しているが、やはり自分が書いたコードが動いているところ、それで人が喜んでくれることが嬉しいのだ。
思い返せば、修士時代も開発プロセスの研究は最低限に、課外活動でやっていたシステム開発実習や当時つきあいのあったベンチャーのWeb開発を無償で手伝うといったことをやっていた。
どうやらぼくはコードを書くことが好きなようなのだ。
プログラミングを学び直そうと思った
しかしコンサルに就職して10年弱、プログラミングの知識はホコリをかぶりくさっている。
JavaとPHPはかろうじて覚えているが、今主流のJavaScriptは文字列処理の関数すらリファレンスを見ないと諳んじられない。
生のCSSはわかるがSCSSやCSSフレーム枠にはめっぽう疎い。
Pythonなど「なにそれおいしいの」レベルである。もちろんNumPyのようなフレームワークなど使ったことがない。
しかし、自分の考えたことをコードとして実現する楽しさをもう一度味わいたいのである。
オンラインスクールをざっと眺めてみた
そこで、空き時間に少しずつプログラミングの学習をはじめてみることにした。
ざっと眺めた中でよさそうなものをピックアップしてみる。
- TechAcademy [テックアカデミー]
- プログラミングのオンラインスクールのCodeCamp
- オンラインテックスクールWebCamp
- Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]
上の3つは有料だが少し踏み込んだ内容までいけそうだ。PHPやWordPressあたりの開発はこちらのコースがよさそうである。
一方、JavaScriptやPythonなど自分がうとい技術は初心者向けのコースが充実しているProgateがよさそうだ。
とりあえず無料のProgateでJavaScriptをきちんと学んでみようと思う。
まとめ
プログラミングは楽しいし、作ったものが動くのはワクワクする。
しかし動かせる技術力が自分にはない。だから学ぶ。
また新しいもののアイデアが出てきたとき、2~3時間でそれなりのものが作れるくらいにはなっておきたい。
(約1600文字:15分)