ID:61647さん

3年後の目標や野望


プロダクト開発において 0 → 1 , 1 → 10 , 10 → 100 を達成する

プロダクト開発にこだわりがあるからです。 これまでのキャリアでずっとプロダクト開発に挑戦してきましたが、 社内政治やメンバーの退職、経営の方針など様々な理由で後少しと言うところで失敗を続けており一度も成功したことがないからでもあります。 直近数年はプロダクト開発を一定成功させることを目標に行動しています。

年収評価シート

2023年/1ヶ月以内

献立自動生成サービスの開発

ゴール:納期までに開発を達成する 役割: メンバー 担当: 設計・開発・テスト DB: PostgreSQL 使用技術:Python, FastAPI, SQL Alchemy /React, TypeScript , MUI, /Google Cloud(Cloud Run、Cloud Build等)/ OpenAPI アーキ: DDD/Atomic Design プロジェクトの応援として参画することになった。 ベースとなる技術選定やマスタなどの部分の実装は既に行われており、主にフロントエンド側で全般を見つつバックエンド側も担当し技術負債を返却しながらリリースまで品質と速度を出すことが求められた。 課題としては、特にフロントエンド側の設計実装ともに治安が良くない状態だったのと、バックエンドにおいても即席の実装を重ねた結果バグが発生しやすい状態だったこと、N+1問題などが発生していたこと。スキーマ定義をコードとして残していなかったこと また開発体制もかなり属人性の高い状態だったことが課題として挙げられる。 具体的には、componentの抽象化がほとんどされていない状態だったり、Container/Presentationalパターン が意識されていないかつAtomic Designになっていなかったので修正する時のコストがかなり跳ね上がっていたこと、endpointやrouter、schmeを集約、活用できていなかったこと、TypeScriptの恩恵を得られる実装ではなかったこと、デザインの観点からも位置ずれや親要素のデザインが別のコンポーネントにある影響でどの要素がどれにかかっているのかすぐにわからなかったり、UXの部分でも無駄なレンダリングや副作用の理解が足りなく画面にちらつきがあったりなどが挙げられる。 それらの負債を解消して、チームメンバーにもフロント側のルールや知見を還元した。 バックエンドに関しては、 設計・実装の相談・レビューを行い、フロントに関わる部分のAPIの作成・既存の修正などを行なった。 当時参画した時にI/Fが明確になっていなかったこともあり既存の設計・実装を読みときそれらをフロント側に反映させた。またそれだとI/Fが明示されておらず変更に弱いのでFastAPIからOpenAPIのスキーマを生成しフロントエンドとバックエンドの型定義を共通利用するようにした。 認証や検索処理、データの整合性の設計、アプリのcrudなどの実装を行った。 またModel、データ基盤の部分も実装も一部担当した。

2022年/半年以内

製造業・卸業向けのSCMアプリケーション開発

