ID:71294さん

3年後の目標や野望


経験を活かし、大規模ユーザーサービスの成長を支えるDB設計・機能開発に挑戦したい

現職では、ユーザーが同時に1000人程度使用するDB設計・開発に携わり、安定性や効率性を意識した設計経験を積んでまいりました。しかし、より大規模なシステムのDB設計や、数百万単位のユーザーが求める機能開発の経験を通して、自分のキャリアを次のステージへと進めたいと考えています。 今後は、私の経験を活かしながら、多様なエンジニアと協力し、ユーザー数100万人以上のサービス基盤の設計・開発に挑戦することで、スケールの大きな課題解決や成長を担うポジションを目指しています。

プロジェクト経験

2024年/1年以内

自動車部品購入システムへ積み付けAPIシステムを連携

#プロジェクト概要 自動車部品購入システムへ積み付けAPIシステムを連携 #期間 2023年12月〜2024年7月(8ヶ月) #チーム情報 PM 1名(私) メンバー 2名 協力会社 3名 #プロジェクト詳細 【概要】 従来の自動車部品購入システムでは、部品のコンテナ積載状態をシミュレーションするロジックに既存のメソッドを利用していましたが、協力会社が提供する積み付けAPIと連携することで、より正確な積載シミュレーションが可能になりました。この連携により、コンテナの積載状態を3Dで表示する新しいソースを実装しました。また、APIが返却する計算結果を表形式で一覧表示し、保存機能を追加しました。この変更に伴い、従来のトラック画像での積載状態表示から、APIが返却するiframeを用いた表示に切り替えました。 【課題】 本プロジェクトでは、自動車部品購入システムへのAPI連携が初めての試みであったため、複数の技術的課題に直面しました。まず、クライアントのファイアウォールによってAPIとの通信が制限され、curl通信を確立できない問題が発生しました。また、協力会社のAPI側において特定の部品でjsonが返却されないバグがあり、作業スケジュールの遅延を引き起こしました。さらに、部品マスターデータが最新でないことにより、シミュレーション結果が正確でないケースがありました。実装面では、Ajaxを用いてクリック操作後の画面上で積載計算や履歴管理を行う必要があり、技術的な難易度が高い場面が多々ありました。 【取り組み】 課題を解決するため、以下の手順で対応しました。APIとの通信問題については、クライアントの情シス部門と協力し、通信を許可するためのIP設定を調整しました。また、jsonが返却されない部品に関してはExcelでデータを整理し、協力会社に共有することで修正を依頼しました。さらに、部品マスターデータについては、クライアントと連携してデータを更新していただくよう調整しました。実装に関しては、クリック操作に伴う処理をAjaxを用いて非同期通信で実現する方法を選択し、システム全体のパフォーマンスとユーザーエクスペリエンスを向上させました。 【打ち手・使用した技術】 技術面では、curl通信を利用してAPIとの接続を確立し、データを送受信するためにjson形式を採用しました。積載計算や履歴表示では、Ajaxを活用して非同期処理を実現しました。サーバーサイドでは、SQLの記述を最低限使用するカラムのみにしAPIに送信する配列に余分なデータを抱えないようにして高速で結果が表示されるような工夫を行いました。クライアントとの調整では、部品マスターデータを最新化するためのプロセスを策定し、効率的にデータ更新が行える体制を整えました。 【結果】 本プロジェクトにより、部品のコンテナ積載状態を高精度に予測できるようになりました。この改善により、クライアントは注文および在庫管理を従来よりも正確に行えるようになり、業務効率が大幅に向上しました。また、API連携により、シミュレーション結果の可視化が進み、クライアントの信頼性向上にも寄与しました。

2022年/半年以内

自動車部品購入システムの部品積み付け状態の見える化

