ID:71072さん

3年後の目標や野望


自分なりの開発手法を確立する

現在の仕事において、私が一番楽しむ瞬間は、与えられたタスクを最大限に効率的に達成できる瞬間です。そのため、効率性の向上が私にとって最も重要な課題と感じています。 タスクをより効率的に遂行するためには、個別の開発手法やプロセスを模索し、自身の範囲で実装していくことが欠かせません。このプロセスを通じて、業務効率化への努力を継続的に行い、組織やチーム全体に貢献することができると確信しています。 そして、自身で確立した開発手法を他のメンバーやチームに共有し、広めていくことで、全体の業務効率化に寄与できる機会を積極的に探しています。そのような経験を通じて、技術の発展とプロジェクトの成功に貢献することが私の目標です。

年収評価シート

2022年/2年以内

食品卸し企業の基幹システム開発

VisualBasicで構築されていた食品卸会社の基幹システムをReactで再構築 主な機能として、在庫・発注・受注・製造の管理を実現 フロントはReact、バックエンドはLaravelで構築 # 役割 Webフロントエンド/バックエンドのエンジニア # 主な担当業務 設計(画面設計・API設計・機能設計・テスト設計) 実装(画面実装・API実装) プルリクエストのレビュー(バックエンド・フロントエンド) # タスク内の実績 *** ### 【タスク1】 #### レシート出力機能の実装 メンバー:二人(自分は設計・開発・レビューを担当、もう片方は開発を担当) 【課題1】 **要件定義段階でタスクの深掘りが出来ていなかった** 私がプロジェクトに参画した時点では、要件定義は完了しており、お客様から現行システムの仕様書をいただいていました。しかし、仕様の深掘りが不十分で、仕様書だけでは実装に必要な情報が不足していました。 【上記課題に対して以下を実施】 ・ meetを使用して、口頭でやり取りしてしまうと時間が取られてしまうので、資料を通して仕様の深掘りをする ・また、お客様は新システムの動きを理解できていないので、基本提案ベースでやり取りをする 【功績】 ・ 仕様の深掘りが適切に行われ、実装に必要な情報が不足することなく、スムーズに開発を進めることができた。 ・スケジュールの遅延やコストの増加を防ぐことができた。 【課題2】 **仕様が複雑なこともあり、開発者と設計者で認識齟齬が発生する** 私が、作業のフローを設計し、その設計書(フローチャート)をメンバーに提供して実装していく手法を取っていました。しかしながら、実装の段階で設計書の仕様が複雑であり、設計内容と異なる実装が行われ、その都度手戻りが生じました。 【上記課題に対して以下を実施】 ・TDD開発手法を提案し、設計書の作成と同時にテストコードの実装を行うようにした。 【功績】 ・ 設計の仕様と実装の乖離を最小限に抑えた。 ・テストコードの導入によって実装段階での仕様漏れに気づくことができた。 ・プロジェクト内で初めてTDD開発をやったので、メリデリをチーム内に共有した。 *** ### 【タスク2】 #### データの一覧・新規登録・更新・画面の実装 メンバー:一人(画面設計・開発を担当) 【課題1】 **画面の機能が拡大し、結果としてコードが膨大になり、可読性が低下した** お客様の追加要望に対応するたびに機能が増加し、それに伴いコードが複雑化し、可読性が低下しました。この結果、機能の変更や追加ごとに不具合が頻発し、開発におけるコストが膨れ上がりました。 【上記課題に対して以下を実施】 ・この問題に対処するため、画面を作り直すことに決定しました。新しい設計では、可読性が悪くなった理由を洗い出し、以下の改善点を導入しました。 改善点1:ReduxFormでの全値管理を見直し、Formに必要な値だけを管理し、計算可能な値はReactのuseMemoを利用して効率的に処理するようにしました。APIに渡す際にはFormの値とstateを適切に結合させる処理を導入する 改善点2:useEffectを使用していたが、その柔軟性からくる可読性の低下と責任の集中を避けるため、useEffectを最小限に留め、useMemoとuseCallBackを組み合わせて処理を効果的に実現するよう心掛けました。 改善点3:処理の細分化を行い、関数コンポーネント外に切り出す際に破壊的関数にならないよう慎重に実装する 【功績】 ・処理の責任が分散され、画面の修正スピードが格段に上がった。 ・改善点を意識して実装することで、他の画面でもコードの可読性が向上し、レビューの効率が向上しました。 *** # タスク外の実績 *** ### 【実績1】 **バックエンドのデバッグツールが不足している** プロジェクトではバックエンドをデバッグする際にステップ実行とログファイルしか利用していなかった為、デバッグと処理の最適化に時間がかかっていた 【上記課題に対して以下を実施】 ・Laravelのclockworkというデバッグツールを提案し、導入させた ・clockworkの効果的な使用方法やN+1問題の解消法についての知識を共有するため、Laravelの勉強会を開催し、チーム全体に普及させました 【功績】 ・チーム全体でN+1の問題に対する認識が高まり、リファクタリングの意識が一層強化されました。 ・デバッグプロセスの改善により、業務の効率が向上しました。 *** ### 【実績2】 **バックエンドのコードを修正しても、修正がすぐに反映されない** コードを修正して、POSTMAN等でAPIを実行しても、すぐに反映されず、コンテナを再実行する等の無駄な時間が発生していた。 【上記課題に対して以下を実施】 ・Laravelの処理を高速化する手段としてopcacheを使用していましたが、opcacheのキャッシュ作成処理が60秒に1回となっていたことが原因でした。そのため、コードが変更されたら都度キャッシュを作成するよう設定に見直しました。 【功績】 ・チーム全体の作業効率が向上した ### 【実績3】 **GitHub Actionsを使用して、自チーム内にCIを導入** 参画時、テストコマンドをローカル環境で実行していたため、マージ前のコマンド実行漏れによりdevelopブランチにデグレが発生し、手戻りが繰り返されていました。 【上記課題に対して以下を実施】 ・他チームでCIが導入されていることを知り、Github Actionsのレクチャーを受けた後、自チームに必要な設定を含むyamlファイルを作成し、PR作成時にテストコードが実行されるようにしました。 【功績】 ・developブランチでのデグレ発生を防ぎました。 ・GitHub ActionsとCIについての知識が不足していたため、チーム内で勉強会を開催し、メンバー全体の理解を深めました。

