2017年の進捗
はじめに
昨年に引き続き、2017年にやったことをまとめることにした。
今年は社会人3年目の年だった。
お仕事
Strong parameters対応
これをやらないといつまで経ってもRails 5系にアップグレードできないため、重い腰を上げて対応した。
2017年になって何を今更と思われること間違いないのですが、弊社で一番大きなRailsリポジトリにおいてprotected_attributesからstrong_parametersへの移行が完了しました。PR数がだいたい60で、着手から完了まで5ヶ月かかりました。大変だった。
— yasaichi (@_yasaichi) 2017年6月20日
最初はgrepでざっと候補箇所を洗い出して対応してたのだけど、先輩のアドバイスで途中からbrakemanでの解析結果を参照するようにしたところ、サクサク進んだように記憶している。
ご協力頂いた皆さま、改めてありがとうございました。一人では絶対にできなかったと思う。
Railsアップグレード
昨年に引き続きRailsアップグレードの方も行っていたのだが、結局年内に終わらせることができなかった。
年明けから本気出す。
サービス開発支援
今年は1年にわたって比較的大きなプロジェクトがいくつかあって、その技術面でのサポートも行っていた。
ありがたいことに本社だけでなくベトナムと京都にある拠点からも声をかけて頂いて、一週間ずつくらい出張したりしていた。
また、これらのプロジェクトの中で直面した技術的課題が後述するOSS活動のネタになった。
リーダー業
今まで一人でやっていた技術基盤業が昨年末から(相変わらず少人数だけど)チームになったので、このチームのリーダーとして
- チームのミッションを掲げる
- システムのあるべき姿を描いて、そこから今期解決すべき問題を設定する
- チームメンバーが課題を達成できるようにサポートする
みたいなことをやっていた。
初めてのことだったので成功だけでなく失敗もあって凹んだりしてたんだけど、「チームが機能するとはどういうことか」という本を読んである程度道が開けた気がする。おすすめ。
チームが機能するとはどういうことか ― 「学習力」と「実行力」を高める実践アプローチ
- 作者: エイミー・C・エドモンドソン
- 出版社/メーカー: 英治出版
- 発売日: 2014/09/05
- メディア: Kindle版
- この商品を含むブログ (3件) を見る
(自称)技術人事業
チームリーダーになって痛感したのは、チームで設定した問題に集中しているだけでは開発部全体の問題はいっこうに解決しないということだった。
そこで、問題解決の手段のひとつとして技術人事を自称して色々やることにした。具体的には
- 勉強会の自社開催に関するあれこれ
- 募集ポジションの見直しとそれに伴った募集要項の書き直し
- エンジニア面接での評価基準の見直し
あたりをやっていた。楽しかったけどわりと大変だった。
テスト駆動開発
10月に発売された和田卓人さん訳の「テスト駆動開発」にレビュアーとして携わらせて頂いた。
僕が担当したのは巻末付録の「訳者解説:テスト駆動開発の現在」という(原書にはない、新たに追加された)セクション。
色々なところで言っているのだけど、この付録だけでも本書を購入する価値が十分にあると思う。超おすすめ。
- 作者: KentBeck
- 出版社/メーカー: オーム社
- 発売日: 2017/11/13
- メディア: Kindle版
- この商品を含むブログを見る
重ね重ねになりますが、和田さん、この度は貴重な機会をありがとうございました。
対外発表
技術書の歩き方勉強会「テスト駆動開発」編
「テスト駆動開発」にレビュアーとして関わらせて頂いたご縁で、こちらのイベントで登壇&トークセッションをした。当日の資料はこちら。
トークセッションは人生初だったのでいい経験になった。
こちらも和田さんの推薦があって実現したことで、和田さんには感謝してもしきれない。いつも本当にありがとうございます。
Rails Developers Meetup 2017
主催者の方から声をかけて頂いて、こちらのイベントのLT枠で登壇した。当日の資料はこちら。
(僕以外の)登壇者の方がめっちゃ豪華で、「いまTECH PLAY SHIBUYAが倒壊したら日本のRails界隈やばい」って感じでとても良かった(小並感)。
関係者の皆さま、貴重な機会をありがとうございました。
OSS活動
actionview-consistent_fallback
RailsのActionPack Variantsを利用して段階的にモバイル用のページをリリースしようとするときに起きる問題を解決するgem。
背景とか詳細は会社のブログに書いたので、よろしければこちらもどうぞ。
gretel-jsonld
上記のモバイル対応の過程でパンくずリストの実装をmicrodataからJSON-LDに移行することになったが、gretelでやる方法が見つからなかったので作った。
公開されているAPIだけを使って上手くハックできたので満足度高い。
remove_data_attributes
弊社のフロントエンドの神とUIコンポーネントのテストに関する議論をしていたら以下のエントリを見つけて、「これRailsでも同じようなことをできるのでは?」と思って作ったgem。
POC感が強いので、実際に使ってみての感想も踏まえて紹介エントリを書きたい。
番外編: grease
Sprockets 4でgakubuchiが依存していたインターフェイスがdeprecatedになり、これに対応するために昨年作ったgem。
これがなんと以下のPRでless-railsに取り込まれてリリースされていた。マジかよ。
が、喜びも束の間、Tiltへの依存(つまりgreaseも)を削除しようというPRが上がっていた。わかる。
来年は?
引き続き英語
去年の年末振り返りエントリで
作ったOSSとかをもっと広めていきたいので、今までのエントリや発表内容を翻訳して掲載する英語ブログを開設してみようと思う。
と書いていたけど結局やっていないのでなかったことにして(笑)、一年間続けられた日々の英語の勉強を継続していきたい。ゆるくいきたい。
静的型付き言語
最近今更ながらGo言語を勉強しているので、来年も継続していきたい。
ちなみに静的型付き言語はC、Java、Scalaに続き4つ目になるのだけど、今まで一番しっくりきているような気がしている。気のせいかも。
インタプリタ
RubyKaigiに2016、2017年と参加してやっぱりインタプリタ周りもわかってないとダメだなー感が出てきたので、ちょろちょろと「Rubyのしくみ」を読んで勉強してる。やっていくぞ。
Rubyのしくみ -Ruby Under a Microscope-
- 作者: Pat Shaughnessy,島田浩二,角谷信太郎
- 出版社/メーカー: オーム社
- 発売日: 2014/11/29
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る