400万人が利用する会社訪問アプリ
THECOO株式会社 / 開発
「UI/UXはチーム全員で考え、共に向上させるもの」 UI/UXは、デザイナーだけが担うものだという誤解が多くあります。しかし、私はそれが単なる誤解に過ぎないと考えています。UI/UXはプロダクトに関わる全てのメンバーが一丸となって作り上げるものであり、デザイナー、エンジニア、UXリサーチャー、PMなど、各専門分野の知見と視点を融合させることで初めて、より高い品質を実現できると信じています。
これまでの経験を通じて、デザインシステムの構築やUI/UXの向上に技術的・プロダクト的な観点から幅広く関わってきました。特に、ユーザーの体験を深く理解し、実際のプロダクト改善に反映させることに力を入れてきました。さらに、チームリーダーやPMとしてチームの方向性を示し、協力し合いながら成果を上げることにも注力しています。
フロントエンド業務として、UIの開発をしながらデザインシステムの保守運用もしています。またデザイナーやUXリサーチャと協業しながら、UXを一から作り上げる工程にも参加しています。さらにバックエンド業務にも携わり、APIの開発やDB queryの最適化などに取り組んでいます。
Google CloudのQuery Insigntsダッシュボードで特定した処理の遅いqueryのパフォーマンス向上を行なった。 select文に対して、適切なindexを追加した。2億行200MB以上のテーブルに対してindexを追加する必要があったため、実行時間の制約を考慮しながら何回もテスト環境でテストし、本番作業を行なった。結果外して、数百万行のテーブルサイズに収まるようになり、select文のパフォーマンスも向上した。
webではライブ配信をする機能を提供している。サービスのスケールが大きくなるにつれて、ライブ配信では多くのパフォーマンス問題が起きるようになった。そのうちの一つとして、ライブ配信中に大量のコメントが投稿されるとwebページが固まるという症状があった。 この問題の原因はどこにあるのか、dev toolのperformanceタブで解析した。結果、コメントをレンダリングするためのjsの処理が重かったことがわかった。その処理を軽くするため不必要なDOMコンポーネントを削減したり、表示できるコメント数を1秒間に制限することで、パフォーマンスを向上させた。
既存のデザインシステムはVue3で構築されていた。Reactへのマイグレーションを機に、デザインシステムも新たに構築することになった。 web componentとcss in jsでコンポーネントを実装した。また、フロントエンド専任でないエンジニアでもフロントエンドの開発を迅速に行えるように、StorybookのUIカタログを作った。さらには、storybookのaddonでweb a11yの品質担保を管理していた。
フロントエンドで問題が起きた時ユーザから報告を受ける前にシステム側で検知したいという目的から、Sentryを導入しました。 限られた予算の中で、効率的にエラーを検出するため、ルートやユーザのインタラクションごとにエラーのサンプリング率を調節するようにしています。
ソフトウェア開発とプロジェクトマネジメントをアプリケーションエンジニアとプロダクトマネジャーとして二年間経験しました。
成果物:インボイス制度導入のための審査系の社内向けのビジネスプロセスマネジメントシステムを開発。さらに、そのシステムを社内の別サービスへ横展開する。 タスク: ・クライアントに対する現状の運用や課題のヒアリング ・プロジェクトの全体スケジュール作成、要件定義、タスクやスケジュールの管理、利害関係者のマネジメント、工数見積もり ・UI、バッチ、データベース、データパイプラインなどに対する設計書の作成 ・品質担保のためのテスト実施の管理 ・チームビルディング ・チームのパフォーマンス改善のためのKPT分析
・DX促進のための社内向けCtoBシステムの開発 UI: HTML, CSS and JavaScript APIs for validation and data fetching: Java and MySQL ・フロントエンドUIビルダーの開発 Functions: User login/logout, password reset, Authentication with JWT and user status management Java, MySQL, Thymeleaf and Kafka ・テスト自動化 JUnit, Gatling, Selenium ・リリースプランニングとリリース Jenkins, Docker and Kubernetes ・保守運用 ELK (Logstash, Elasticsearch, Kibana) ・他組織へ横展開するためのフロントエンドUIビルダーの学習機会の提供
成果物: ・リアルタイムエラー検出システムの導入 ・システムのログの可視化の導入 ・開発者向けの知識共有プラットフォームの立ち上げ タスク: ・現状を分析し、貢献度などを考慮しながら優先順位をつけ、解決すべき課題を決める ・課題に対する解決策を実現性を考慮しながら策定する ・プロジェクトのタスク管理や会議のファシリテーション ・チームビルディング ・成果を他組織に伝える
深層学習による足底圧力のデータでのパーキンソン病の診断
Deep learningの研究をするため、研究生としてインターンをしていました。