2020 振り返り / 2020 Year in Review — 技術編
2020年は色々とアレな1年だったが、家にいる時間が増えたことで技術面でも多くの挑戦や模索ができた。ここでまとめておこうと思う。
YouTube チャンネル
自身のYouTubeチャンネルを開設し、2〜5月にかけて興味のあるテーマやプロジェクトの動画をいくつかアップして様子を見てみた。ただ、効率的な動画制作のスタイルが定まらなかったため、一旦休止している。
松本行弘 — 言語のしくみ
日本でまだ感染拡大が本格化していなかった1〜2月頃、通勤時間を使い2〜3週間ほどかけてこの本を読んだ。まつもとゆきひろ氏がプログラミング言語を実装するための要素を紹介し、yacc/lex を使ってプログラミング言語 — streem を実装していく内容だ。
Svelte への注目
Svelteに注目し始め、ブログでも紹介記事を書いた。台湾ではSvelteに関するリソースがまだ非常に少ないため、台湾でも知名度を高めていければと思っている。4月中旬頃にはPRを1つコントリビュートした。その後のIT鐵人賽(IT Iron Manコンテスト)でもSvelteをテーマにした。
どうぶつの森図鑑
ほかの「どうぶつの森」図鑑サイトは全面広告が出たり、パフォーマンスが壊滅的だったりすることが多かった。そのため、離島ツアーなどで手軽に調べられるよう、シンプルな「どうぶつの森図鑑」を自作した。
自己紹介
自己紹介をする人間には大抵2つのタイプがある。1つは臨場感たっぷりに話して場を盛り上げられるタイプ、もう1つは話し終わると場が凍りつき、印象にも残らず、ボケも誰にも伝わらないタイプだ。僕はまさに後者だった。仕方がないので、Webサイトを作ることにした。

