ID:74630さん

3年後の目標や野望


技術を楽しみながら、フルスタック(特にインフラに強い)エンジニアとして、市場価値の高いエンジニアになる

アプリケーション開発をしていて、インフラ周りを考えている時が一番楽しく感じたため。AIが発達してきていて、コードが書けるだけのエンジニアが求められなくなってきていることもあり、より上流の設計にも少しずつ携わってエンジニアとしての市場価値を高めたい。将来的にはマネージャーを目指しているが、マネジメントしていく上で必要になるサービスを作るための知識や処理のフロー、セキュリティや可用性についてをまずは網羅的に身につけたい。 フルスタックでフロントエンド・バックエンド・インフラ全てをやりたいが、より興味があるのはバックエンド・インフラ周りの設計・構築。

年収評価シート

2023年/2年以内

アパレル系ECのネイティブアプリケーション開発プロジェクト

## プロジェクト概要 --- Instagramのフォロワーが200万人弱ほどいる、人気アパレルブランドのアプリケーション開発。(iOS/Android) ReactNativeによるクロスプラットフォーム開発。 現在は**約40万**ダウンロードを突破。 バックエンドは[Shopify API](https://shopify.dev/docs/api/storefront)を利用し、アプリ専用の追加機能は新たに作成した。管理画面も作成し、フレームワークは`Remix`を使用した。 ## 目的、背景 --- 元々、Shopifyを利用してノーコードで運用していたお客さんが、**サイトスピードや利便性に欠けるなどの不満**を抱えており、独自のアプリを作りたいという要望から生まれたプロジェクト。もっとも重視されていた部分は**パフォーマンスの向上**。スプラッシュ画面やアプリ全体の高速化を施したり、決済画面はWebViewによる実装をする必要があったがパフォーマンスを向上させるために工夫を凝らした。 またインフラ側(AWS)ではElastiCacheやCloudFrontを使用したキャッシュの使用、**アクティブユーザー数の変動に合わせたスケーリング設定**を施し、お客さんが求めている非機能要件を達成した。 ## 使用技術 --- | | | | ------------- | ------------------------- | | フロントエンド | React Native, Expo, Remix, Redux toolkit | | バックエンド |Laravel, JavaScript(一部)| | DB | Postgres, Aurora | | インフラストラクチャ | AWS, AWS CDK, Docker, Bitrise | | 外部サービス | Shopify API, [Customer.io](https://customer.io/) | | モニタリング・分析 | Sentry、Firebase | | 開発支援ツール | GitLab, Slack, Chatwork, Backlog | <br> ### 使用したAWSサービス | カテゴリ | サービス | | ----------------------------- | ---------------------------------------------- | | **コンピューティング** | AppRunner, BastionHost | | **コンテナ** | ECR | | **ストレージ** | S3 | | **データベース** | RDS(AuroraServerless V2), ElastiCache | | **ネットワーキング** | Route53, VPC | | **セキュリティ、アイデンティティ、コンプライアンス** | SecretManager, IAM, CertificateManager | | **運用管理** | SystemsManager, CloudWatch | | **コンテンツ配信** | CloudFront | <br> ## 規模感、チーム構成、担当した役割 --- 2024年6月にアプリを公開し、約1ヶ月でダウンロード数が10万人に達した。(現在約40万人)お客さん曰く、これからイベントや広告でさらに拡大し、2,3年後には100万ダウンロードを目標にしている。 内部では、 - PM: 1人 - PL: 1人 - アプリフロントエンド: 3人 - 管理画面フロントエンド: 1人 - バックエンド (PL含む): 2人 - インフラ: 1人 - UXデザイナー: 1人 - UIデザイナー: 1人 10人の構成。要件定義から運用保守まで一貫してプロジェクトに関わり、開発フェーズではインフラ、アプリフロントエンド、管理画面フロントエンドを担当した。 具体的には、 - 技術調査 - Shopifyについて - Shopify APIについて - [サードパーティのアプリ](https://apps.shopify.com/partners/shopify?locale=ja)について - 設計書の作成 - 機能一覧 - DB設計書、ER図(レビューのみ) - システム構成図、AWS構成図作成 - 画面単位の詳細設計書作成 - AWSによるクラウドインフラの設計・構築 - コンテナ(App Runner)、RDS(AuroraPostgres Serverless V2)、ElastiCache、CloudFront、S3、Lambda、Route53、System Manager、Bastion Host(踏み台サーバー)等のサービスを使ったコンテナアプリケーション(開発・テスト・本番環境) - IaC(AWS CDK)による構成管理 - スケーラブルかつ高可用性のウェブインフラを構築 - 2AZ構成。またコンテナはCPU使用率を`50〜60%`をキープできる程度にスケーリングを設定。ElastiCacheによるキャッシュ化等々。 - 管理画面フロントエンド、バックエンド、IaCのCI/CDの構築 - GitLab CIによる自動テスト・デプロイを構築 - ReactNativeによるクロスプラットフォームアプリケーションの開発 - 状態管理はRedux、Shopify APIを使用するためGraphQLのApolloClientを使用 を担当。 <br> ## 開発・実装内容A --- ### 【概要】 CloudFront + [Lambda@Edge](https://aws.amazon.com/jp/lambda/edge/)によるレスポンスボディの書き換えで、アプリで表示するWebView画面に対してUI変換した画面を表示する 【どのような機能の開発・実装か】 アプリケーションのカート・決済画面は`Shopify API`がサポート対象外であったために`WebView`でそのまま表示することとなった。しかし、アプリ用に新規で作成したUIに合わせるために、弊社の自社プロダクトであるUI変換ツールを導入してUI変換した画面を表示する必要があった。UI変換をするためにはHTMLの<head>内にscriptを挿入する必要があるため、通常は静的にお客さん側で入れてもらうのだが、オリジンサーバーがShopifyであり、お客さん側で静的に入れることができないので、`CloudFront`のトリガーに設定できる`Lambda@Edge`を使用してレスポンスボディにscriptを挿入してクライアントに返す実装をした。 詳細は以下。 https://qiita.com/akira__0924/items/ad633e5557d4c590d1d4 ### 【課題・問題点】 `Lambda@Edge`の当時(現在も)の仕様から、`CloudFront`で受け取ったレスポンスボディに対して操作をすることができない。 また、ヘッダのCookieやオリジン、リファラなど、正確なレスポンスを受け取ることができるかが不透明だった。 ### 【打ち手・使用した技術】 当時、社内でも相談したが実現方法に苦戦していた。初めは`CloudFront Functions`を使用する想定だったが、レスポンスボディの書き換えができないと公式リファレンスに記載があったため、`Lambda@Edge`を採用することに決まった。そこから自身で調査し、`CloudFront`のレスポンスボディに対してLambdaで操作することができなかったので、**オリジンリクエスト**にトリガーを設定して、**LambdaからHTTPリクエストを送り、受け取ったレスポンスを書き換えてクライアントに返却する実装をした**。 また、**オリジン(Shopify)で使用しているドメインのサブドメインを使用**することで、ヘッダ情報(Cookieなど)を引き継ぐように実装した。 <br> ## 開発・実装内容B --- ### 【概要】 `WebView`内での認証情報の引き継ぎと、パフォーマンスの向上を図る ### 【どのような機能の開発・実装か】 上述したように、カート画面は`WebView`による実装になったため、画面をただ表示するだけではアプリでログイン状態になっていてもセッションは維持されない。そのためWebView画面でセッションを保持するための実装と画面表示までの表示速度を上げる方法を検討した。 ### 【課題・問題点】 - カートの表示速度が遅くお客さんが不満を抱いていた。 - アプリでログインしていたときにどのようにしてWebView画面でログイン状態にするか ### 【打ち手・使用した技術】 - カートの表示速度が遅くお客さんが不満を抱いていた。 →カート画面を非同期でアプリの裏側で読み込んでおく実装を提案した。フロントエンドチームで検討し、結果、ReactNativeのnavigationで裏側で表示しておき、カートアイコンをタップした際にはその画面をただ表示するだけの状態にすることで、`カートの表示速度をほとんどノータイム`で実現することができた。 - アプリでログインしていたときにどのようにしてWebView画面でログイン状態にするか →[Shopify Multipass](https://shopify.dev/docs/api/multipass)という`SSO`の機能が提供されており、メールアドレスだけでSSOできたので、アプリのログインのstateをみてログインユーザはmultipassログインをしてトークンを受け取り、そのトークンを**ReactNativeのCookieマネージャーで管理して、WebViewに渡す**ことでセッションを保持することに成功した。 <br> ## 取り組みの成果 --- お客さんからは「カートの表示がスムーズ・起動時(スプラッシュ画面)の表示速度が早く、快適。」との評価を得ることができた。 また、全体として、iOSでは195件の評価で`4.8`、Androidでは`4.5`の高評価をいただいています。