# プロジェクト概要 自動車部品購入システムの部品積み付け状態の見える化 # 期間 2022年9月〜2023年2月(6ヶ月) (保守期間を含みます。以下に特徴的な実装内容をまとめます) #チーム情報 PM 1名 メンバー 1名(私を含む) 自動車部品メーカー部品購入システムに部品の積み付け状態を明確にする機能を新規に追加した。 PMがクライアントと要件定義し、私は以降の基本設計から実装、テスト(単体、結合)を担当した。 # 送り状リストに部品状態一覧を表示する画面の追加 【概要】 クライアントが発注した部品の状態を可視化するための画面を新規開発しました。従来は部品の出荷状況を確認するために個別の問い合わせが必要で、クライアントにとって非効率的なプロセスとなっていました。新しい機能により、この業務の効率化を図りました。 【背景と課題】 部品の出荷状態を確認する専用の画面が存在しなかったため、クライアントは都度問い合わせを行う必要がありました。このプロセスは双方の業務負荷を増大させており、改善が求められていました。 【取り組み】 まず、クライアントが必要とする情報を整理し、どのような画面が業務に役立つかを分析しました。次に、リアルタイム性を確保する方法を検討し、クライアント側で1日ごとに生成されるCSVデータを利用する案を採用しました。このCSVデータをシステムに取り込み、データベースに格納することで、正確で最新の情報を提供できる仕組みを構築しました。 【打ち手・使用した技術】 データベース設計では、必要なカラムを明確にし、テーブル構造を整備しました。また、CSVデータを定期的に取り込むため、cronを用いて自動化しました。バックエンドはZend Frameworkで開発し、フロントエンドにはJavaScriptを使用して操作性を向上させました。 【結果】 これにより、クライアントが問い合わせを行う必要が大幅に減少しました。新しい画面は業務効率を向上させ、クライアントの満足度向上にも寄与しました。 # コンテナ積載予測画面の精度向上 【概要】 クライアントの代理店ユーザーが利用するコンテナシミュレーション画面の精度を向上させるため、新しいロジックを追加しました。この改善により、より正確な積載予測が可能となり、無駄なコストを削減する結果を達成しました。 【背景と課題】 従来のシミュレーションでは購入済みの部品(PO)のみを考慮しており、未処理の注文(BO)を含めた正確な予測ができていませんでした。この欠点により、積載効率が低下し、誤発注が発生していました。 【取り組み】 まず、内部のソースを確認しBOデータを考慮に入れた積載計算が必要であることを特定しました。次に、データ量が膨大であることを踏まえ、高速処理を可能にするSQLクエリの最適化が重要だと判断しました。これに基づき、不要なカラムを削除し、データベース構造を改善することで、パフォーマンスを向上させる設計を行いました。 【打ち手・使用した技術】 Zend Frameworkを用いて新たな積載計算ロジックを実装し、JavaScriptを活用して画面表示時の動作を最適化しました。また、大量データを処理するSQLクエリをゼロから設計し直し、効率的なデータ取得を実現しました。 【結果】 結果として、画面の表示速度を5秒以内に短縮し、ユーザーエクスペリエンスを大幅に向上させました。この機能により、クライアントは無駄な部品の発注を減らし、コスト削減を実現しました。 # 異常発注をお知らせする機能の実装 【概要】 営業計画を超えた発注が行われた場合に自動で通知を送る機能を開発しました。この機能により、過剰発注を抑制し、コスト削減を図りました。 【背景と課題】 営業計画を超える大量発注が頻繁に発生しており、無駄なコストがクライアントにとって大きな負担となっていました。この問題を解決するため、異常発注を検知し、自動的に通知する仕組みの構築が求められていました。 【取り組み】 まず、異常発注の基準を明確化しました。次に、発注量制限の管理方法を設計し、テーブルに必要なデータ構造を定義しました。その上で、異常発注時にリアルタイムで通知を行うフローを策定し、メール送信機能の要件を具体化しました。 【打ち手・使用した技術】 Zend Frameworkを用いてバックエンドを開発し、異常検知時に通知メールを送信する仕組みを構築しました。また、フロントエンドではJavaScriptを用い、操作性を高めました。 【結果】 通知機能の導入により、異常発注の削減に成功しました。この機能は現在もクライアントの業務で活用されており、信頼性の向上にも貢献しています。

2024年/半年以内

産業機器会社の部品購入システムの開発(自社図面管理システムを組み込み)

