質問やフィードバックがありましたら、フォームからお願いします
本文は台湾華語で、ChatGPT で翻訳している記事なので、不確かな部分や間違いがあるかもしれません。ご了承ください
2019年、1月の初めの5日間、私はまだ兵舎でまんじゅうを数えていました。なんとか4か月の軍生活を乗り越え、仕事を探し始めました。上半期はほぼ面接の準備と自分を整理することに費やし、下半期に日本に移住した後は、生活が徐々に軌道に乗り始めました。
上半期
2019年の上半期は、仕事がなかったため、少し焦りはありましたが、実際にはかなりの暇を持て余していました。この期間、前の4か月のフロントエンドの知識を補うだけでなく、Reactのこの4か月の変化(つまり、フックですね!)についても学びました。
この時間を利用して、自分のブログをすべてGatsbyで書き直しました(フロントエンドの悪い癖ですねXD)、devドメインも購入しました。
また、この時期にブラウザのAudio Contextにかなり興味を持っていたので、いくつか面白い小さなプロジェクトを作成しました。もしそれらを具現化する機会があれば、また皆さんにシェアします。
面接を待つ間は主にLeetcodeを解いたり、フロントエンドの小さなプロジェクトを作成したり、一連のフロントエンドの記事を計画し始めました。この期間中、日系の先生による日本語補習班にも再登録し、今後の日本生活の準備をしました。定期的に日本語を復習し、少し規則的な活動ができることを期待しています。
その間、いくつかの面接も始まりました。詳細については、数ヶ月前に書いた求職心得を参考にしてください。
こうして、時間は下半期に進み、私は6月下旬に日本に飛びました。基本的な生活が整うまで少し時間がかかり、その後7月に仕事を始めました。
また、この数年間の日本語学習から日本での仕事の心得をまとめた一連の記事を書いたので、興味があれば見てください。
下半期、日本生活と仕事
ここでのフロントエンド開発は以前の開発方法とは大きく異なりますが、大企業で働くことで、豊富なリソースの中でキャリアにどれほどの助けを得られるかを実感しています。しかし、そうだからこそ、うまく活用できなければ、逆に「老後の地域」となり、長い時間が経つにつれて、ただの冗員になってしまうこともあります。
このような状況下で、強力なバックエンドチームに加わり、私はより深いバックエンドの知識やインフラについて研究を始め、バックエンドの運用をより深く理解しようとしています。具体的には:
- 安定したメッセージキューの仕組みを設計する方法。チームの進捗に従って、Kafkaという万能のスイスアーミーナイフを発見しました。
- 迅速かつ効率的にサーバーを構築すること。チーム内にansibleの経験者がいることを利用して、基本的な設定や調整方法についての理解を深めました。以前のように土台のないSSHでサーバーに入って、ミスをしたらすべてを再構築する必要はありません。理解できないことがあれば、指導してくれる人もいます。内部には多くのプレイブックも参考にできます。
- 汎用のSlackボットを自作し、さまざまな使用シーンに対応できるようにしました。また、スクリプトをカスタマイズするのも簡単です。
- フロントエンド向けのCIおよび自動デプロイメントシステム(Slack)を構築しました。
- PrometheusやKibanaなどのパフォーマンス指標監視ツールも自分で構築し、これらのツールの重要性をさらに理解しました。
- ElasticSearchを自分で構築し、データベース(Postgres)とElasticSearchを組み合わせて、より充実した全文検索機能を試みました。
- DBの運用についても理解を深めました。Postgresは私を5年間支えてくれた、依然として頼れるパートナーです。
バックエンドだけでなく、iOSやSwiftという言語のモバイル開発についても研究する時間を持ちました。フロントエンドとアプリ開発の本質は実は同じで、私たちはUI、データフロー、状態管理を扱っています。異なる言語や開発プラットフォームから、異なる分野がUIや状態をどのように処理しているのかを見るのはとても興味深いことですし、お互いに学び合うことができます。最近登場したSwiftUIやCombineは、フロントエンドで参考にするのに非常に適した状態管理手法だと思います。
もう一つの大きな変化は、テストを書くことです。以前はQAの期間がなかったため、テストも十分に書けていませんでしたが、今は専用のQA期間があり、テストを書くことが特に重要になりました。そうしなければ、最終的に多くのQAバグを報告しても、自分が苦しむだけになってしまいます。
私は、パフォーマンスを犠牲にしてでも、より多くのテスト可能性とメンテナンス性を確保したいと思っています。なぜなら、バグやそれに伴うワークアラウンドが、通常はコードベース全体を混乱させる最大の要因だからです。また、Reactでテストを書くのは本当に簡単だと感じています!実際のユーザー行動を模擬するのも簡単です。
以前はenzyme(強力なReactテストラッパー)を好んで使用していましたが、今ではそのような強力なツールが逆にテストの細部にこだわりすぎてしまうことがあると感じています。だから、今はreact-testing-libraryの軽量なアプローチでテストを行うことにしています。
仕事において、2019年はより多くの管理(人との関係)に関連する書籍を読もうとしました。印象に残ったのはこの2冊です:
- Driving Technical Change
- 横断的管理
まだ成熟していないものの、少なくとも第一歩を踏み出したと思っています。
突破瓶頸
私にとって、フロントエンドの分野で瓶頸に達した可能性があります。異なる分野(インタラクティブな要求、高い動画処理、画像処理、テキスト編集、音楽など)に触れたいと思うだけでなく、より基礎的な技術に進んでいきたいとも考えています。
また、最近考えていることの一つは、優秀なチームを率いて、より良い製品を作りたいということです。25歳という年齢はリードにとって障害になることが多いですが、もしそのような機会があれば、しっかりとつかみたいと思います。
生活
2019年は私にとって最もワークライフバランスの取れた年でした。料理をする頻度が増えただけでなく、ツール(オーブン、電子レンジ)が増え、キッチンが広くなったことで、試すことができる料理の種類も増えました。
特に興味深い料理をいくつか作りました:
- 東坡肉(非標準版)
- スペイン風海鮮パエリア
- 失敗したパン焼き
- クッキー
- プディング
- 魚のソテー(内臓の処理やウロコ取りを含む)
- 自家製ハンバーグ
料理の腕前がさらに向上しました。今年もさまざまな料理に挑戦し、より良い肉の供給源を見つけたいと思っています。日本では台湾のように伝統的な肉屋がそこら中にあるわけではありません。
日本に来てから体重が大幅に増加したため、ジムに登録し、食事や飲酒の頻度をコントロールするようにしています。日本では飲酒の頻度が本当に恐ろしいほど高いですね!
旅行については、特に大きな計画は立てていませんが、連休中に特別な用事がなければ、近くを散策することが多いです:
- 糸島
- 西新
- 能古島
- 由布院
- 軽井沢
- 福岡近郊
未来
さきほどの瓶頸の部分で触れたように、将来的には技術の分野を深め続けたいと思っていますが、Webフロントエンドだけに限らず、さまざまな分野に進んでいきたいです。
2020年は、フロントエンド分野を深めるだけでなく、計算機全体の範囲を広げたいと思っています。特に興味があるのはWebGL、低レベル言語(C++やC、アセンブリ)、オペレーティングシステム、プログラミング言語です。これらのことを理解するのは私にとって非常に興味深いです。
特に言いたいのは、2019年の年末にお得なキャンペーンを利用してPS4と『デス・ストランディング』というゲームを購入しました。このゲームのストーリーは私の人生や考え方を根本的に変え、また小島秀夫という人物について知りたいと思うようになりました。2020年は、ゲーム分野に関する知識をもっと深めたいと思っています。
感謝
どの会社にも、周りには自分よりも優れた人々がいて、学ぶべきことがたくさんあります。こうした人々との出会いがあったからこそ、今の私がいます。以下は思いついた順に挙げます:
- weak self:iOSのポッドキャストですが、実際には多くの概念が共通しています。ジムでの時間はちょうどweak selfが公開される時間で、異国の地で親しい声を聞くと、やはり感動します。(台湾人の同僚が多いですがXD)
- koji:日本語が日本人と同じくらい流暢で(全くアクセントなし!)、管理職としても常に皆の状況に気を配ってくれるので、会社で安心して仕事ができます。
- 平山:現在の上司は、私がやりたいことをするための大きなスペースを与えてくれ、常にチームに役立つことをするよう励ましてくれます。良い上司に出会えたことは、キャリアの順調さにとって重要な要素だと思います!
- Huang:職場の先輩のような存在で、長い間職場での経験があり、さまざまな職場のうわさや会社文化に詳しいです。悩んでいるときに、すぐに指導してもらえる方法を見つけることができます。
- denny:今思うと不思議ですね。前の同僚から異国で一緒に働くことになりました。時々、馴染みのあるsudo帽子のTシャツを見ると、以前の五十嵐やRDチームとの食事、オフィスでの『Mr.Robot』の視聴を思い出します。
- Thomas:今まで見た中で最も働き者の同僚ですが、関心を持っている分野は広く、助けられることがあれば何でも助けてくれます。フロントエンドでもバックエンドでも同様です。さらに、技術に熱心で、Linuxやオペレーティングシステムなどの基礎的なことを頻繁に議論しており、彼から多くのことを学びました。今まで見た中で最も優れたエンジニアです。
- Jimmy:議論に参加するのが大好きで、チーム内の小さな問題を改善する手助けもしています。特に印象的なのは、一連のDevOpsで、開発全体をよりスムーズにしてくれました。
- Peter:時々突然新しいデザインやロゴを提供してくれたり、ウェブサイトの修正についての提案をしてくれたりします。本当に感謝しかありません!
この記事が役に立ったと思ったら、下のリンクからコーヒーを奢ってくれると嬉しいです ☕ 私の普通の一日が輝かしいものになります ✨
☕Buy me a coffee