2024年/3ヶ月以内

社内新卒研修用のアプリケーション基盤構築

## プロジェクト概要 --- 新卒研修で作成するプロダクトの基盤(インフラ・CI/CD・フロントエンド・バックエンドの雛形)構築 ## 目的、背景 --- 今年度の新卒研修として、エンジニア、デザイナーで連携して1つのプロダクトを作成することに決定。作成するプロダクトは社内の`図書管理システム`。新卒メンバーにはアプリケーションコードに集中してもらうため。`CI/CD`や`インフラ`、`フロントエンド・バックエンド`のディレクトリ構成を設計し、構築する。 ## 使用技術 --- | | | | ------------- | ------------------------- | | フロントエンド | Next.js | | バックエンド |Laravel | | DB | Postgres, Aurora | | インフラストラクチャ | AWS, AWS CDK, Docker | | 開発支援ツール | GitHab, Slack, | <br> ### 使用したAWSサービス | カテゴリ | サービス | | ----------------------------- | ---------------------------------------------- | | **コンピューティング** | AppRunner, BastionHost | | **コンテナ** | ECR | | **ストレージ** | S3 | | **データベース** | RDS | | **ネットワーキング** | VPC | | **セキュリティ、アイデンティティ、コンプライアンス** | SecretManager, IAM | | **運用管理** | SystemsManager, CloudWatch | | **メール配信** | SES | <br> ## 規模感、チーム構成、担当した役割 --- | 役割 | 人数 | | ---------- | ---- | | PM | 1 | | デザイナー | 2 | | エンジニア | 2 | の構成。 AWSインフラ構築、フロントエンド(`Next.js`)とバックエンド(`Laravel`)のコンポーネントやアーキテクチャ設計。認証周りのサポートとして実装を担当した。 また、新卒のコードレビューも行った。 <br> ## 開発・実装内容A --- ### 【概要】 インフラの設計と構築。新卒メンバーがアプリケーションコードの開発に集中できるように開発環境を整える。 ### 【どのような機能の開発・実装か】 AWSのクラウドインフラの設計・構築を担当した。コンテナ、データベース、ストレージ、セキュリティを考慮したアーキテクチャを実装した。 ### 【打ち手・使用した技術】 AWS CDK, Docker, Laravel, Next.js 使用したAWSサービス:AppRunner, RDS(AuroraPostgres SeverlessV2), EC2(BastionHost), ECR, Lambda, SES ### 【課題・問題点】 期間が短かったので、まずは動く環境を作成する必要があった。それに加え、設計当初はコストの関係から`DynamoDB`を前提として構築したが、開発フェーズに入ってから`RDB`の方が実現しやすいということが判明し、`NoSQL`から`RDB`に切り替えた。 ## 技術的なアプローチや工夫した点 インフラは、GitHubリポジトリをフロントエンド、バックエンドで分けて、アプリケーションを動かすコンテナも別にし、マイクロサービスに近い形にした。構成管理としてAWS CDK(TypeScript)で構築。 バックエンドはLaravelで難易度の関係もあり、高度なアーキテクチャ設計はしていなかった。しかし、DBがDynamoDBからRDSに変更があったことがきっかけで、バックエンドの改修に時間がかかってしまったので、リポジトリパターンを採用して、ビジネスロジック層とデータ操作の層に分けることで関心を分離し、変更容易性を高めた。 ## 取り組みの成果 --- 無事、期限内にプロダクトを完成させ、新卒メンバーに成功体験感じてもらうことができました。 現在社内で活用されています。

