電池冷蔵庫

除雪のない世界に行きたい

プログラミング初心者がこの先生きのこるためには…

 タイトルはどうでもいいです。

わしのおしごと

 現在、以下のテクノロジーでご飯を食べてます。

  • Ruby (Rails: 好きじゃない)
  • ObjC / Swift (iOSアプリ: Swiftだけにして)
  • CoffeeScript (Backbone.js: 限界)
  • Python (データ処理: むり)
  • SQL (DB: 言わずもがな)
  • BashとかNginxとかDockerとかChef (所謂インフラ: たーのしー!)

 これ全部、1つのプロジェクトです。とはいえもちろん、常に全部を並行してやっているわけでも、全コードを一人で書いたわけでもありません。都度都度、チーム内でアサインされた作業をやっていくって感じです。クライアントはバグ調査でちょいちょい覗くくらいで、製造作業はやっていません。

 あからさまに「薄く広く」というやつなので、よりプロい人材が確保できるタイミングならば、その人に仕事が飛んでいきます。そういう人的体制が完備された暁には、もっと責任範囲が限定的になり、少なくともインフラ周りは手放せるはずです(そんな日がいつ来るかは知りません)。

わしの学習歴

 まず、プログラミング自体はわりとダラダラ触っていて、C# Java あたりは書いたことある(しかし仕組みは全く謎だし成果物もゼロ)という状態がスタートです。そこから1年半くらい、ガッツリ勉強した期間があります。

 やった言語を思い出せる順番 (勉強した順番ではない) で書いてみると、まあこんな感じ。

 HTMLはプログラミング言語じゃねーぞみたいな注意書きはまあいいですよね。みんな分かってるはずなんで。

 これら言語ごとに、まずは解説書1冊を読んで、モノによってはフレームワーク1つ弄ったくらい。JavaScript以外はサラーっと構文だけ知った程度。

 例えばScalaだと、通称コップ本を読みつつ Play と Slickをやりました。多分もっとも深入りした部類だと思います。他は、定評のある本を1冊読んで「ふーん全部Scalaのパクリだな」で終わりです。クソ初心者!

 JavaScriptは、今考えるとメチャクチャ変化の激しい時期だったので辛かったわけですが、Reactあたりを主として弄っていました。あとReduxとか、lodashを触って「ふーん全部Scalaのパクリだな」という具合です。ほんまクソ!

いいこと悪いこと

 乱読のメリットは明らかにあります。直ちにやれる仕事が増えるのもそうなんですが、それはどちらかというとオマケです。より重要なこととして「新しいもの」への抵抗が非常に薄くなりましたし、新しいものに対して「あれと似ている」という勘が働くようになりました。IT技術はお互いに影響を与えあっているので、一通りあっちこっち触っておくと「ああ、アレだな」という場面が非常によくあります。予習みたいなもので、将来への投資というやつです。詐欺師の決めゼリフですね!

 悪いことは、まあ明らかだと思いますが、1年以上かかっているわけです。その間ずっと引きこもりニートやって、書籍を買いまくってるんですから、頭がおかしくなりそうですね。私は諸般の事情があって精神的に楽でしたが、普通はやめといた方がいい気がします。アルバイトしながら… とかなら、まだマシかな?