このページは で作られています。

で作られています。

専門知識不要で本格的なウェブサイトを作成できる! 無料で試してみる 無料で試してみる

PORTFOLIO

Kawata Kenji

Works

制作実績
Payroll-Software(給与管理システム)
個人開発した給与管理システムである。現在、画面はなくAPIのみ作成している。使用技術はGolangである。
リポジトリはこちらからアクセス可能。
SubReq(サブリク)
OPTiMに2022年入社予定のメンバー3人でチーム開発したサービスである。本サービスは「こんなサービスが欲しい」という人々と「サービス開発をしたいが、開発するサービスの内容に悩んでいる」という人々を繋げるためのコンペ形式のサービスである。使用技術はGolangである。
リポジトリはこちらからアクセス可能。
小見出し
ここをクリックして表示したいテキストを入力してください。テキストは「右寄せ」「中央寄せ」「左寄せ」といった整列方向、「太字」「斜体」「下線」「取り消し線」、「文字サイズ」「文字色」「文字の背景色」など細かく編集することができます。

Skills

スキル
実務で利用している技術
Golang1.21.3,PostgreSQL14.6,sqlc1.26.0,MongoDB7.0.2,Redis7.2.3,Snowflake,Amazon S3,ChatGPT,Github Copilot,Devin→2023年11月~現在まで
Java 17(Spring Boot 2.7.3, jooq 3.17.4),MySQL5.7→2022年1月~2023年10月まで
2023年11月~現在
株式会社GROWTH VERSEaimstarのバックエンド開発を担当。使用技術はGolang,MongoDB,Redis,Snowflake,ソフトウェアアーキテクチャはクリーンアーキテクチャを利用している。仕事内容は顧客分析や統計量取得などの分析を行うためのマイクロサービスの開発をしている。

取り組んだタスク
・バックエンドエンジニアとして分析機能の設計開発を担当
・分析機能のEPICのオーナーとして、機能仕様書の作成・タスク出し・見積もりなどのPM業務を担当。チーム体制はバックエンドエンジニア1~2人(自分含む)、フロントエンドエンジニア1人
・MongoDBからPostgreSQLへの移管
 ・運用上MongoDBに存在するデータをPostgreSQLに移管するスクリプトの開発
 ・MongoDBで実装していた処理をPostgreSQLに置き換える開発
・BE新規参画者のオンボーディングを担当
・PR作成時のciでliquibaseのddlをdockerコンテナ上でmigration_testし、問題ないことを確かめるためのjobを追加。
・1000万件以上のデータによるレポート作成処理を20秒程度で作成できるようにパフォーマンス改善を実施した。
・エンジニア採用活動
 ・転職ドラフトで弊社が欲している人物像のエンジニアを探して指名する作業
 ・YOUTRUSTで弊社が欲している人物像のエンジニアにスカウトする作業
 ・転職ドラフトで自分が指名した人と面談(10名対応)
 ・技術面接対応(1名対応)
 ・採用したい人物像の想定スキルをフロントエンド、バックエンド、SREそれぞれの領域でまとめた。

開発した機能
・深掘り分析crud,深掘り分析の統計量取得機能、深掘り分析の顧客抽出機能(バックエンドエンジニアとして参画深掘り分析の実際のアルゴリズムの実装は担当していないが、アルゴリズムを統計量取得時や顧客抽出時に適用する部分を実装)
・コンバージョンルール機能、効果検証取得機能(Epicオーナー兼バックエンドエンジニアとして参画。ただし、効果検証取得時のsql自体の作成は担当していない。)
・form_layout_parameters機能開発(Epicオーナー兼バックエンドエンジニアとして参画。form_layout_parameters機能とはユーザーごとに表示するform画面を変えるための仕組みである。ユーザーごとに利用するformの内容をFEがサーバーから取得し、取得した情報に合わせてFEで画面の自動レイアウトを行う仕組みである。)
・イベントトリガーシナリオ配信結果取得、効果検証取得機能(バックエンドエンジニアとして参画。効果検証のサマリーデータ作成を事前に作成することで、効果検証取得時のdb負荷の軽減に繋がった。)
・データセット表示設定機能開発(Epicオーナー兼バックエンドエンジニアとして参画。form_layout_parametersをデータセット側で保持させることで、データセットの情報からform_layout_parametersの機能を実現できるようにした。)
・入力されたsql内のエイリアスを物理名に変換する機能(バックエンドエンジニアとして参画)
・動的差し込み変数(バックエンドエンジニアとして参画)
・ダッシュボードの刷新(バックエンドエンジニアとして参画)
・レポート機能の刷新(バックエンドエンジニアとして参画、1000万件以上のデータを利用する負荷の大きいプロジェクト)
・クロス集計機能の刷新(Epicオーナー兼バックエンドエンジニアとして参画。4ヶ月近い大規模なプロジェクト)
・シナリオ改善(Epicオーナー兼バックエンドエンジニアとして参画。)
・分析間のセグメント連携(Epicオーナー兼バックエンドエンジニアとして参画)