2021年/半年以内

マイナンバー中枢システムのバッチ実装

# プロジェクト概要(目的・体制) 「マイナポータル」における「健康保険証の利用登録」と「公金受取口座の登録」に関わるバッチ処理の開発を担当しました。プロジェクトはウォーターフォール開発モデルに基づき、参画時には既に外部設計が完了し、内部設計のフェーズに進行していました。 # 役割 バックエンドエンジニア # 主な担当業務 設計(バッチ処理の設計・SQL設計) 実装(バッチ実装・SQL実装) プルリクエストのレビュー(バックエンド) # タスク内の実績 *** ### 【タスク1】 #### 通知機能のバッチ設計 【内容】 外部設計書を基に、通知機能のバッチ処理を詳細に整理し、必要なデータを取得するためのSQLを設計し、それに基づく設計書を作成いたしました。 【工夫した点】 ・ 処理の円滑な実現を図るため、データ取得段階での最適化に特に配慮しました。なお、参画時にPostgreSQLに十分な知識がなかったため、主体的に学習し、ローカル環境にPostgreSQLをダウンロードして、自身が設計したSQLの実行計画をEXPLAINコマンドを使用して確認しました。 ・プロジェクト内で初めての内部設計書作成という状況で、設計書のフォーマットが確立されていなかったため、30%の完成度で早期にPLに提出し、PLとの認識合わせを行いながら内部設計書のフォーマットを確定させました。 *** ### 【タスク2】 #### 通知機能のバッチ実装 【内容】 Spring Batchを使用して、自分で作成した内部設計書を基に、バッチ処理を実装 【工夫した点】 ・テストの徹底性向上のため、Junitを活用して以下の3つのテストパターンを導入しました。  1.全体の流れを網羅したテスト  2.処理を細分化し、部分ごとにテストを行う細分化テスト  3.ハンドリングやログ出力が正常に機能していることを確認する異常系テスト テストカバレッジを高い水準で維持し、結合テストフェーズにおいてバグの発生を最小限に抑えました。 ・開発効率向上のため、Eclipseの機能を習得し、setter/getterの自動生成、テンプレート、リファクタリングなどの機能を積極的に活用しました。同時に、チーム全体にドキュメントを作成し、全体の生産性向上に寄与しました。 ***

マネージメント能力

アピール項目


アウトプット

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

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

# モダンフロントエンド構築に関する技術(特にtypescript) 現在の仕事では、ReactをJavaScriptで開発しており、実行後にのみ気づけるバグが多発しています。そこで、TypeScriptを使用することで型付けが可能となり、VSCode上でバグを早期に発見でき、コードの保守性が向上するという点に興味があります。 # Go言語 将来的に主要なプログラミング言語の一つとなりそうなGo言語に興味を持ち、スキルの獲得を目指しています。 # Godotの知識 自分のゲームを実現するために、ゲーム制作のエンジンとしてGodotを使用する予定です。必要な知識を身につけるため、ゲームエンジンの学習を継続的に進めています。

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

# 自由にアウトプットが出来る環境 技術の習得には、自ら学んだことをアウトプットすることが不可欠だと感じています。アウトプットを通じて、自分の理解を確認し、知識を深化させることができます。他者に技術を説明することで、自身の理解が一層深まると信じています。 アウトプットにはコミュニケーションが欠かせません。他者とのコミュニケーションを通じて、チームでの協調性が向上し、新たな知見を得ることができます。同時に、仲間との協力を通じて、より良いチーム環境を構築し、共に成長し合えるような仲間関係を築くことがパフォーマンスを出すのに必要だと思っています。

キャラクター

直近で一番やりたいこと
サービスを作りたい
好きなスタイル
好きな規模
自信を持って人より秀でていると言える点
学習能力 / 分析力 / 問題解決力
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
年収が第一
やりたくない分野
未入力です
その他の特徴
未入力です
その他のやりたいこと・やりたくないこと

以下に自分の作業が効率よく終わるのかを見出すのが好きなので、開発環境を改善する仕事に興味を持っています。

やりたい事

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

基本プロフィール

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

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

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

  • {{error}}
SIGN UPSIGN IN


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