ゴール:Vertical SaaS としてスタートを成功させる 役割: メンバー 担当: 設計, 開発 DB: PostgreSQL 言語: Deno, TypeScript, deno-postgres / React, TypeScript, Redux, Danfo.js / GCP , Firebase / OpenAPI アーキ:軽量DDD / Atomic Design, CSS Modules プロトタイプ開発によりある程度仮説を固めた上で、各社から契約が進められることになり本格的な開発がスタートした。 担当領域はフロントエンドは全般、バックエンドは設計・アプリケーションロジック全般の実装を担当し、BIZ含め4名で開発を進めることになった。 課題は、プロダクト開発の進め方に大きな課題があった。 元々はプロダクト開発として進める予定で進められていたが、11月後半になり別の受託プロジェクトの開発費を削減するためにこのプロダクトの資産を利用することになり、その契約に合わせ要件の見直しが入り、一部仕様変更が行われたり、またその契約状況をヒヤリングしながら進むことになった。 製造業・卸業どちらに舵を切るか、というフェーズでの開発でもあったのでプロダクトの方針が社内の事情に揺らぎながらの開発になった。 その上で技術的な課題は、1. 別プロジェクトにforkすることを踏まえて開発する 2. 仕様変更に強くする 2.どこまで譲れるか密にコミュニケーションを取る 4 優先順位を都度整理する などのことが挙げられる。 バックエンド技術選定の背景は、 フロントエンドとの親和性が高いこと、型を利用することで開発速度を向上し変更にも強くできること、フロントエンドとの親和性からTypeScriptを選択。 ランタイム環境についてNode.jsとDenoの選択において議論があったがフィジビリした結果、Node.jsをDenoより採用したい理由が「既存資産に乗っかりたい」以外なかったのと、Denoはnpmをサポートしていたり、標準ライブラリが充実していたことから必要としている機能を十分に満たしていたためDenoを選択した。 開発中もDenoの標準ライブラリを使用することでシンプルかつ安定して開発をすることができた。 実際の開発においては、仕様変更が来たときにすぐ対応することや事業部のジャッジによってプロダクトが右往左往されるのがとても大変だった。 これらに関しては、常に優先順位を意識し実装上は責務やアーキ、抽象化・依存関係を意識することで対応した。 ビジネス上の課題は受託プロジェクトの関係者やリーダー層とコミュニケーションをしっかり取ることで極力後戻りが発生しないよう心がけ、実際効果を得られた。 しかし2022年12月末、バックエンドの全体設計・一部実装が終わった段階で経営の方針上プロダクト開発は一旦停止することになった。 とても悔しい経験だったが、プロダクト開発においてどのように進めれば角度が上げられるのか、何を意識して開発することが大事なのか、どのようなチームがいいのか、どういう顧客に当てていくのか、撤退ラインはどうするかなど様々なことを学べ貴重な体験だった。

2021年/2年以内

契約書システムの構築・運用(Laravel + Vue.js)

## 概要 [期間] 2021年8月 ~ 現在 [メンバー] 開発 4 2名: エンジニア 2 名・デザイナー1名/営業幹部/経営層 [役割] リーダー 不動産取引時に使用する契約・契約書情報を管理・出力するシステムの作成 ・契約情報保存機能 ・各種契約書出力機能(10+14 種類の書式) ### 課題 旧基幹システムに残ったままになっており、セキュリティ的にも運用上的にも大きな問題となっており、いつ停止してもおかしくない状況だったため、それらからの脱却・全面リニューアルを目的とした作業でした。 また当時目指していた外販商品として想定されていたため、それらを意識したUI/UX構造にするために独自ルールや説明書がなくても直感的に理解できるシステムを目指していました。 ### 内容 不動産取引時に使用する契約書の作成・記録・保存・検索ができるシステムです。 旧契約書システムを読み解き、マスト機能とそうでないものを切り分ける作業をディレクターを中心に行い、要件定義、設計からすべての工程を担当しました。 期間中、関係者達が退職されることになったので一旦外販方向をやめ、とにかく自社で使用できるものを最速で作る方向に変更し元々9ヶ月頂いていた納期の中約2ヶ月でコアとなるマスト機能を完成させる必要にななったため、知見の多いLaravel + Vueという選定に変更し常に先回りをして関係者を巻き込み集中的に開発を行いました。 ### 技術面の課題 出力する書類の種類が多いため分岐が発生しやすい環境になっており、それらを防ぐためのテーブル設計やフォーム設計、URI設計、他には専門用語を命名に落とし込む作業や和暦変換、誰もが使いやすくシンプルにすることなどの工夫が課題としてあげられます。 vueにおいては選択した内容に紐付いたデータを非同期的に取得し表示する処理や状態管理などユーザーがより使いやすくする機能を実装しました。 ### 得られたこと 項目精査の結果や運用ルールの見直しなどを通じて、半分以上の項目が不必要になったことやテーブル設計・フォーム設計を大きく変えたことで入力や管理がしやすくなっただけでなく、管理者のリーガルチェックが行いやすくなり品質が大きく向上したとユーザーから意見をいただくことができました。 技術的な面においては、URI設計を学ぶ機会になったことやDB設計を工夫することで不要な分岐などを減らしつつ高いメンテナンス性を実現できる一つのノウハウを習得できたこと。基幹システムで得られた知見を還元したことで、専門用語が飛び交うシステムの中、自分以外の人でもすぐに保守できる状態になったことなどが得られました。 不動産業界の外販戦略において、競争他社に対して自社の武器の一つになったので、今後は外部展開に挑戦できるよう技術的にも品質の高い状態を作り、よりユーザーにとって価値の高いサービスにしていくつもりです。 *不動産システムの構築・運用に該当しますが、システムの規模が他サービスとは違うため別に書かせてもらっています。

