ID:67878さん

3年後の目標や野望


年収評価シート

2023年/3ヶ月以内

社内用ChatGpt開発

# プロジェクト概要 社内の情報を使ってChatGptを使うための社内ツールプロジェクト(バックエンドは自分一人)。ChatGptに直接リクエストを送ると学習データとして使われてしまうが、OpenAIが用意したAPI経由であれば学習データとしては利用されないため、このプロダクトを作ることになった。「社内ツールのため、もし失敗しても許容できるから」ということで許可を受け、技術選定から担当した。 # 取り組んだ課題 ChatGptからストリーミングで送られてくるレスポンスをフロント側にそのまま送信しつつ、その一方でストリーミングのレスポンスを一つのデータとしてまとめてDBに保存する必要があった。 # 取り組みの成果 ストリーミングで送られてくるレスポンスをSever-Sent Eventsでフロント側にそのまま送信しつつ、Goroutineを用いた並行処理により、パフォーマンスを失わずにchatgptからのレスポンスをdbに保存できるようにした 詳細は以下。 ・工数見積もり/開発スケジューリング
・ ・アーキテクチャ設計(Clean Architecture) ・テーブル設計(ER図) ・ ・FW(Gin)を用い、ルーターやエラーハンドリングなどのミドルウェアを作成 ・ORM(SQLBoiler)とマイグレーションツール(Goose)導入 ・golangci-lintを設定
 ・ロギングはzap ・業準ライブラリのnet/httpを用い、chatgptにリクエストを送り、ストリーミングで送られてくるレスポンスをSever-Sent Eventsでフロント側にそのまま送 信する機能 ・Goroutineを用いた並行処理により、パフォーマンスを失わずにchatgptから のレスポンスをdbに保存する機能 ・chatgpt同等のUIを実現するため、スレッドやメッセージのCrud処理を実装 ・認証機能を実装

2023年/3ヶ月以内

既存プロダクトのリプレイスプロジェクト

# プロジェクト概要 採用人事向けSAASのスカウト機能(人事が求職者をスカウトするための一連の機能)をRubyからGoにリプレイスするプロジェクト(バックエンドは自分とチームリーダーの2人)。既存プロダクトのRubyのコードを読み、詳細設計をし、Goで実装するという流れで以下のAPIを開発した。 ・メッセージ送受信 ・メッセージテンプレートの一覧、単体表示、作成、更新、削除 ・検索テンプレート(求職者の検索条件を保存できる機能)の一覧、単体表示、作成、更新、削除 # 取り組んだ課題 実装漏れ(既存のコードで実装されているロジックをリプレイスの際に見落とす)を防ぐ必要があった。そのため、既存のコードを読み解く際は、プロダクトを実際に使ってみたり、ビジネスサイドの人に機能の説明を受けたり、このプロダクトに詳しいチームメンバーに相談したりしながら、チェックリストを作ってから実装工程に入るようにした。

2023年/半年以内

新規事業開発プロジェクト

# プロジェクト概要 新卒向けエンジニア就活サイトの新規開発(バックエンドは自分含めて5人)。 # 取り組んだ課題と取り組みの成果 [担当業務1] 申込者API(就活イベントへ参加申込した学生に関連したAPI)の開発 全CRUD処理 + 検索機能 + テーブル設計を担当。イベント情報などに関しては他の開発者が既にテーブルを作成していたので、必要に応じてすり合わせを実施。検索機能については、どんな条件での検索が必要かをビジネスサイドと入念に練り合わせた。 [担当業務2]アーキテクチャリファクタリングのリード 異なった設計方針で開発されていた箇所があったので、統一するためのリファクタリング作業を行なった。その際、どの方針で統一するかを議論するための会議においてファシリテーターも担当。メンバーの意見を聞きつつ、自分からもドメインモデルの導入を提案し、設計方針の骨子を作成。その上で、CTOやVPoEに相談して設計方針を固めた。実装も自ら担当した。 [担当業務3]その他細かな修正業務 ・パスワードリセット機能の修正、疎通確認 ・テーブル駆動テストの作成(作成されてない箇所がちらほらあった) ・CircleCIをpath-filteringに対応 ・スロークエリのチューニング (union allと集約を使って複数テーブルのupdate_atの最大値を取得していた箇所をjoinとgreatest関数を使うよう修正 ) ・etc

