〜2019年
明治大学 政治経済学部 政治学科に在籍していました。大学3年生のときに、就職活動に向けて視野を広げるために新しいことに挑戦したいと考えて、フィヨルドブートキャンプにてプログラミングの勉強を始めました。もともと小さな頃から絵を描くことが好きで、ものづくりを楽しめる性格だったので、新しい技術に対する学習を楽しみながら進めることができました。学習の成果物として、漫画の進捗管理アプリを公開しました(現在はクローズ済)。
https://github.com/UsaMomokawa/gen
株式会社クラッソーネにてアルバイトをしており、解体工事の一括見積もりWebサービスの開発に従事しました。Ruby on Rails を扱っていました。
Rails Girls Tokyo 12thおよび13th にて、イベントスタッフ、ロゴ・グッズデザインを担当しました。
Rails Girls Tokyo 12th レポート - Rubyist Magazine
2020年
GMOペパボ株式会社に新卒で入社しました。
コロナ禍だったこともあり、基本的にはフルリモートで勤務していました。
新卒研修
フロントエンドからインフラまで多岐にわたる分野に対してインデックスを貼ることができました。詳細はテックブログにまとめています。
ペパボ新卒エンジニア研修 2020 vol.1 - ペパボテックブログ
ペパボ新卒エンジニア研修 2020 Vol.2 - ペパボテックブログ
ペパボ新卒エンジニア研修 2020 Vol.3 - ペパボテックブログ
社内サポート
技術部コーポレートエンジニアリンググループ(CEG)配属となりました。GMOペパボの技術部は、事業部を横断した組織です(組織構成について)。
CEGはいわゆる情シスの仕事をする部署で、社内で使用する情報システムや情報機器の開発・管理を担当していました。プログラミングでは主に Ruby on Rails を扱っていました。
社内の入退職対応のサポートや、問い合わせ対応を行っていました。また社内の問い合わせのコミュニケーションを円滑にするために、Slack Botを開発することもありました。
パスワード管理ツールの全社提供
パスワード管理ツール「1Password」の社内の全パートナーに対する提供を開始しました。社内で安全にツールを利用できる状態にするために必要なことを行いました。
- 権限変更のフローを整備し、「誰が、何に権限を持っているか」をコード管理する
- パートナーが急増したとしても、権限管理が複雑にならないように配慮しています
- CLIを開発し、権限変更はプログラムで制御するようにしました
- ツールの利用ガイドラインを示す
2021年
コミュニケーションの構造化/自動化
(先輩エンジニアからの受け売りですが、)エンジニアリングにはコードを書くことだけではなく、複雑な問題を分解して、認知できる状態に落とし込むことも含まれると考えます。複雑な問題を整理し、マイルストーンを建てて着実に達成していくことが得意です。
社内のコミュニケーションを構造化し、人間がやらなくてよいことは自動化して、機械に任せるように仕組みを整えました。例えば以下のようなものがあります。
- 社内ドキュメント「Kiten」 のドキュメントを返す Slack Bot の開発
- Slack Bot に対して、任意の単語を渡すと、関連したドキュメントを返します
- 社内問い合わせ対応をSlack Workflowへ移行
- 社内で使用する情報システムに関するパートナーからの問い合わせをSlack Workflow経由で行えるようにしました。インターフェースはSlackのBlock Kitを用いています
- Slack Workflowの入力フォームでテンプレートを提供することで、必要な情報が揃ってからコミュニケーションを開始できるようになりました。問い合わせを作成すると自動でGitHub Issueが作成されて情報がストックされるので、トラッキングできるメリットもあります
また、職域を問わずチーム内外のメンバーと相談する機会を設けて、エンジニアの立場から、社内運用フローの改善を継続的に行っていました。
社内のデータ活用
2021年11月から技術部データ基盤チームに異動しました。この時期から、Pythonをメインで触るようになりました。他にも多様な技術要素に触れる機会となり、それらに対して主体的に学んで一つ一つ着実にこなすことを意識しました。担当するユーザーストーリーを最後までやりきれたことで、新しい分野においても自走できる自信につながりました。
- SplunkによるSOARの構築
- イベントの「収集・検知・対応」のサイクルを自動化したものを SOAR (Security Orchestration Automation and Response) と呼びます。統合ログ基盤であるSplunkを用いて、社内のエンドポイントをSIEMにより横断的にモニタリングし、異常値発生時にアクションを取れるようなワークフローを構築しました
- コードメトリクスを可視化するダッシュボード
- 社内では、PythonのStreamlitというフレームワークを利用したダッシュボード基盤を設けています。GitHub Enterprise ServerからコードメトリクスをBigQueryに収集し、ダッシュボードで可視化しました
- コードメトリクスを計測・可視化する - ペパボテックブログ
アウトプット
エンジニアを目指している人に向けたイベントに登壇しました。
サマーインターンシップにおいてメンターを担当しました。
ペパボのエンジニアインターンシップへようこそ! 8日間の様子をお見せします! - ペパボHRブログ
2022年
CDC(Change Data Capture)の導入
カラーミーショップのデータがニアリアルタイムに社内データ基盤へ同期されるようになりました。
安定的なデータ提供をするための取り組み
データ基盤をより多くの人に使ってもらうためには、安定的なデータ提供が必要です。フルマネージドのワークフロー オーケストレーション サービスである Cloud Composer において、ワークフローの実行結果に対するテストの仕組みを導入し、データ欠損などの異常を検知して通知できるようにしました。
データ基盤の運用支援
社内利用しているGCPやAWSの利用費監視の導入、データ基盤での障害時のハンドラーやサポート、システムのライブラリのアップデートなどに従事しました。
アウトプット
GMOペパボでは、Google Cloud Platform をベースとした全社データ基盤「Bigfoot」を開発・運用しています。サービス開発において Bigfoot を導入し、Bigfoot のデータを活用するための方法を学んでもらうことを目的として、データエンジニアリング研修を実施しました。
GMO Developers Day 2022「女性エンジニアが語る、私たちのキャリア」というトークセッションにスピーカーとして参加しました。
2023年
CDC(Change Data Capture)の導入
minne、SUZURIのデータがニアリアルタイムに社内データ基盤へ同期されるようになりました。
技術要素としては、Pub/Sub、Dataflow(Apache Beam)、Cloud Composer などを扱いました。
事業でデータを施策に活用するための取り組み
Apache Beam を用いて、アプリケーションにおけるユーザー行動ログをニアリアルタイムに取得・集計する機能を実装しました。
データ基盤の運用支援
BigQueryのテーブル参照数の可視化、データ欠損の調査・障害対応、GCPの費用按分の自動化などを行いました。
データ基盤で障害が起きた際にチーム外のメンバーとも協力して復旧対応をすすめられるよう、ドキュメントを用意したり、実際に見てもらいながら仕組みを説明するなど、データ基盤に対する認知負荷を下げる活動を継続的に行いました。
アウトプット
データエンジニアリング勉強会でLTをしました。
新卒OJTにて、「bigfoot-banditリニューアル」チームのメンターをしました。
Rails Girls Tokyo 15th でコーチを担当しました。