2022年/半年以内

製造業・卸業向けのSCMプロトタイプ開発

ゴール:クイックな開発を行い仮説検証を行う 役割: メンバー 担当: 設計, 開発, テスト 言語: React, TypeScript, Danfo.js / CGP, Firebase アーキ:Atomic Design, CSS Modules 仮説がある程度溜まった状態でスタート。 要件はBIZの方が決めていただき設計・実装はエンジニアである私が担当した。 選定背景は、同じ事業部でReactが使用されており親和性が高く第三者の参入コストが低いこと、新しいversion・適切な責務で書き換え新しいデファクトにして組織に残したかったこと、組織単位でコンポーネントの再利用性を高めたかったことが挙げられる。 実装する上での技術課題は、 1. とにかく早く作ること、2. データの永続化の必要はなし、3. 日付関係を意識した複雑な計算(PSI計算)をする必要がある、4 仕様が変動する など挙げられる。 1と2を達成するためにバックエンドを作らずフロントエンドのみのアプリケーションとして作成した。 3に関しては、配列で日付を扱うこともできたがよりシンプルに複雑な表の関係を解消するためにデータフレームを使用して計算シミュレータを作成した。(pandasリスペクトのdanfo.jsを使用) 4 に関してはUIの切り替えをできるような形でcomponentを実装し、抽象に依存する形で対応をした。 csvアップロードしたデータをブラウザで保持し取り回すこと、その値を適切に管理すること、仕様変更に強いアーキにすることが大変だった。 結果、クイックな開発に繋がり潜在顧客からのFBを得ることができ次のプロジェクトにつなげることができた。

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

2021年/2年以内

HerokuからAWS移行

[期間] 2021年9月 ~ 現在 [メンバー] エンジニア 2名 [役割] リーダー ・基幹サービスのherokuからAWS移行(ECS Fargate) ・基幹システムに関連したサービスのherokuからAWS移行(ECS Fargate) ## 内容・課題 各種運用サービスをHerokuからAWSに移行しました。 元々Herokuで運用していましたが、年間運用コストが400万円以上かかっていることや海外リージョンにある関係から発生する問題などが潜在的にあり品質として安定していなかったこと、また代表の意向もありHerokuからAWS移行しました。 選定の理由としては、メンバーの数が少なくインフラを専門に作業できないことなどの課題もあったのでECS(Fargate)を採用しています。 またフロントエンドのデプロイにおいてはVercelなどの選択肢がありましたが、費用対効果の関係上Fargateで運用しています ## 技術的な課題 社内に最低限のリソースを使用しECSをpublicにおいて構成する知見はありましたが、 privateにECSを置く構成や、ALBの知見、Worker,バッチ処理,フロントエンドのコンテナ運用、定時処理、DB移行, KVS(Redis) の冗長化, DNS移行などの知見がなかったのでそれらを調査するところから始まりました。 ECSの基本構成についてはさほど手間がかからず実装できましたが、workerなどに関してはHerokuの環境を参考にしながら何度も仮説・検証を繰り返し、各種設定を行うことでそれらの構成を実現することができました。 それだけでなく、CloudFrontやAuroraの利用、SQS, Lambda, AWS Grafana などの検討なども行い、費用対効果が高いものに関しては実際に採用しました。 セキュリティやタスク数、チューニングに関しては 実際のセッション数やサービスの性質を踏まえた上でabコマンドなどを使用しで何度も検証することで最適化を図ることができました。 セキュリティに関してはWAF(v2)を導入することでDOS, DDOS などの攻撃から サービスを守れるようにしました。 Terraform管理していたとのこともあり、ディレクトリ構成を見直しテスト環境にも対応できるようCI/CD ,Makefileやshellを利用しコマンドに応じて簡単にリソースを切り替えられるようにしました。 様々なディレクトリ構成がありますが、私達はmoduleごとに切り分け変数を受けとる・リソースを実行・変数を渡すの3つの責務を分離し構成しています。 結果、AWSの基本を理解していれば検索次第で対応できる状態に近づきました。 実際の移行作業に関しては、何度もデモを行い当日問題なく移行できるよう万全の準備をするだけでなく、あらゆる可能性を考慮することで当日スムーズに行うことができました。 ## 得られたこと 結果年間運用コストを200万円以上抑えることに成功しただけでなく、リージョン問題も解決でき、各種サイトのレスポンス等の品質が向上しサービス全体の品質が高まりました。 しかし、現状task-definitionにおいて環境変数の管理がGithub actionsを利用すると二重管理にならざる負えない問題などもあるので、メンバーと相談しながらチームにとっての最適解を目指していきたいと思います。

