2月は全く記事を書きませんでした。おそらくブログを始めて2年、初めてのことだったのではないでしょうか。
仕事もほどほどに忙しく、仕事外もほどほどに忙しかったためまったくブログを書くモチベーションがあがりませんでした。
ここ一ヶ月は3つぐらいのことを同時並行で進めていました。
一つ目は確定申告。去年は前職にいるときに会社以外の仕事もしたりして、10万円ほどの売り上げが立ったので、確定申告をしようと思います。医療費控除は毎年やっているのですが、今回のケースは初めてなので、支払調書をもらったりして少し時間がかかっています。幸い母は経理、姉は地方公務員、親戚筋に会計事務所勤務の人がいるので、助けてもらえます。
二つ目はDeepLearning。ゼロからはじめるDeepLeaningという書籍があるのですが、CTOが買ったからやろうとチャットで募集し、「僕も買ったのでやりましょう」と安易に返事したところ、週に2回やることに。しかも担当制なので、自分の担当の時はそれなりに読んでから出ないといけません。CTOはAndrew NgのMacineLearningのコースを一通りやり終えたらしいので、大学での専門が電気化学の私にはつらいメンバーでの勉強会です。とは言え、教えてもらえる環境にあるのはありがたいことなので参加しています。
三つ目はReact.jsを勉強です。
React.jsは1年以上前からできるようになりたいと思っていて、ES6ですらすら書きたいと切に思っていたのですが、ほとんど進捗していませんでした。厳密に言えば、React.jsのチュートリアルは2016年の正月に写経したり、昨年の10月にも改めてやっていたのですが、なかなかに理解したという気分になれませんでした。
ここまでくると、数を打つしかないと思い、インターネット上にあふれているReact.jsのサンプルを5つぐらい写経してみて、ちょっと分かり難ところは紙にも書き出して理解するようにしました。
それが2月の2週目。仕事から帰って夜はなかなか時間がとれないので、通勤電車の中でパソコンを開いて作業するなどして、時間を捻出しました。
ひとまずの最終的な成果として、このようなものを作ってみました。
独りよがりになると良くないので、jsの神と呼ばれる知人に食事をご馳走してレビューもしてもらいました。初めてのReact.jsなのでなかなか修正箇所が多かったですが、とても勉強になりました。
ひとまずはそれなりに人に見せれるレベルにはなったのではないかと思います。今後はきちんとテストを書いたり、Reduxを使ったりしていきたいと思います。また、サーバーサイド側との連携(データを永続化するなど)も予定してRailsに乗っけてあるので、そのあたりもやれたらいいなと思います。
私は、新しいことを学ぶのが非常に怖いです。分からないことを学ぶということが怖いのです。
そのため、React.jsの勉強にもここまで放置してしまいました。
しかし、Webの業界にいると、新しい技術に対して誰よりもいち早くキャッチアップし、サンプルアプリをサクッと作って記事を書けてしまうような人がたくさんいます。そういう人に対して、私は劣等感を抱かざるを得ません。やはりスピード感が圧倒的に早いです。
今、Webエンジニアといえば、以下のようなスキルセットを持つ人が当たり前となってきています。*1
- Railsができる
- ES6を使ったモダンなJavascriptが書ける
- React.js, Angular.js, Vue.jsといったフレームワークを使いこなせる(正しく設計ができる)
- ファイルの構成や管理も正しくできる*2
- もちろんjQueryなども対応でき、各ブラウザごとの違いも把握している
- Swiftなどを使ってネイティブアプリが開発できる
- ユーザーやお客さんからの無茶な要望にも笑顔で対応して即日リリースできる
- AWSのサービスを組み合わせて機能を開発できる
- ネットワークの知識もあり、オフォスのネットワーク設計等もできる
- OSSの開発にも貢献し、フレームワークの高速化等もできる
- etc...
こうしたWebエニジニアが当たり前に求められる時代になってきました。私はかろうじてRailsができる程度なので、周りを見て成長の早さに焦らずにはいれません。
特に新ことを学ぶことに対して異常なまでに抵抗を感じるのですから、変化の激しいこの世界で生きていけるかが不安になる日々です。
日々是精進ですが、なんとか精神を保ちながら生きている日々です。
もう少し気軽に新しいことに挑戦できるようフットワークを軽くしていきたいです。