# 職務経歴書 職務経歴書の概要となります。 Last Updated: 2024/11/16 ## 個人データ ### Name 青木 良介(Ryosuke Aoki) ### Birthday 1991/12/10 ### Academic history 2014 岡山県立大学情報工学部情報通信工学科卒業 ## 職務経歴(概要) ### ソフトウェア開発 - Web Application 開発(9年程度) ### インフラ構築 - CDK(TypeScript) を用いた AWS 環境構築 - terraform を用いた AWS 環境構築 ### その他の開発経験 - 分析基盤構築 (Scala / AWS) ### チームリーダー - 数名程度のチームリーダーを経験(2年程度) ### 教育 #### 新人エンジニアの教育・育成 - 新卒エンジニアに対する Off-JT フォローの実施 - 新人エンジニアに対する OJT でのフォローの実施 ### プログラミングスキル #### Ruby - 4年程度の実務経験あり。通常の業務に必要読み書きは問題なくできるレベル - Ruby on Railsは4系/5系の実務経験あり - RSpec についても問題なく読み書き可能 #### IaC - Terraform による AWS 環境のリソース作成経験あり(半年) - TypeScript を用いた AWS CDK での AWS リソース開発経験あり(1年程度) #### javascript - 5年以上の実務経験あり。通常の業務に必要な読み書きは問題なくできるレベル #### TypeScript + React + GraphQL - フロントエンド開発のため半年年ほど経験 - Chakra-UI / React-hook-form などを利用した開発経験あり #### Scala - 2.11.12を1年ほど経験 - Apache Spark 2.4.2~2.4.3の実務経験あり #### golang - 半年程度使用の実務経験あり - 簡単な読み書きは可能 #### C# - 1年程度仕様の実務経験あり - 簡単な読み書きは可能 ### その他スキル - DB(NoSQL含む) - postgresql - mysql - SQL Server - AWS DynamoDB - AWS RDS - AWS - 基本的なサービスについての知識はあり(ECS,Lambda,S3,RDS,ALB など) - マネジメントコンソール上での基本的な操作と設定は可能 - AWS CLI を用いての基本的な操作についても可能 - git  - 基本的操作は問題なく行える - Git-flow に沿った実務経験あり - GitHub - GitHub を使用した実務経験あり(3年以上) - アジャイル - 基本的なナレッジについては保有 - Docker - Docker Compose で立てたコンテナ上での開発経験あり - Dockerfile 作成および変更について可能 ## 職務経歴 ### タイヤ試験結果解析基盤構築(2022/10 ~ 2024/10) #### 概要 - タイヤ製造開発に関する試験結果の解析を行うためのデータ基盤構築支援安健 #### チーム情報 - フィーチャーチーム(4人チーム) - ロール - エンジニア - (2024/01-)チームリーダー - (2024/07-)サブリーダー - 作業内容 - 要件定義 - 設計 - 開発 - テスト設計 - テスト実施 - リリース作業 #### 使用技術 ##### 言語 - C# - Python ##### DB - SQL Server ##### 他 - ソース管理:git - Entity Framework 4.5.1 #### 課題 - テストが打鍵のみ - ソースコードが非常に複雑でメンテナンスがされていない状態 - ユーザーとPL、上位者との認識の齟齬が発生 #### 取り組み - テストコードを実装し自動化することで打鍵でのテストを継続することと比較したメリットを提案した。 - リファクタリングを行うことでのメリットと工数の見積もりを加えて相談を行った。 - 任意参加のミーティングなどにも顔を出し状況の把握と整理を図り、状況の正常化を実施できた。 - ユーザーからの一定の信頼を得られ、複数の案件に呼んでいただくことができた。 --- ### マーケティングシステムの新規機能開発(2022/01 ~ 2022/09) #### 概要 - マーケティングプラットフォームツールの新機能開発及び既存機能の削除 #### チーム情報 - フィーチャーチーム(7人チーム) - ロール - エンジニア - 作業内容 - 仕様検討 - 開発 - テスト #### 使用技術 ##### 言語 - Ruby - TypeScript + React ##### DB - AWS RDS (mysql) ##### 他 - ソース管理:git - AWS(S3/CloudWatch/Lambda/ECS/StepFunctions/RDS/IAM) - Docker #### 課題 - 新規機能開発の概要レベルしか決まっていない状況での開発開始 - 既存機能の削除の影響範囲が広い #### 取り組み ##### 新機能開発について - TypeScript + React という未経験の技術要素だったが、キャッチアップに時間かけることで、読み書きについては最低限できるようなレベルに持っていけた。 - 新機能の開発の序盤は、やりたいことは決まっているがアーキテクチャやUI/UXなど決まっていないい状況だったので、ミーティングを重点的に設け、仕様の検討や仕様についての pros/cons を整理するなど、仕様を満たすことのできるアーキテクチャの検討を行った。 - フィジビリの検証時には、モブプロを実施しドライバーとして新規機能の検証に積極的な関わりを持つことができた。 - チームメンバーとともにデザイナーが検討したUIに対してのレビューやアーキテクチャの検討など積極的に関わることを意識した。 - 立ち上げからリリースまで、プロジェクトの状況が上層部の判断により二転三転することがあったが、得意分野を活かせるタスクの消化をチーム全体で意識し、リリース目標の期日までのリリースをこぎつけることができた。 ##### 既存機能の削除について - 顧客への提供を終了する機能の削除を行ったが、ほかの既存機能への影響範囲が広かったため、削除リリースのフェーズを分けて影響がないことを確認し削除対応に当たったことで、既存機能への影響がゼロで完遂した。 --- ### ECシステムのリプレース(2020/12 ~ 2021/12) #### 概要 - ECシステムのバッチシステムリプレイスに伴う、アーキテクチャの検討 #### チーム情報 - 開発チーム(4人チーム) - ロール - エンジニア - 作業内容 - アーキテクチャ検討 - フィジビリティ検証 - 開発 #### 使用技術 ##### 言語 - TypeScript(CDK) ##### DB - AWS RDS (mysql) ##### 他 - ソース管理:git(CodeCommit) - SFTPサーバ:Transfer Family - AWS(S3/CodeCommit/CloudWatch/CodePipeline/Lambda/ECS/EC2/NLB/TransferFamily/VPC/StepFunctions/CloudTrail/WAF/CDK) #### 課題 - 既存のシステムが変化に弱いアーキテクチャ構成だったため、AWSを用いたクラウド化が要望 - アーキテクチャの検討を初期メンバーに AWS に詳しいメンバーが少なく、AWS を使用した場合のフィジビリティなども未検証 #### 取り組み ##### 検討したアーキテクチャでのフィジビリティスタディを行い、CDKでの構築を実施 - 要件として、AWSを使用した Cloud サービス化を実現するための AWS のサービスを検討し、満たすことができるか、フェーズを上記のように分けて検証を実施。 1. アーキテクチャの検討し手動での構築を実施し検証 2. テックリードのフィードバック 3. 手動でサービスを構築し動作検証 4. CDK を使用してサービス構築を実施する - 検証から CDK によるサービス構築までほぼすべて一人で行った。 - 案件の離脱後に CDK についてメンテナンスが容易にできるように、汎用性を高める構成を意識しドキュメントも整備することで引継ぎもスムーズに完了した。 --- ### 倉庫業務システムのリプレース(2020/04 ~ 2020/11) #### 概要 - 倉庫業務について、システムの老朽化に伴い、マイクロサービスアーキテクチャを取り入れたシステムへのリプレース #### チーム情報 - チーム(6人チーム) - ロール - エンジニア - QA - 作業内容 - アーキテクチャ検討 - 開発 - テスト - QA(品質保証) #### 使用技術 ##### 言語 - golang - TypeScript ##### DB - DynamoDB ##### 他 - ソース管理:git(CodeCommit) - AWS(S3/CodeCommit/CloudWatch/CodePipeline/SNS/SQS/Lambda/DynamoDB/CDK) - アジャイル開発 - マイクロサービスアーキテクチャ #### 課題 - 顧客からの品質に対する要求値が高い - マイクロサービスアーキテクチャとは何かが分かっていない状態 - golang への理解がない状態 #### 取り組み - システムの品質向上を図るべく開発チームと並行して QA チームのロールとして参加。 - マイクロサービスアーキテクチャに関する勉強会に参加して理解を深めた - マイクロサービスアーキテクチャとして別サービス部分とのI/Fを検討 - サービス間でのミーティングが頻繁に実施が必要となるためミーティングが円滑に進むよう資料の構成に時間をかけた。 --- ### ビッグデータ集計アプリリプレース(2019/03 ~ 2020/03) #### 概要 - ビッグデータの集計アプリケーションの老朽化に伴う新システムへのリプレース #### チーム情報 - チーム(5人チーム) - ロール - PL - 作業内容 - 開発 - テスト #### 使用技術 ##### 言語 - COBOL - Scala 2.11.12 / Apache Spark 2.4.2~2.4.3 - C# ##### 他 - ソース管理:git(CodeCommit) - AWS(S3/CodeCommit/EMR/CloudWatch/SNS) #### 課題 - 旧システムがCOBOLとC#を使用しておりドキュメントの整備がされていない #### 取り組み - COBOLの理解を深めるため、ドキュメントの再整備をまずは図る提案を行った。 - 新旧システムでの現新一致が必要なため、ソースコードのレビュー、単体テスト及び結合テストについて重点を置いて実施することで、デグレやバグの件数を抑えることができた。 --- ### システムリプレースに伴うデータ移行バッチ開発(2019/01 ~ 2019/02) #### 概要 - DBのクラウド化実現のための移行バッチ開発案件 #### 担当 - フィーチャーチーム(6人チーム) - ロール - エンジニア - 作業内容 - バッチ開発 #### 使用技術 ##### 言語 - node.js ##### DB - CosmosDB ##### 他 - ソース管理:git - Azure(Logic Apps/Functions/CosmosDB/Blob Storage) - アジャイル開発 - マイクロサービスアーキテクチャ #### 取り組み - Azure に明るいメンバーがいない中、リファレンスなどのドキュメントを参考にフィジビリの検証とバッチ開発をやりきることができた。 --- ### クラウドを用いた業績内容分析基盤の構築(2018/08 ~ 2018/12) #### 概要 - AWSを用いた業績内容を分析する基盤の構築を行う案件 #### 担当 - フィーチャーチーム(3人チーム) - ロール - エンジニア - 作業内容 - 画面開発 #### 使用技術 ##### 言語 - python ##### DB - Aurora ##### 他 - ソース管理:git(CodeCommit) - AWS(S3/CodeCommit/CloudWatch/Glue/Redshift/Lambda/Aurora/Data Pipeline) #### 課題 - AWSについての有識者がいない #### 取り組み - リファレンスなどのドキュメントを参考に、大容量ファイルの S3 へのマルチパートアップロード機能と S3 に置かれたファイルにタグ付けを行う機能を開発、リリースまで完遂できた。 --- ### 電気工事管理システム開発(2018/04 ~ 2018/7) #### 概要 - 電気工事管理システムリプレース案件 #### 担当 - 開発/テスト #### 使用技術 ##### 言語 - C# ##### DB - Azure SQL Database ##### 他 - ソース管理:subversion - Redmine - dbMagic #### 課題 - dbMagic についてのドキュメントが全くない - 設計書なども整備されていない #### 取り組み - dbMagic のナレッジを持つメンバーに対して確認をまめに実施し、ドキュメントの整備を行ったのち、C#での開発に移行することで開発のスピードをあげることができた。 - 確認時は、相手が答えやすいような質問とするように意識した。 --- ### メール隔離機能開発(2017/02 ~ 2018/03) #### 概要 - 受信したメールを特定のルールに則り隔離を行う機能の開発 #### 担当 - 開発/テスト/ドキュメント整備/保守 #### 使用技術 ##### 言語 - Ruby2.3.3 - Rails4.2.7 ##### DB - PostgreSQL ##### 他 - ソース管理:git - LDAP - Redmine - ansible - vagrant #### 取り組み - メール隔離機能に関して、システム管理画面及びAPIの実装を担当 - Rspecを用いた単体テスト及び結合テストについても担当 - ドキュメントと結合テストチームの管理作業を実施 - アプリケーション開発作業及びリリース時に発生した、質問対応や不具合修正対応を担当。 --- ### 電報システムリプレース(2016/04 ~ 2017/01) #### 概要 - 電報システムの老朽化に伴う新システムへのリプレース案件 #### 担当 - 設計/開発/テスト #### 使用技術 ##### 言語 - Ruby1.8.7 ##### DB - PostgreSQL - Mysql ##### 他 - ソース管理:git(GitHub) #### 取り組み - 電報システムのリプレースに伴い、データベースを移行するためテーブルの設計から、既存データの移行プログラム開発及びテスト作業を担当。 - 電報システムのリプレースに関して、API・管理画面・ユーザ画面のリプレース及び、それに伴うテスト実装を担当。 --- ### IoT技術及びクラウドを用いたゲーム開発(2015/10 ~ 2016/03) #### 概要 - IoT技術とクラウドを用いたゲーム開発 #### 担当 - 設計/開発/テスト #### 使用技術 ##### 言語 - Node.js4 - mithril.js0.2.3 ##### DB - DynamoDB ##### 他 - ソース管理:git(GitHub) - Express - AWS(DynamoDB,Lambda,S3) #### 取り組み - IoT技術(加速度センサーやBLE)とクラウド(AWS)を用いた、ゲーム開発について、システム開発及びテスト作業を担当。 ### 免許管理システムリプレース(2014/10 ~ 2015/07, 2015/09) #### 概要 - VBで構築された免許管理システムをRubyを使用した新システムへのリプレース案件 #### 担当 - 開発/テスト/保守 #### 使用技術 ##### 言語 - Ruby2.1.1 - Rails4.1.1 ##### DB - PostgreSql ##### 他 - ソース管理:git #### 取り組み - VBで作成されていたプログラムをRubyで再構築する案件について、進捗一覧画面や決裁処理を主に担当。 - 進捗の遅れや不明点など、上位者に対する確認を小まめに実施することでリカバリに対する意識を高くもつことができた。