マネージメント能力

開発組織のマネジメント
・経営層との折衝、プロジェクトのスケジュール管理、マネジメント、関係者との調整 ・経験の浅いディレクター・エンジニアの教育 ・コードレビュー、セットアップテンプレートリポジトリといった開発基盤の作成
[発生した課題] ・経験年数・年齢により権限がもらえていなかったので重要な会議の出席権がないことから発生する問題全般 ・技術職の仕事を理解しにくいことから発生する問題全般 ・課題や経営戦略から発着しない問題解決依頼 ・慢性的な人手不足から発生する問題 [何を工夫したのか] まずは認めて貰う必要があったので以下のことを実行しました。 開発に関しては常に期待以上の成果を残すよう努め、関係者からも認められるよう社会人として理想的な振る舞いをして行動したこと、また自分が関わっていないのに話が進んでいることに関しては、重要人物のスケジュールをチェックして、早めに周囲を巻き込んで問題が肥大化する前に防ぎました。 結果役職はありませんでしたが、開発組織を任せていただけるようになりました。その後 納期折衝の際は品質向上や緊急依頼に対応するために必ずゆとりをもたせ、差し込み依頼については緊急度・優先順位を明確に確認した上で判断・対応をしていました。 仕事全般については 各個人の性格や強みを考慮した環境を作り、それらが活きる仕事内容を提案してより各個人が集中しやすい環境を作りました。もちろん苦手なことを後回しにし他人におまかせすると組織の人数上問題が発生するのでその人に適切な大きさの苦手なタスクを渡して幅広く対応できるようにもしました。 また誰もがやりたがらないタスクについては極力減らし評価される仕組みを作りつつ、実行するときは特定の個人ではなくチーム全体に周知させた上で関係者全員で対応するようにしました。 教育に関しては webに関わることやラフ作成、システム面でよくある問題などを理解してもらうためにもディレクターに教育をして開発の理解をしてもらいました。 エンジニアに関しては、各個人の勉強スタイルにあう形で提案しながら、段階的にスキルを磨けるよう適切なサイズの仕事やレベルに応じた仕事の振り方をして、技術力だけでなくエンジニアとして必要な能力が身につくよう教育しました。具体的には徐々に主体的に行動できるようになるよう全てを教えるというよりも相手の意見を聞いた上で適切な量の教育をお互いフィードバックをしながら行っていました。 結果開発組織の雰囲気や生産性が変わり、技術職に対する理解も大きく深まったと思います。

