2021年の振り返り
目次
2021年も残すところわずかになりました。今年は、かれこれ18年ほど飼っていた飼い猫が亡くなり、ちょっと気持ちが沈んでいた時期もありましたが、いくつかの夢を叶えることができて全体的には良い年になりました。
本題に入る前の雑談なんですが…。今年叶えることのできた夢のひとつについて書かせてください(もし時間がないという方がいらっしゃいましたら、以下の一段落をスキップしてください)。
今このブログを書いているのはUbuntuをインストールしたThinkPad X1 Carbonなんですが、いつかThinkPadにUbuntuを入れてメインマシンにしたい、という夢を数年前から持っており、それがついに叶いました。モバイルアプリエンジニアをやっているので、iOSのアプリを開発するにはMacが必要…という縛りもあったりしてもうずっとMacを使っていたんですが、ソフトウェアエンジニアならLinuxぐらい使いこなせないと、みたいな気持ちや、iOSはもう個人でやることはあまりないんじゃないか、みたいな気持ちもあり、Macじゃなくていいのではないかという結論に至りました。それにしてもThinkPad X1 Carbonには本当にシビれました。端末を触っていて興奮したのはひさしぶりです。いやあ、本当に格好いい端末ですね。スペック的にはちょっと妥協しまして、メモリを32GB積もうと思ったんですが、そうすると3ヶ月以上待つことになりますよ、とサポートの人に言われまして、そこまではちょっと待てないし、お値段的なことも考えて、メモリだけは16GBで妥協しました。「お前にはまだ早い」と言われているような気持ちです。今後はより精進し、メモリ32Bが似合う人間になろうと思います。それにしても、Ubuntuをインストールするのがとても楽でした。前からこんなに楽でしたっけ?ちょっと歯応えがなかったですが、まあ無事にインストールできて元気に動いているので良かったです。いい時代になりましたね。
前置きが長くなってしまいましたが、始めていきます。去年の振り返りはこちらです。
2021年1月
- TDDのお勉強。
- Hugoのテーマを自作していた。
- Pythonで始める数学の冒険を読んだ。
- Flutterをやっていた。
- SwinjectでDIしていた。
- UoPeople CS1102。
2021年2月
- Flutterをやっていた。
- [GitHub Actionsで始めるFlutter CI入門(https://okuzawats.com/blog/flutter-ci-with-github-actions/)を書いた。
- UoPeople CS2203。
2021年3月
- Flutterをやっていた。
- Fast APIにHello WorldしてHerokuにデプロイしていた。
- プロゲートのSQLをやっていた。
- プロゲートのRailsをやっていた。
2021年4月
- Haskellをやっていた。
- 書籍のレビューに参加させていただいた「ユニコーン企業のひみつ」が発売された。あとがきに名前が載った。
- 子どもが生まれた👶
2021年5月
- FlutterでGraphQLをやっていた。
- 数独のソルバーを書いていた。
- 「カッコウはコンピュータに卵を生む」を読んだ。
2021年6月
- 「Goでつくるインタープリタ」をやっていた。
- Haskellをやっていた。
- KotlinのOptionとEitherを提供するライブラリを作っていた。
2021年7月
- Rubyをやっていた。
- Dockerを触っていた。
2021年8月
- アルゴリズムの勉強をしていた。
- Cracking the Coding Interviewをやっていた。
- JavaScriptをやっていた。
2021年9月
- 執筆したJetpack ComposeによるAndroid MVVMアーキテクチャ入門が出版された🎉
2021年10月
- RubyでFizzBuzzやライフゲームを作って遊んでいた。
- 「RubyでつくるRuby」をやっていた。
- KotlinJSでPWAのマインスイーパーを作って遊んでいた。
2021年11月
- Rubyのテンプレートリポジトリを作っていた。
- 書籍「クリーンアーキテクチャ」を読んでいた。
2021年12月
- AWSとRailsと戯れていた。
その他
子どもが生まれた
今年の4月に子どもが生まれました。もう8ヶ月になります。子どもの成長は早いですね。自分も負けずに成長していかなければならないという気持ちを日々新たにしています。とりあえず元気に生まれてくれてよかったです。
技術書を書いた
#技術書を一冊書き、ネクストパブリッシング様より発売いただきました。
ソフトウェアエンジニアを志した日から、いつか技術書を書く、というのが夢でした。今は、技術書を書けて良かったという気持ちと、もっと良いものにできたのではないかという気持ちが半々です。また機会があれば技術書の執筆や何らかの記事の執筆などをしてみたいです。
テックリードになった
弊社にテックリードというロールができて、自分はAndroidアプリのテックリードということになりました。自分なんかがテックリードでいいのだろうか、という想いと戦いながらやらせていただいております。いろいろなことを頑張りました。
テストを書いた
年の後半は、設計を改善してテストを書けるようにしたり、実際にテストを書いたり、みたいなことをやってた気がします。
細々としたことを勉強した
手元の記録を見ると、TDD、Hugo、Python、数学、Flutter、iOS、データベース、Fast API、SQL、Rails、Haskell、Scala、C言語、GitHub Actions、Firebase Hosting、Graph QL、正規表現、数独ソルバー、Go言語、インタープリタ、Unix OS、AtCoder、Ruby、Docker、JavaScript、PWA、Kotlin JS、言語処理系、LPICレベル1、クリーンアーキテクチャ、AWS、Shell、Ubuntuなどに取り組んだようです。
こうして振り返ってみると、2021年初頭に掲げていた、関数型言語に触れる、AWSに触れる、Hugoで静的Webサイトを作る、データベースのクラスを受講する、テストを書く、などの目標は達成できていました。
2022年のこと
来年もソフトウェアエンジニアとして頑張ろうと思います。子どもができてソフトウェアのことに充てられる時間が減り、また年齢の問題もあり、競争環境的にはどんどん不利になってきていると感じます。が、イケるところまではいこうと思います。自分の興味が枯渇しないうちは。
書いている人 😎

茨城県つくば市在住のモバイルアプリケーションアーキテクト(Androidが得意です)。モバイルアプリのアーキテクチャ、自動テスト、CI/CDに興味があります。いわゆる「レガシーコード」のリファクタリング・リアーキテクチャが好きです。
👉 もっと詳しく
著書 ✍
Android 依存性注入 ヒッチハイク・ガイド🧳
Androidアプリでの依存性注入(Dependency Injection)に入門するためのガイダンスです。依存性注入の概念やメリットを理解し、Dagger Hiltを用いてAndroidアプリに適用する方法を解説しています。
ソフトウェアデザイン 2023年6月号📚
特集「クリーンアーキテクチャとは何か?」の第5章「モバイルアプリ開発における実践」を執筆しました。
Android クリーンアーキテクチャ ヒッチハイク・ガイド🧳
Androidアプリでのクリーンアーキテクチャに入門するためのガイダンスです。クリーンアーキテクチャの概念を理解し、Androidアプリに適用する方法を解説しています。
Android ユニットテスト ヒッチハイク・ガイド🧳
Androidアプリのユニットテストに入門するためのガイダンスです。初学者が混乱せずにAndroidアプリのユニットテストを書き始めることができる、ということを目的としています。
Android MVVMアーキテクチャ入門🛠
Androidアプリ開発の初学者に向けた、MVVM(Model-View-ViewModel)アーキテクチャの入門書を書きました。初学者の方を確実にネクストレベルに引き上げる技術書です。NextPublishingより出版されています。