テックリードへの昇格
詳細は以下の記事を参照してほしい — テックリードになって感じたこと
今年はプロジェクトの変動や規模の拡大に伴い、開発そのものだけでなく、人と人とのコミュニケーションや調整作業が格段に増えた。プロダクトに関わるチームや組織が増えたことで、何かを進めるにしてもサイクルが長期化しがちになった。さらにフロントエンドチーム内で日本語を話せるのがほぼ僕だけだったため、他部門との窓口になることが多く、頻繁にコンテキストスイッチが発生した。長期化するにつれて「自分はいったい何に追われているんだろう」と感じることもあった。タイムマネジメントは来年の課題の一つかもしれない。
技術面ではそこまで大きな成長があったわけではなく、せいぜい複雑なロジック部分の処理を担当したくらいで、新しい技術もキャッチアップ程度にとどまった。だが、大きな変更や新機能開発の際には、事前にドキュメントを書き、状態遷移図を用意する習慣が身についた。これによりPMとのコミュニケーションがスムーズになるだけでなく、ほかの開発者も状態遷移図から即座に正しいロジックを把握できるようになった。マインド面でも「技術はあくまで問題を解決するためのツールに過ぎない」という認識がより深まった。
コミュニケーション面ではまだまだ至らない点が多いと感じている。例えばチームメンバーを簡単に信頼できなかったり、問題があると分かっていながら最後の帳尻合わせで手一杯になったり、権限移譲(デリゲーション)がうまくできなかったりした。とはいえ、これは表裏一体の課題でもあると考えている。業務で成果を出さない、返信が極端に遅い、進捗を報告しないといった状況では、僕としても責任を委ねようがないからだ。
Sonic Pi で遊ぶ
Sonic Pi は、コードを書いて音楽を制作できるソフトウェアで、用意されているAPIの多くは音楽制作そのもののために設計されている。YouTubeにチュートリアル動画を投稿しているので、参考にしてほしい:https://www.youtube.com/watch?v=aTA5wWhvKAQ
- 星野源 + Sonic Pi + どうぶつの森:https://www.youtube.com/watch?v=sQA_07z7LJE
- ドリアンスケールをランダムにシャッフルし、リズムとキックを追加 — https://soundcloud.com/justkeiyi/dorian-fast
- Shape Of You — https://soundcloud.com/justkeiyi/shape-of-you-generated-sonic-pi
Arduino で遊ぶ
今年の初めに Arduino UNO、Arduino nano、Arduino Mega を購入した。そんなに買ってどうするんだという気もするが…。
センサー類もLCDディスプレイや温度センサーなどを一通り触ってみた。その際、極力ライブラリには頼らず、データシートを直接読んでデバイス同士がどう通信しているのかを理解するようにした。例えばDHT11のデータシートを見ると、実装自体はそれほど複雑ではない。実装コードも参照できるし、さらに深掘りすることも可能だ。
年中には空気品質モニタリングアプリを作成した。これもライブラリを極力使わなかったおかげで(MQTTとWi-Fiは実装が複雑なため最終的にライブラリを使ったが)、UARTインターフェースやSoftwareSerialについて理解を深めることができた。
その後、EEPROMプログラマとATMEGA328p(Arduino UNOに使われているMCU。1個100台湾ドル未満)を購入し、自分でC言語を書いて書き込んでみた。もっと深く研究してみたいところだが、残念ながら家のスペースが狭く、ハードウェアをこれ以上置ききれないのが難点だ。
データ可視化 — 台湾性暴力統計データブック
興味があれば直接Webサイトを見てほしい。断続的に2週間ほどかけて完成させたもので、主にデータの収集とクリーニングに時間を取られた。Svelteを使ったデータ可視化はかなり扱いやすかった。
Build Your Own X
https://build-your-own-x.now.sh/
build-your-own-x のリポジトリをWeb版にして、閲覧しやすくした。
Kotlin
Kotlinは僕がかなり気に入っているプログラミング言語で、個人開発の小さなプロジェクトのバックエンドはKotlinで直接書くこともある。簡潔でありながら表現力豊かな文法が好きで、Kotlin DSLに関する記事も書いた — Kotlinから学んだこと:Kotlin DSLとアノテーション
日本で小さな勉強会を開催 — React HAKATA
以前から日本のエンジニアコミュニティと交流したいと思っていた。今年はコロナ禍の影響でオフラインイベントが完全に開催できなくなったため、オンラインでの開催に挑戦してみた。日本人の前でこれほど長く日本語を話すのは初めてだったので、緊張して言葉に詰まる場面もあったが、今後も日本語をさらに上のレベルへと磨いていきたい。意外にも好評を博し(Twitter)、同時接続者数は50〜60人ほどに達した。今後は台湾と日本の架け橋となり、互いにさまざまな視点を共有し合える場を作っていきたい。
関連記事
- 2025年の振り返り 2024年に自分に課した願いは、2025年にはもう会社員に戻らず、自分で生計を立てられるようになることだった。この目標は達成できなかったものの、2025年は僕自身、最も成長できた一年の一つだったと自認している。
- 2024年の振り返りと2025年の展望 今年は無理に目標を立てず、別の形で自分の2024年を振り返り、2025年への期待を込めたい。前を向き続け、より良いバージョンの自分になるために。
- 2021年の振り返り もともとは自分がやってきたことを整理して公開しようと思っていたが、いざ整理してみると本当に大して語るようなことがないと気づいたので、いっそのこと時系列に沿った雑記スタイルで記録しておくことにする。
- 2021年の振り返り 経験を多く積んだせいか、物事を見る視野も少し広がったように思う。2020年と2021年はArduinoやRaspberry Piを触ったり、AVRを調べたり、STM32の開発ボードを買って遊んだり、PCBや3Dプリントを学んだりと、様々な分野を幅広く探索し始めた。フロントエンドだけでなく他の領域とも統合して、もっと自分のやりたいことを実現したい。今年は2022年。昨年と一昨年の探索を経て、今年は何か具体的な成果を残せる、切り拓く一年にしたい。