その他
・社内でDDDの推進を目的とした発表を行う。使用した資料
株式会社GROWTH VERSEのtech blogに技術記事を執筆
 ・DDD導入解体新書:パート1
golang tokyoのカンファレンス後夜祭でLTとして登壇。
 ・発表テーマ:GolangプロジェクトをDDDで開発してみた!
 ・発表したgolang tokyoのconnpassページ
 ・使用した資料
2022年4月~2023年10月まで
アルバイト時代と同じ部署で開発業務を行う。開発体制はスクラム開発を採用しており、プロジェクトの開発メンバーは10名程度、プロジェクト内で3つの開発チームに分けられている。私を含め3~5人のチームでタスクをこなす。

取り組んだタスク(開発タスク)
・新規APIを0から設計して実装、テストコードの作成。必要な例外処理、テストを事前に設計し、実装に組み込む。
・トランザクションを利用したAPIの実装・テスト
・注文、請求回りの計算ロジックの実装、テスト
・ドメインモデルの新規実装、テスト。
・自動e2eテストの作成
・バグの修正を行う
・保守開発を行う

取り組んだタスク(設計タスク)
・新規マイクロサービスの技術選定(k8s上でアプリケーションを管理するかLambdaを利用するか、言語やwebフレームワークは何を採用するか、DBはRDBとNoSQLのどちらを採用するかなどの意思決定を行う。)
・新規テーブルの設計(今後生じるであろうユースケースを想定し、適切なカラムにindexを貼るなどの経験あり)
・注文、請求回りの計算ロジックの設計書作成
・複数のマイクロサービスが利用されるユースケースの詳細設計を作成した。
・想定されるユースケースの詳細(基本設計)を作成し、必要があれば要件定義の見直しを行う。
・ドメインモデリングの実施

取り組んだタスク(パフォーマンス改善・その他タスク)
・docker containerの起動時間を速くするため、ボトルネック調査とリファクタリングをした。(起動時間を3分から20秒まで縮めることに成功した。)
・ciのtest jobの実行時間を速めるため、ボトルネック調査とリファクタリングをした。(テスト実行時間を10分から38秒まで縮めた。)
・テスト環境へのデプロイの高速化のために、ciパイプラインの見直しをした。(デプロイ時間を10分近く縮めた。)
・プロジェクトメンバーのMergeRequestのレビュー担当(基本設計のレビューから詳細設計、実装・テストのレビューまで幅広く担当する。一時期はチームメンバーのMRの6割近くを任されるほどレビューの経験あり。)
・sqlの実行計画を調査し、適切に複合インデックスを付与。パフォーマンス問題の解決をした。
・新規参入者が短期間で複数人参画したため、コードレビューの際に私が見ているポイントをqiitaの記事にまとめて、記事を利用して開発チーム全体に説明会を実施した。
・BatchごとにDockerfileを作成していた課題に対して、Cloud Native Buildpacksを利用することで共通のdocker imageを利用するようにした。
・新規参画者の参画支援を行う。(開発環境構築の支援やプロジェクトの説明など)
・要件定義から逆算してタスクの切り出しやプランニングポーカーによるタスクの見積もりなどを実施。
・採用面談(2人対応)
2022年1月~3月まで
株式会社OPTiMでアルバイトを経験。Java,Spring Bootを利用してWebサービスのバックエンドを担当。サービス名はOPTiM Store。サービスのホームページはこちら。設計手法はDDD,ソフトウェアアーキテクチャはオニオンアーキテクチャを利用している。仕事内容は既存APIのリクエストパラメータ/レスポンスパラメータに新規データを追加するタスクや新規APIを0から設計して開発するタスクなどである。これらの仕事でDDD・オニオンアーキテクチャに関する知見が深まる。
実務以外の開発経歴
2022年11月~2023年5月ごろまで(今後も開発予定である)
個人開発した給与管理システムである。現在、画面はなくAPIのみ作成している。使用技術はGolangである。
リポジトリはこちらからアクセス可能。

2021年7月〜10月ごろまで
Golang,Ginを用いてWebサービスを新卒同期三人で行う。サービスはSubReq(サブリク)。SubReqはOPTiMに2022年入社予定のメンバー3人でチーム開発したサービスである。私はサーバーサイドの開発とDockerfileとdocker-composeファイル、UMLの作成を主に担当した。また、当プロジェクトの管理やチームをまとめるリーダーを担当した。リポジトリはこちら

2020年4月〜10月ごろまで
Ruby,Ruby on Railsを利用してWebサービスを1人で開発。その後、AWSを利用してデプロイを行う。内容は洋画専用ECサイト。リポジトリはこちら

Profile

プロフィール

Contact

お問い合わせ