2018年を振り返ってみる。GitHubベースの振り返りは別記事にまとめた。
主な出来事
技術書典5で技術同人誌を販売した
golang.tokyo有志の合同紙に混ぜてもらって数ページ執筆した。私の執筆部分がどれくらい寄与しているかわからないが、多数の方々に手にとっていただけたので非常に嬉しい。 ブログとは違い、ある程度のボリュームをなるべく周辺知識をフォローしながらストーリー立てて書くのは良い経験になった。
社外勉強会で登壇を7回した
今年は夏くらいから「毎月1回登壇する」を目標に活動していた。技術書典5があった10月以外はちゃんとできた気がする。 10分枠くらいならそれなりに発表できるようになれた。来年はCFP出すような発表枠で登壇できるようになりたい。
毎週ブログを書くようになった。1年間で81記事書いた。
昨年の振り返りで述べたとおり、今年はちゃんとアウトプットをしようとブログを書き続けた。 最初は月間1,000PVもいかなかったが、いまでは9,000PVくらいあるのでそれなりの質を保ちながら書けているかなと思っている。 ブログについてはしっかり習慣化できたので継続していく。ブログメンタリングも受けてよかった。会社の公式ブログにも寄稿できた。
golang.tokyoの勉強会(社外勉強会)を勤務先で実施、登壇できた
golang.tokyoは運営メンバーの会社施設を持ち回りして勉強会を開催しているので、私の勤務先でも勉強会を開催した。Goの勉強会を開催するような会社に勤めたいと思っていたので、主催できてよかった。主催者枠で20分の発表もすることができた。
- Tour of testing in 2018
OSSとしてCLIツールを公開した。
今年はCLIコマンドを一つ作った。「何かネタないかな?」と思っていたら社内のSREから「AWS CLIがめんどくさい」と聞いたので作った。このOSSは独りよがりじゃなくて、SREの人に「何が必要なのか?」「どう作っておけばパイプしやすいのか?」などをヒアリングして作った。ちょっとした顧客要求の分析、要件定義までできたのでよい経験になった。結構社内で多用されているので単純に作った甲斐があって嬉しい。また、社内のエンジニアからだがPRをもらったりもできてOSS感がでている。
golang.tokyo運営に参加した
春からgolang.tokyoという勉強会コミュニティの運営に参加した。私はあまりコーディングスキルがないが、コミュニティのお手伝いならGoにコミットできるかなと思って参加している。他社のGopherさんたちにいろいろ教えてもらったり自分自身の成長の時間にもなっているので引き続き参加していく。
その他のプライベート
- ボルダリングを継続できた
- ほぼほぼ毎週通えている
- 引っ越しをした
- 12月に社会人になってからずっと住んでいた武蔵小杉を離れて立川に引っ越した。中央線というより山手線通勤にまだ慣れていない…
- テント泊登山・スノーシュー登山をした
- 今年はあまり山に行けなかったので来年はもう少し登山したい
- ポーカーをやっている
- 大学の友達や社内の知人とポーカーをしている。あまり強くはないがテキサスホールデムは本当に奥が深い。
- あいかわらずPerfumeが好き
- 今年は3回ライブに行けた(3回目は大晦日なので正確にはまだ2回しか行ってない)。
- 自作キーボードを始めた
- ずっとHHKBだったのだが、今は以下のキーボードにした。ホームポジションがほとんど崩れないし今年のベストバイ。
- Corne Cherry
今年触った技術
Go
今年の春からは業務でもGoを触るようになった。Railsの裏のマイクロサービスをGoで作っている。本体側を触ることも多いので、Rubyなども触っているが、メインの業務がGoになったので非常に嬉しい。 やはり業務で扱うと書籍での学習やチュートリアルを少しいじっただけでは得られない経験が出来るので非常によい。 逆にいうとまだまだひよっこGopherなのでもっとコード書かないといけない。
gRPC
開発しているプロダクトで利用している。アサイン前に少し予習していたので、すんなり入っていけた。 (OpenAPIなどを使わない)REST APIの設計に比べるとだいぶラクな気がするが、やはり運用次第なんだなというところは痛感してる。 マイグレーション時のお作法などは個人ではあまり学べないので業務で利用できてよかった。
JavaScript(React.js)
JavaScript自体を触るのが初めてだったので新しい道を開けた。 はっきり言って動的型付け言語に強い苦手意識を持っていた。とくにJavaScript周りは進歩も激しすぎるので敬遠していた。 ただ、業務で触ることになりやってみると、周辺エコシステムのおかげでだいぶ気持ちよく開発ができた。
- FlowTypeで型の恩恵を受けることができる
- create-react-appでpcakge.jsonと戦わなくて済む
- JestでTDDしながら開発できる
- ホットリロードとChrome Dev ToolsでREPLを使って実装できる
来年は「TypeScriptに挑戦するぞ!」と思えるくらいフロントエンド技術に興味が持てるようになったのは自分の中で今年一番の変化かもしれない。
Elixer
勉強会で写経したレベルだが関数型言語に初めて挑戦した。読了後は触れていないが、設計の仕方やアプローチの幅が少し広がった気がする。
Spinnaker
Goの勉強会はメルカリさんがよく発表されていて、その中で頻出していたので自分でも少し触ってみていた。 GKE上に構築して、カナリーリリースについても学べたのでクラウドネイティブな継続的デプロイについて手を動かしながら知ることができた。 年の前半に個人的に触っただけなので、来年業務のどこかで使えないか虎視眈々としている。
2017年のTryの振り返り
2017年の振り返りでは、以下の項目を振り返りにあげていた。
- もっとコードでOSSに貢献する
- 自分のOSSをもっと作る
- GoとGCPでWebアプリを作る
- クラウド・コンテナ技術の知識を身につける
- 朝の学習時間をもっと確保・習慣化する
- ブログをもっと更新する
ブログの更新はできたが、他の目標はあまりできなかった。朝活は定期的にできていたが、習慣化まではできなかった。 きちんと動く自作OSSはひとつしかできなかったし、OSSにいくつかPRは出せたが、どれもタイポの修正などだった。
2018年のまとめ(KPT)
Keep
- 初めて社外勉強会で登壇できた
- Goのコミュニティ活動に参加するようになった
- 業務でGoを書くようになった。20分の社外発表もできた
- 業務でReact.jsを使えるようになった。社外発表もできた
- (合同誌だが、)本を執筆して技術書典で発売できた
- 毎週ブログを更新できた。
- (
--amend
でちょっとズルもしているが)1年間GitHubにコミットし続けた。
Problem
- OSSにコーディングでプルリク出せるレベルではない
- 去年からの継続Problem…
- 読み終わってない本が多い。読書量が少ない
- 読了したらちゃんと(知識の確認と忘れないために)書評も書くこともセットにする
- 電車通勤が長くなったので通勤時間を有効活用したい。
- 生産性を上げる
- これも去年からの継続Problem
- もっとコーディング量を上げないと質がついてこない(経験値がたまらない)
- 相変わらず英語が苦手
- インプットが少なくなる、または公式サイトを直接見れない
Try
- 2ヶ月にひとつのペースで自分のOSSを他人が使える状態で公開する
- 3月までにGoとGAE+DatastoreでWebアプリを作る
- 8月までにEC2+RDS or LambdaでWebアプリを作る
- 8月までにTypeScriptを覚える
- NetlifyかFirestoreで何か公開する
- 1月から朝活する曜日を作る
- 五反田へ通勤ラッシュ前に出社したい
- 英語の勉強時間を作る
- Kindleでなかなか勉強できないので頑張って物理本を持ち歩く
- 一人称をそろそろ「私」にしたい
- 職場ではいつも「ぼく」って言っていたがそろそろ直したい
2018年の記録
以下、勉強会や読書の記録。
参加した技術イベント
- golang.tokyo #12
- Redash Meetup #0.1 - Redash 初心者向けハンズオン
- Kubernetesで実現する高可用性システム – cndjp第3回
- GCPUG Tokyo Container Builder Day February 2018
- Go 1.10 Release Party in Tokyo
- Google Cloud Platform hands-on (Cloud Study Jam) #CloudStudyJam
- golang.tokyo #13
- Kubernetes Network Deep Dive!(Istioもあるよ)- cndjp第4回
- Go Conference 2018 Spring
- golang.tokyo #14
- GCPUG Tokyo Kubernetes Engine Day April 2018
- あつまれ! CI/CDツール大集合! - cndjp第5回
- 隅からスミまでKubernetes総復習 - cndjpシーズン1まとめ
- mercari.go #1
- GCPUG Tokyo gVisor Day July 2018
- golang.tokyo #16
- Meetup in Tokyo #40 -Kubernetes-
- mercari.go #2
- golang.tokyo #17
- Go 1.11 Release Party in Tokyo
- mercari.go #3
- golang.tokyo #18
- golang.tokyo #19
- Kubernetes読書会
- 第22回横浜Go読書会
- エリック・エヴァンスのドメイン駆動設計 読書会
- Go Conference 2018 Autumn
- golang.tokyo #20
- 【シューマイ】もくもく会〜クリスマス?なにそれ、新しいフレームワーク?
相変わらずひたすらGoの勉強会に参加してた。年の後半のイベントは勉強会運営だったり、登壇だったりして感想が書けていない。
登壇したイベント
- あつまれ! CI/CDツール大集合! - cndjp第5回
- Vue.js/React/Go/Rails5.2のリアル★ShuuuMai #04
- Go(Un)Conference(Goあんこ)LT大会 3kg
- WEBエンジニア勉強会 #08
- golang.tokyo #17
- Go(Un)Conference(Goあんこ)LT大会 4kg
- WEBエンジニア勉強会 #10 (東京都, 渋谷)
前述の通り。
2018年に読んだ書籍
- SOFT SKILLS ソフトウェア開発者の人生マニュアル
- スリープ・レボリューション
- 世界のエリートがやっている 最高の休息法
- Goならわかるシステムプログラミング
- [書評]Goならわかるシステムプログラミングを読んだ
- SQL 第2版 ゼロからはじめるデータベース操作
- Continuous Delivery With Spinnaker
- マイクロサービスアーキテクチャ
- Google Cloud Platform エンタープライズ設計ガイド
- エンジニアの知的生産術 ―効率的に学び、整理し、アウトプットする
- Go言語でつくるインタプリタ
- Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術
- プログラミングElixir
- 現場で役立つシステム設計の原則 〜変更を楽で安全にするオブジェクト指向の実践技法
- プログラマのためのGoogle Cloud Platform入門 サービスの全体像からクラウドネイティブアプリケーション構築まで
一部は書評を書けていないが、だいたいの本でちゃんと書評を書いた。完全な洋書も一冊読んでちゃんと書評にまとめることができたのは、英語苦手+コンプレックスの自分にとって少し自信になった。来年はもう少し洋書にも挑戦していきたい。
2018年に読み終わらなかった書籍
- エリック・エヴァンスのドメイン駆動設計
- クリーンアーキテクチャ
- APIデザインの極意 Java/NetBeansアーキテクト探究ノート
- テスト駆動開発
- Go言語による並行処理
- Kubernetes完全ガイド
- 入門 Kubernetes
- Amazon Web Services 定番業務システム12パターン 設計ガイド
- Amazon Web Services パターン別構築・運用ガイド 改訂第2版
- SQLパフォーマンス詳解
- Effective SQL
- プログラミングRust
- ベタープログラマ
設計関係・インフラ周りの本が積読になってしまっている(一部は読了しているが咀嚼しきれていない)。 来年は個人開発などもしていきたいので、読んで得た知識で実際に手を動かしていきたい。