2022年/半年以内

保険会社システムのリニューアルプロジェクト

## プロジェクト概要 --- 自社プロダクトによる保険会社システムのUIリニューアルプロジェクト ## 目的、背景 --- ユーザー、お客さんから画面が見ずらい。利用しずらいという課題があり、自社プロダクトを使ったUI変換を提案。 ## 規模感、チーム構成、担当した役割 --- PM:1 PL:1 UI/UXデザイナー:2 開発エンジニア:3 の構成。 開発エンジニアを担当しフロントエンド部分でプロジェクトに貢献した。 ## 技術的なアプローチや工夫した点 --- 約320画面ほどあるうちの140画面を担当した。具体的には、設計書に従って元画面の要素をスクレイピングして表示し、書き換える開発。似た画面が多かったため汎用的に使える共通コンポーネントを作成し効率をあげることができた。

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

マネージメント能力

アピール項目


アウトプット

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

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

領域に憚れない、フルスタックな技術。またインフラやバックエンドのアーキテクチャ。ベストプラクティスやデザインパターン、クリーンアーキテクチャを応用した設計、開発技術。

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

未入力です

キャラクター

直近で一番やりたいこと
サービスを作りたい
好きなスタイル
好きな規模
自信を持って人より秀でていると言える点
学習能力 / 責任感
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
一緒に働く人
やりたくない分野
アダルト
その他の特徴
未入力です
その他のやりたいこと・やりたくないこと
未入力です

やりたい事

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

基本プロフィール

年齢
今年で20代中盤
好きな Text Editor
Visual Studio Code
希望勤務地
東京都
希望年収
550万円
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

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

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

  • {{error}}
SIGN UPSIGN IN


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