ID:61606さん

3年後の目標や野望


もっとSaaSを使いやすくする!

SaaSを使ってて「このUIがこうだったらもっと使いやすいのにな〜」みたいに感じることがある。 きっと開発者としても気づいているが色んな事情があって直せない、みたいに歯痒い思いをしていると想像している。 大本の問題の原因を突き止めて、改善し、使いやすくしたい!

年収評価シート

2022年/2年以内

自社サブスク事業のマイページ作成

# プロジェクト概要 - 自社サブスク事業のマイページ構築 - 5人程度の規模(要件定義&PM&インフラ:1人、フロントエンド開発:2人、バックエンド開発:2人) - 社内の基幹システムがマイクロサービスライクに存在しており、そこと通信してマイページの機能をユーザーに公開する - Jestによる単体試験を徹底しており、カバレッジ率は90%を超えていた # 役割 - フロントエンドエンジニア # 技術的課題と対策 - E2EテストをCIで回す仕組みの構築 - Playwright + GithubAction を使用 - はじめはテックリードからCypress + Amplify で構築するよう依頼された。が、デメリットもあったので、Playwright + GitHubActionの構成も含めてメリット・デメリットを整理して提案した - Amplify で E2EのCIを回すと、E2Eが落ちたときにデプロイできない、というデメリットがあった。GithubActionは柔軟に制御できた - Playwright は メインブラウザである Safari でのE2E試験が可能。Cypressは不可 - セキュアなVRT環境の構築 - テックリードが https://github.com/reg-viz/reg-suit の導入を検討していたが、これをそのまま使うとVRT結果(≒Storybookの内容) がpublicに公開されてしまう、というセキュリティ上の問題を抱えており、導入が見送られていた - S3からホスティングするサイトを、Cognitoで認証した自社のユーザーのみ閲覧できる仕組みを提案し、構築した - terraform化したこともあり、後に他プロジェクトでも流用された

2021年/1年以内

大手時計メーカー会員制サイトのリプレイス

# プロジェクト概要 - 大手時計メーカー会員制サイトのリプレイス - Laravel+WordPressのサイトをSPA化するため、バックエンドをAPI化しNext.jsを新規導入した - 5人程度の規模(要件定義&PM&:1人、インフラ:1人、フロントエンド開発:1.5人、バックエンド開発:2人) - フロントとバックエンドはすべて副業メンバー # 役割 - フリーランスとしてジョイン - 主な担当はフロントエンドで、開発環境構築、設計、実装を担当 - 他の副業メンバーへの指示出しや、バックエンド実装も担当 # 担当機能 - 会員登録 - 認証 - エラー共通処理 - 記事一覧、詳細表示 - TOP画面表示 # 技術的課題 ## 未ログインアクセス時の処理共通化 - 未ログインで会員限定ページにアクセスするときの処理が少し複雑だったのでカスタムフックを作って共通化した - 具体的には「未ログインで会員限定ページにアクセス → ログイン画面表示 → ログイン成功後に最初にアクセスした画面にリダイレクト」の処理を、各ページからuseAuthCheck({})を呼ぶだけで済むようにした ## Reactが検出したエラーをログに残す仕組みの実装 - sentryを導入するのが一番手っ取り早そうだが、プロジェクトの制約上導入できなかったので代替案を検討した - ReactがcomponentDidCatchでエラー検出したとき、バックエンドのログ記録APIを叩く方法を提案し、採用された。 - まれに本番環境でエラー発生していたが、ログから原因特定して修正することができた ## 動的なCSSの読み込みで発生する画面チラツキ対策 - 運用制約上、WordPressの管理画面からCSSファイルを登録し、登録したCSSをサイトへ適用する必要があった - バックエンドのAPIを叩いてCSSファイルのパスを取得し、動的にDOMに挿入する、という手段を用いて実装したところ、画面表示のチラツキが発生した - 原因は、動的なCSS適用される前のサイトが一瞬表示されてしまうことだったので、CSS適用前は画面表示を行わず(cssのvisibilityをhiddenにする)、DOM挿入してonloadが呼ばれたあとに画面表示する(cssのvisibilityをvisibleにする)という処理を追加した - 動的なCSS読み込みは useStyleLoad というカスタムフックで共通化した。 ## React Hook Formでバリデーション検出したとき、iPhoneのRadioButtonにFocusが当たらない問題対応 - React Hook Formにてバリデーションを検出すると、入力が不十分のinput要素にfocusが当たり画面スクロールされる動きになっている。 - ただし、iPhoneのRadioButton/CheckBoxはfocusが効かない仕様になっており、上記動作が動かない不具合が発生した - inputのラッパーコンポーネントとして\<Input\>コンポーネントを作成し、対象要素にfocusイベントが発生したとき かつ iPhoneの場合は、scrollIntoViewを実行して画面スクロールさせるようにして対処した - 詳細は こちら https://zenn.dev/daisuke7924/articles/5839e0094c5fdf を参照ください

