とある角度から

お腹いっぱいたべられる幸せ

ここ数年を振り返って

およそ5年間、このブログは更新できてなかったんですが、今の会社で技術ブログは定期的に書いていたので、それをラップアップする感じでここ数年をまとめて振り返ってみようと思います(つまり穴埋め)

ちなみに今の会社に入ったのは2020年の1月で、その前はDeNAやメルカリに在籍していました。 そこもブログの空白期間なので、キャリアを振り返るという意味で少しだけ触れておきます。

まずDeNAではソーシャルゲームのフロントエンド開発に携わっていました。 ソーシャルゲーム全盛の時代、いくつものソシャゲが出てきては消えていく中で、何年もApp Storeのランキング上位に居続けるゲームの運営の熱意(というかもう愛)を間近で感じることができた日々でした。 直前にわずか2ヶ月で閉じることになったソシャゲに関わっていた身としては、晴天の霹靂の連続だったことを覚えています。

メルカリでは当初はフロントエンドエンジニアとして、後にエンジニアリングマネージャとしてサービスの開発・運営に携わっていました。 急成長するサービスと急拡大する組織の中で、生まれ続ける新たな課題に対し、考えて行動して失敗してまた考えてをずっと繰り返し続けた日々は学びの連続でした。 メルカリを卒業してもうすぐ3年になりますが、今でも組織的な課題が見つかったときに、「メルカリではこうだった」とまず考えることが本当に多いことに自分自身びっくりしています。 そのくらい、メルカリで学んだことが自分の考え方のベースになってるんだと改めて思います。

さて、これでブログの更新が途切れてから2年半を埋めることできたもちろんこんな数行ではできるはずがありませんができたので、残り2年半で何をやってきたかを技術ブログを元に書き出してみます。

tech.smartshopping.co.jp 入社最初のエントリーです。新規で開発中のプロダクトがVue/Nuxt.jsだったこともあり、入社直後からVueのキャッチアップを始めた頃です。 javascriptで書かれていたので、TypeScriptで書きたいなと思って一部導入をしてみました。ただVue2系とTypeScript相性はあまり良くなかったですね。 Vue3になって改善しましたが、かなりのBreaking Changeがあったため、移行は断念してReactに載せ替えたりしてます。

tech.smartshopping.co.jp ProductionでのエラーのトラッキングのためにSentryを導入した記事です。 試してみた系の記事は良く見かけますが、ここまで詳しくかかれた導入記事が日本語で少ないためか、結構PVが良かったです。 つい最近までこのエンジニアブログ内で一番PV集めてました。

tech.smartshopping.co.jp Cypressを使ったE2Eテストを導入した際の記事です。 コスト軽減のため、dashboard(課金)は使わずに、自前でMSを用意してk8s上でjob実行していました。 ただそれが要因化はわかりませんが、かなりのメンテコストを要したので、個人的にはdashboardで運用することを推奨します。

tech.smartshopping.co.jp Chrome拡張機能を作成したときの記事です。 記事の内容はなんの変哲もないChrome拡張機能の作成チュートリアルになってます。 業務では、E2Eのテストケースをweb上の操作から自動で作成するようなものを作りましたが、拡張機能のメンテコストの方が高くなってしまったため、今は使用していません。

tech.smartshopping.co.jp CypressによるE2Eテストを1年間メンテし続けた際の知見をまとめてみました。 E2Eをやってよかったことは、E2Eに対する知見が身についたことももちろんそうですが、 そもそもテストとはどうあるべきかなどについて色々調べることで知識が広がったことは良かったと思います。

tech.smartshopping.co.jp ReactとGraphQLを使用したプロダクトにおいて、単体テストをなるべくコスト低く効果的な書き方ができないかと色々調べて、実装してみた内容です。 サービスワーカーでレスポンスをハックするmswはとても筋の良いツールだと思います。

tech.smartshopping.co.jp 最近ではフロントエンドだけではなく、SET的な業務も行っており、開発環境の改善のためにgolangを書いたり、インフラ関連を触ったりもしています。

振り返ってみると、かなり色々なチャレンジができた5年間だったと思います。 とはいえまだまだエンジニアリングな人生は続くと思うので、チャレンジしていきます。