2017年に向けての取り組み
今日、仕事納めでした。皆さん、今年もありがとうございました。来年もよろしくお願いいたします。
2017年にやること
とは言っても、この動きの早い業界で年間の計画を決めるのは早計なので、当面という意味での「やること」なのですが、エンジニアガチ勢になろうと思っています。あまり自身のブランディングについて考えてはいなかったのですが、実家暮らしのまま結婚して稼ぎがもっと必要になってきていることで、キャリアアップを考えざるを得ません。
勉強しないこだわりを捨てる
僕もプログラマーとしての楽しみを覚えてから(5年前ぐらい?)、今年の前半ぐらいまでは、プライベートでもコードをガリガリ書くようにしていましたが、最近はできるだけプライベートを仕事に関わることに割かないと決めていました。というのも、飲み会等の雑談時に頻繁に「普段、どんなこと勉強しているんですか?」「何を勉強したらいいですか?」「どうやったら荻原さんみたいになれますか?」みたいなことを聞かれることが辛くなったからです。
慕ってくれる人がいるのは喜ばしいことですが、この IT 業界の「プライベートで勉強しないと生き残れない感」みたいなのが蔓延していることに嫌気が差したのです。この文化は、私の「業界を良くしてエンジニアの待遇を向上する」という夢から大きく外れるものだと思います。面白いから、楽して稼げるからプログラマーをやっているはずなのに、勉強が義務みたいになっていて、このままだと業界全体が疲弊していくし、これからプログラマーになる人が可哀想だと思いました。それに、介護や子育てといった家庭の事情でプライベートの時間が少ない人にハンデを与えるべきではないとも思いました。
ということがあり、プライベートで勉強しなくてもプログラマーとしてやっていけることを証明してやるぜ!みたいな意気込みがあったのですが、最近それでは厳しいと感じ始めました。新しい技術に積極的で、教育が充実していて、優秀なプログラマーがいる組織にでも在籍していない限り、世界は狭まっていく一方です。この先、稼ぎを増やすことや、独立する可能性等を加味すると、変なこだわりを持っている場合ではない。
むしろ、プライベートで勉強する時間が取れない、取りたくない人を引っ張る人材になる方が業界のためになるのではないか、とでも自分に言い聞かせつつ(それはそれで多くのしがらみがあるのですが、その話はまた別で)、下記のようなスキルアップを目標にしています。
ErgoDox EZ と Dvorak
心機一転する時に一番良いのが、意気込みだけでなく環境を変えることです。僕はキーボードを変えることにしました。ここ数年、ずっと Realforce を愛用してきましたが、ボーナスの額が予想の1.5倍ぐらい良かったので奮発して ErgoDox EZ を購入しました。(ErgoDox EZ with Blank Keycaps)
このキーボードを選択した理由はいくつかあって、1つは手首の痛みと眼精疲労の軽減に期待しています。Microsoft のNatural Ergonomic Keyboard 4000 を使っていた時は(ペタペタした打鍵感が気に入らず使用はやめましたが)、確かに手首の痛みは和らいだので、「エルゴノミクス」という言葉は割と信用しています。また、眼精疲労は姿勢である程度軽減できると思うので、楽しみにしています。
もう1つ大きな理由は、Dvorak 配列対応人類になるためです。5年ぐらい、ずっと Dvorak 配列に変更するタイミングを伺ってきましたが、これを機に習得します。タイピング速度は QWERTY 配列より平均 30% ほど向上すると聞いているので、勿論期待しているのですが、それよりもやはり指や手首の負担、痛みの軽減に大きな期待を寄せています。
何を習得するか
Elixir, Julia, Rust といった当たりそうな言語や、フロントエンド界隈で山のように湧いてくるライブラリ等は、とりあえず触るようにしていましたが、今年はこれらの勉強による恩恵は、正直受けられませんでした。せいぜい、それらについて誰かに聞かれた時にドヤ顔で答えられて「やっぱり何でも知ってますね!」って言われるぐらいです。
最近でいえば React.js のような、パラダイムが大きく変わるようなものでない限り、新しい言語やライブラリは必要になった時に触り始めても、どうせすぐに使えるようになるので、あれこれ飛びつく暇があったら自身の専門性を磨いたほうが良いのではないかと感じたわけです。というわけで、2017年序盤は Ruby, Python, Go の3言語と、Ruby on Rails, Django, Revel だけに絞って、その他は業務で直接的に必要になるものだけ手を出すようにします。
バックエンドは良いとして、フロントエンドがサッパリなので何とかしたいのですが、何をやれば良いかもサッパリです。とりあえず Rails の webpacker を見た感じ、rails webpacker:install:react
みたいな感じでサクッと始められそうなので、その辺の動向を観察しつつ、ふらふら付いていけば、とりあえずいいかな、みたいな感じです。一旦の目標は「React.js でそれっぽいものを書いた経験はあります、一応!」みたいな状態から脱出することです。
フロントエンドといえば、自前で何か小さな web アプリを開発するとき、Bootstrap 、最近では Materialize を使って CSS や UI を書くことから逃げてきたのですが、そのために結局 jQuery と共存するのは少し辛いので、自前でサクッとスタイルを組めるぐらいの手癖は身に付けたいと感じています。
あと、技術力は捨てたコードの屍の上に成り立つ、みたいなところがあるので、ガシガシコードを書いては捨ててきたのですが、これからは GitHub のパブリックリポジトリ に蓄積していこうと思います。「うわ、こいつのリポジトリチュートリアルや途中で投げ出したアプリばっかじゃん」みたいに思われるとマイナスかな、と思っていた時期もありましたが、別にそんなこともないかなと。今もすでにそうだし。
英語もいい加減覚えようかと思って、最近は バイリンガルニュース を聴きながら仕事をしていますが、ながら聴きじゃ身に付く気がしません。文字起こしを読みながら聴けば身に付くと思うのですが、能動的に時間をかけて勉強するほど優先度が高いわけではないので、結局英語を喋れないまま一生涯を終えそうな気もしています。
年末から始める
来年から xx を始める!といった目標を掲げることは多いと思いますが、「キリよく年が明けてから始める」なんて考えずに、気持ちが冷める前に始めることが挫折しないコツです。ということで、今から始めます。