2022年/1年以内

中途向け転職サイト開発プロジェクト

# プロジェクトの概要 中途向け転職サイトの開発業務。取り組んだ業務は概ね以下である。多岐に渡るため、取り組んだ課題に関しては主要なもののみ説明する。 [担当業務1]Admin機能の開発 ・PickUp記事設定機能 ・ライター(執筆者)一覧、詳細、作成、更新、削除機能 [担当業務2]配配メール外部API連携(2021年4月~2021年5月) ・配配メールで送るCSVデータを生成する機能 ・配配メールAPIを定期実行するためのRakeタスク ・httpリクエスト(multipart) [担当業務3]スカウト機能(企業側) ・テーブル設計 ・スカウト候補者リスト一覧、詳細、作成、削除、候補者追加、候補者削除 ・候補者非常時リスト一覧、候補者追加、候補者削除 ・スカウトスレッド一覧(選択タブ、候補者ステータス、未読/既読による絞り込 み) ・スカウトスレッド詳細検索機能 ・スカウトメッセージ一覧、作成、削除、既読更新 ・スカウト関連開発用データ生成Rakeタスク [担当業務4]クエリチューニング ・最新のメッセージのみを取得する方法として、group byしてmax()した結果を joinする方法から、window関数のrow_number()で順番を付けて1番目のものを 取る方法に変更 ・postingテーブルにcompany_idが存在する会社だけをcompanyテーブルから 取得機能にて、explain analyzeの結果パフォーマンスの改善が認められたため、 in句からexists句に変更 [担当業務5]スカウト機能(求職者側) ・メッセージルーム一覧、詳細 ・メッセージ作成、削除、既読更新 # 取り組んだ課題 メッセージ表示機能の開発においては、複雑な検索機能の実装を求められた。具体的に言うと、要返信対応、対応完了、返信待ち、未読のみ、応募経路(スカウト・自己応募)、求人の種類、選考ステータス(選考中、最終面接、内定など)、任意のキーワードを選択・入力して検索できるようにする必要があった。また、要返信対応、対応完了、返信待ち、未読のみに関しては、画面に表示するデータがそれぞれ異なっていた。 # 取り組みの成果 下記を意識して、上記の実装を行った。 - SQLの発行回数を抑える(パフォーマンス意識) - 動的SQLの実装(検索パラメーターに応じて、メソッドチェーンやクエリ文を切り替える・書き換える) - 実装要件に応じてCASE式、EXIST句、WINDOW関数なども使用(例えば、GROUP BYを使用するとSELECTステートメントで指定できるのは集約キー、集約関数、または定数のみですが、これにより特定の非集約列での計算が制約されるため、集約キーに含まれない列に基づく行レベルの計算や条件分岐が必要な場合、より柔軟なアプローチとしてWINDOW関数を使用した)

2021年/3ヶ月以内

本番環境からstaging環境へのデータ転送自動化の仕組み開発