2020年/2年以内

物流系SaaS開発プロジェクト

# プロジェクト概要 - 物流会社の運送案件を管理するSaaSプロダクトの新規開発、保守 - Google CallenderライクなUIで、「誰が、いつ、どこに、何を運ぶか」を効率的に管理する - 5人程度の規模(要件定義&PM&インフラ:1人、フロントエンド開発:2人、バックエンド開発:2人) - フロントとバックエンドはすべて副業メンバー # 役割 - フリーランスとしてジョイン - 主にバックエンドの設計、実装を担当 - 最初は私の他にリーダーが1人いる体制だったが、3ヶ月でリーダーを引き継いだ - リーダーになってから、新規メンバーの募集面談の立ち会い、チームビルディング、コードレビュー、技術選定を行う # 担当機能 - graphQL Schema策定 - 認証 - エラー共通処理 - AndroidへのPush通知 - 運送案件の状態管理 (初期、未配、配車済、送信済、既読済、担当変更打診中、集荷開始、集荷完了) - 定期集荷機能 (決められた日付、曜日、時間帯に案件を作成する) - Excelデータのエクスポート、CSVデータのエクスポート、インポート # 技術的課題と対策 - ライブラリ内のコード読解や、技術選定と提案について書いております。 ## コード可読性を維持とDBクエリチューニングのバランス取り - やむなくTable間のRelationが複雑化したため、LaravelのRelationクラスを継承したCustomRelationを作成してコードをシンプル化したが、その際に、graphQLのQueryでSlowQueryが発生してしまった。 - eager loadするようCustomRelationの実装を工夫して、クエリが早くなるよう調整した。 - LaravelのGraphQLライブラリのLighthouseの機能拡張した。ドキュメントだけでは情報不足だったので、ライブラリ内のコード読解や、海外の技術Blogを読んで、Laravelやライブラリの理解を深める必要があった。 ## アクセス高負荷対策としてのDBレプリケーションの実装 - Read専用DBを複数用意してアクセス高付加対策を実施 - この際に、FrontからDB書き込み処理→DB読み込み処理が間髪入れずに行われると、古いデータを読み出してしまう問題が発生した - graphQLのカスタムディレクティブを実装し、query発行時にDB読み込み先を Primary/Read で切り替えられる共通処理を作成して解決した - LaravelのGraphQLライブラリであるLighthouseの機能拡張を行い実装 ## AndroidへのPush通知実現にむけた技術選定と提案 - AndroidへのPush通知が必要となり、PM兼インフラの方が最初の技術選定をしていただき、 「Laravel→AWS SNS→ FCM → Android」という流れで通知すると決められていた - 上記の実装を検証したところ、AWS SNS経由でFCMに通知するのに苦戦した - 私の方で調査&検証したところ、AWS SNS経由せず、Laravelから直接FCMに通知するほうが簡単だとわかって、提案。採用された。 - 利用したライブラリ:https://github.com/kreait/firebase-php

マネージメント能力

アピール項目


アウトプット

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

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

未入力です

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

未入力です

キャラクター

直近で一番やりたいこと
サービスを作りたい
好きなスタイル
好きな規模
自信を持って人より秀でていると言える点
問題解決力 / 責任感 / 巻き込み力
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
一緒に働く人
やりたくない分野
広告 / ファッション / ゲーム / 仮想通貨
その他の特徴
未入力です
その他のやりたいこと・やりたくないこと

React.jsを使ってフロントエンド中心の作業をしたいです。
できれば、バックエンドも合わせて担当し、まるごと機能単位で担当したいです。

やりたい事

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

基本プロフィール

年齢
今年で30代後半
好きな Text Editor
Visual Studio Code
希望勤務地
千葉県 / 東京都 / 神奈川県 / リモート勤務
集まる必要性がない場合は基本リモートが許可される環境が必要
希望年収
未入力
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

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

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

  • {{error}}
SIGN UPSIGN IN


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