#プロジェクト概要 産業機器会社の部品管理システムに図面管理パッケージを組み込み #期間 2023年11月〜2024年4月(6ヶ月) #チーム情報 PM 1名 メンバー 4名(私含む) Laravel11で図面管理システムである自社システムを組み込んだ業務システムを開発した。 PMがクライアントと要件定義し、私は要件定義の打ち合わせに加わりつつ、実装した機能について基本設計から実装、テスト(単体、結合)を担当した。実装した機能はログイン機能とユーザーマスタ機能と検索機能と日英切り替え機能である。またDockerで開発環境を作成し、他メンバーに共有しながら開発を進めた。作成した開発環境(コンテナ)はOSがAmazonlinux2,DBがMysql8.0,サーバーがApache,フレームワークがLaravel11である。 #ログイン機能 【概要】 クライアントからの要望に基づき、Laravelの既存のUserテーブルではなく、新規に作成したUser_Masterテーブルを使用してログイン機能を実装しました。この機能により、セキュリティ上の要件を満たしながら、柔軟なログイン管理を可能にしました。 【課題】 Laravelは既定でUserテーブルを使用するよう設計されていますが、クライアントのセキュリティポリシーにより、独自のテーブルを利用する必要がありました。この制約により、Laravelの標準的な認証プロセスが利用できない問題が発生しました。 【取り組み】 標準機能を活用しつつ、独自テーブルに対応させる方法を検討しました。Laravelの認証設定ファイル(auth.php)やルーティング設定(web.php)のカスタマイズを行い、効率的かつ安全にログインプロセスを実現しました。 【打ち手・使用した技術】 Laravelの認証設定ファイル(auth.php)にUser_Masterテーブルを追加し、カスタマイズした認証プロセスを構築しました。また、オリジナルのログイン画面を作成し、バリデーションエラー時のメッセージ表示やリダイレクト処理を実装しました。 【結果】 新規テーブルを使用した場合でも、標準のUserテーブルを使用した場合と同様にスムーズなログイン体験を提供できるようになり、クライアントのセキュリティ要件を満たしました。 #ユーザーマスタ機能 【概要】 クライアントがログイン可能なユーザーを権限ごとに管理できるように、ユーザーマスタ画面を作成しました。この画面を通じて、ユーザー情報を一括管理するための機能を提供しました。 【課題】 大量のユーザー情報を手作業で管理するには非効率であるため、CSVを用いた一括操作が求められていました。また、アップロード時の入力データの制限やエラーメッセージの整備が必要でした。 【取り組み】 まず、CSVのアップロード・ダウンロードに必要な要件を定義し、クライアントと調整しました。次に、バリデーションの範囲を検討し、不正データの流入を防ぎながら利便性を損なわない設計を行いました。 【打ち手・使用した技術】 Laravelのライブラリを活用してCSVアップロード・ダウンロード機能を実装しました。JavaScriptを用いてボタン操作時の動作を制御し、特定のファイル名でのみアップロード可能にするバリデーション処理を組み込みました。 【結果】 クライアントは、ユーザー情報をCSVファイルで一括管理できるようになり、従来よりも効率的な運用が可能になりました。 #検索機能 【概要】 クライアントからの要望に応え、部品一覧画面に検索機能を実装しました。この機能により、クライアントは特定の条件で絞り込んだ情報を迅速に取得できるようになりました。 【課題】 複数の検索条件を切り替えて使用した場合、検索内容が消える問題が発生し、ユーザーエクスペリエンスの低下を招いていました。この問題を解決する必要がありました。 【取り組み】 検索フォームの状態管理を最適化するため、セッションを活用する設計を検討しました。検索条件が切り替え時に保持されることで、操作性を向上させることを目指しました。 【打ち手・使用した技術】 検索フォームの切り替えをセッションで管理する仕組みを構築しました。Laravelを用いてバックエンド処理を実装し、フロントエンドにはJavaScriptを用いて動的なフォーム切り替えを実現しました。 【結果】 フォームの切り替え後も検索内容が保持されるようになり、ユーザーの利便性が向上しました。 #日英切り替え機能 【概要】 クライアントの要望に基づき、システム内の用語を日英で切り替える機能を実装しました。これにより、国際的な利用者にも対応可能なシステムが実現しました。 【課題】 Laravelの標準的な言語切り替え機能では対応できない部分(例:ログインエラー文)に対して、別途対応が必要でした。 【取り組み】 言語切り替えの範囲を明確化し、システム全体で一貫性のある実装を目指しました。特に、Laravelの標準機能で対応できない部分をどのように拡張するかを検討しました。 【打ち手・使用した技術】 セッションに言語設定用のフラグを持たせ、GETパラメータで切り替え処理を実装しました。Laravelのlang.phpを活用しつつ、カスタムスクリプトを用いて動的に言語を変更できる仕組みを構築しました。 【結果】 システム内の全ての画面で日英切り替えが可能となり、クライアントからの高評価を得ました。

プロジェクトカテゴリ
担当工程
経験した職種・役割
あなたが実際に使っていた技術
このプロジェクト詳細は公開されていません

マネージメント能力

このマネージメント能力は公開されていません

アピール項目


アウトプット

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

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

CI/CD、typeScriptに現状興味があって、現状はLaravel,typescriptのプロジェクトを作成して、それに対してCI/CDを単体で実施するコードを書いています。 今後大規模なサービスに携わるには上記技術が必要と思っております。

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

社員同士がギスギスした雰囲気が少なく、業務の進捗に遅延がある人がいた時は個人の出来る範囲でまずフォローをしようとする環境。あとは出社のフレックスがあればなお嬉しい。

キャラクター

直近で一番やりたいこと
サービスを作りたい
好きなスタイル
好きな規模
自信を持って人より秀でていると言える点
問題解決力 / 責任感
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
会社のブランド・知名度
やりたくない分野
未入力です
その他の特徴
未入力です
その他のやりたいこと・やりたくないこと
未入力です

やりたい事

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

基本プロフィール

年齢
今年で30代前半
好きなテキストエディタ
Vscode
希望勤務地
大阪府 / リモート勤務
家庭の事情や体調など、都合に合わせてリモート出来れば問題ない
希望年収
未入力
ご意見箱

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

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

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