# プロジェクトの概要 本番リリース前の検証の精度を上げるため、本番環境とstaging環境のデータの同期をさせる必要があった。本プロジェクトに関してはリードを担当し、技術提案から実装までを一手に担った。 # 取り組んだ課題 本プロジェクトで開発するシステムが満たすべき要件は以下の通りで、これら全ての要件を満たすシステムの提案をする必要があった。 - 全ての個人情報がデータマスキングされてから本番環境に転送されること - SSOを使っているため、クロスアカウントでのデータ転送を可能にすること - データ転送の際に本番DBに負荷をかけないようにすること 本番環境とstaging環境のデータ同期の仕方はいくつかあった(特にデータマスキングの方法と、クロスアカウントでのデータ転送)ため、それらのメリット・デメリットと自分のレコメンデーション、システム構成図(draw.ioで作成)をまとめたレポートを上長に提出し、実装に取り組んだ。 # 取り組みの成果 開発した仕組みは以下。 1. 本番環境のRDSのスナップショットを復元する(自動作成されるスナップショットの復元なので、本番DBへの影響はない) 2. 復元したRDSのデータベースに対してSQLを実行し、個人情報を全てマスキングする 3. ダンプファイルを作成し、S3を通じてクロスアカウントでステージング環境にデータ転送する(復元したRDSは削除する) 4. ダンプファイルを使って、本番環境とステージング環境を同期させる この仕組みは、シェルスクリプトでAWS CLIやSQLコマンドを定期実行することにより全自動化した。パスワード管理 にはSecret Managerを用いている。

2021年/半年以内

EC2のFargateへの移行

# プロジェクトの概要 採用人事向けSAASである「ONE CAREER CLOUD」はWebサーバーとしてEC2を使用していたが、インフラストラクチャ管理の削減などを目的として、フルマネージドサービスであるFargateへの移行を実施した。 # 取り組んだ課題 Fargateへの移行に当たって、Fargate以外のサービス(ALB、S3、ElastiCache、Fargate、CloudFront、Auto Scalingなど)の実装・修正も必要となった。インフラ実装はTerraformでコード化していたため、Fargateへの移行はこれを修正・追記する形で行った。

マネージメント能力

アピール項目


アウトプット

GitHub アカウント
あり
Qiita アカウント
あり
Zenn アカウント
未入力です
Speaker Deck アカウント
未入力です
SlideShare アカウント
未入力です
特にアピールしたいアウトプット
未入力です

今後、身につけなければいけないと思っている技術は何ですか?

未入力です

あなたが一番パフォーマンスを出せるのはどんな環境ですか?

・リラックスできる環境(リモート勤務が一番良く、出社するとしてもオープンスペースでの勤務が良い) ・自分の現在のスキルレベルだとちょっと難しいかなというレベルのタスク(目安として、能力の1.2〜1.5倍程度の難易度)をアサインしてくれる環境

キャラクター

直近で一番やりたいこと
技術を極めたい
好きなスタイル
好きな規模
自信を持って人より秀でていると言える点
学習能力 / 分析力 / 問題解決力
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
風通しの良さや意思決定ライン
やりたくない分野
SI / 広告
その他の特徴
多職種のバックグラウンドがある
その他のやりたいこと・やりたくないこと
未入力です

やりたい事

手を動かして設計してコードを書きたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
価値あるプロダクトを作り成長させたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
学び続けて技術力でプロダクトに貢献したい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
意義があることや社会に貢献できる仕事がしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
人や計画の調整・マネジメントをしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
レガシーなシステムの保守・運用・改善をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
企画や仕様を考えるところから関わりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
業務効率を改善して一緒に働く人のためになりたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
全社横断的な共通基盤作りや強化をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい
組織や文化を作る・成長させる仕事をしたい
絶対やりたくない
あまりやりたくない
別に普通
やりたい
絶対やりたい

基本プロフィール

年齢
今年で30代中盤
好きな Text Editor
Goland
希望勤務地
東京都 / リモート勤務
常時リモートが必要
希望年収
未入力
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

要望、不具合報告、使いづらい点や感想など、お気軽にお寄せください。
いただいたご意見は、今後のサービス向上に活用させていただきます。

なお、このフォームは受付専用のため、返信を行っておりません。
返信を希望する場合はお問い合わせよりご連絡ください。

  • {{error}}
SIGN UPSIGN IN


転職ドラフトを友人や同僚に薦める可能性はどのくらいありますか?