エンジニアの採用
・応募の母数、品質ともに低い状態 ・社内、開発組織の潜在的な課題の解消及び開発組織づくり ・エンジニア採用フローの見直しと採用基準の明確化、属人化を防ぐ仕組みづくり
[発生した課題] ・採用権限がもらえていなかった ・採用が属人化していた、かつ明確な基準を言語化していなかった ・採用の母数少ないだけでなく、エンジニアが居座る環境を作る必要があった ・開発組織の制度を変える必要があった [何を工夫したのか] 権限をもらうために、期待以上の成果を残し続け、社会人として理想的な振る舞いをし、そして常に会社のことを考え行動するだけではなく周囲の意見も柔軟に取り入れ他部署からも信頼していただきました。 結果、年齢・経験年数バイアスの解消と信頼の獲得に成功し組織を変える権限と提言できる権利をいただけました。 その上で元々不動産営業組織なのもあり以下の問題を抱えていました。 評価制度において営業の役職制度をそのまま適応されていたため市場価格と大きなギャップがあったこと、不動産企業とのことで年間休日数がかなり少ないこと、技術職の勉強を支援する制度がなかったり、中小企業とのことで他福利厚生が少なかったり、手段としてフルリモートが認められていなかったこと。技術的に魅力的な環境でなかったことや、外部への知名度が低いこと、採用に使用する媒体が技術職採用に適していなかったり、記載されている募集要項がリテラシーが高い人が見たときに問題があったことなど挙げられます。 それらの課題を解決するために以下のことをしました。 優先順位と着手できる順番に制限があったので、まずは改善できることから行いモダンな環境をつくりつつ、権限をいただたあとは、即時性が高く効果的なものから着手し必要に応じて折衝をし段階的に制度を整えてきました。具体的にはフルリモートの許可、勉強制度の充実、評価制度の見直しなどが変わってきました。 それらが実現できた理由としてはただ正論をいうという手段ではなく、あくまで相手に伝わるように知識や立場の差を尊重した上で伝えながら、相手の意見もしっかりと聞きも取り入れたからこそうまく行ったと思います。 その後自分だけでなく開発班の意見も取り入れた上で採用全般について見直しました。 具体的には募集要項の改善、採用方法・採用基準とターゲット層の明確化、技術試験・体験入社の追加、参加メンバーの見直し、アブストラクトとジャッジの分離、目的の明確化に伴う質問内容の変更などを改善しました。 また属人化を防ぐためにそれらの情報をドキュメントに残し一定の経験があれば対応できる状態を整えました。 特に一部実力がわからなかったり、価値観・年収・教育コストの面で不安になる方に対して考慮をしつつ簡単な技術試験を実施することで、ポテンシャルや理解度、熱量がかなり明確になりそれを踏まえて面接をすることでよりミスマッチが大きく減ったと思います。 結果応募者層の競争他社に対して差別化が成功しモダン環境のアピールや自社の強みをよく理解してもらえるようになり、応募者数増加と興味を持っていただいた層の選考辞退率が大幅に低下し実際に採用にも繋がりました。 まだまだコスト面や分析にかかる時間など課題が多いので、これらを解消しつつ採用活動に取り組んでいます。

アピール項目


アウトプット

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

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

技術面とそれ以外で分けると以下の通りです。 [技術面] ・バックエンドの複数言語取得及びフレームワークに対する知識の取得 ・DB・設計・アーキテクチャに関する知識・知見の取得 ・コンピューターサイエンス(以下CS)等のアンダーグラウンドの習得 ・大規模サービスのセキュリティや高トラフィック環境に対する知見の取得 ・データサイエンスや機械学習に関する知見 [その他] ・ビジネス会話に支障がないレベルの英語力 ・市場についての深い知識(競争・競合相手の明確化、顧客が求めていること) ・事業を支える知識全般 [関心のある具体的な技術] 設計全般の知識,DB, Rust, Go, GraphQL, TypeScript

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

・心身の健康を維持できる環境 ・心理的安全性が最低限確保されている環境 ・技術を磨くゆとりが最低限ある環境

キャラクター

直近で一番やりたいこと
サービスを作りたい
好きなスタイル
好きな規模
自信を持って人より秀でていると言える点
学習能力 / 分析力 / 巻き込み力
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
一緒に働く人
やりたくない分野
SI
その他の特徴
多職種のバックグラウンドがある
その他のやりたいこと・やりたくないこと
未入力です

やりたい事

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

基本プロフィール

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

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

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

  • {{error}}
SIGN UPSIGN IN


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