ID:21080さん

3年後の目標や野望


社会の負に対して課題解決の一助になったり影響を与えられるようなプロダクトに開発者として関わりたい

### 理由 自分が関わったアプリケーションを通じて多くの非効率な作業やプロセスが改善したり、それを使った人々にポジティブな影響を与えられるようなことがあったらとても嬉しいしモチベーションになりそうだな、と思ったからです。 ### 具体的にしたいこと これまでのサーバーサイドの経験を活かしたDBやAPIの設計などから関われるフロントエンドに強みを持ったエンジニアとしてアプリケーション開発に携わりたい ### 技術者として関心を持っていること サービスや組織の成長に応じてアプリケーションで考慮すべきことが増え、コードのコミットから本番稼働までの所要時間(リードタイム)が遅くなることはどの現場にも起こりうるものだと考えています。 私自身がリードタイムがボトルネックになっている現場に遭遇して以降、技術的なアプローチでプロセスの改善を行うことによる価値提供の機会を最大化する手法や開発者体験の向上に強い関心を抱いています。 もちろんそのためにもアプリケーションをより詳しく知る必要があるため開発を主軸としつつそういった業務プロセスの改善などにも取り組んで関わっていけるポジションがあればそういうロールでも働いてみたいと考えています。 ### 今後のキャリア Custemer Reliability Engineer といったロールやEngineering Manager を経験することにも関心があります

年収評価シート

2020年/2年以内

業務システムのフロントエンドアーキテクチャ改善の立案とロードマップの策定

## 背景 当時、社内ツールの運用開発をしていたのですが、レガシーと呼ばれるような構成でした。 いくつか掘り下げてみると以下のような課題がありました - 私を除いて専任のフロントエンドエンジニアが開発メンバーにいなかった リソースに余裕がないことからサーバサイドが兼務する形でコードを書いていた - モダンなフロントエンド構成への移行対応が行われていない - 現状でも継続して開発は可能だが、将来的に開発効率をあげる取り組みが必要 ## 課題 1. コードの整理ができていないためカオスな状態になりつつある 2. 例)ファイルやディレクトリの命名、構成、モジュールの粒度、コードスタイルなど - 機能追加や改修、バグfix を行うにも必要以上に時間がかかってしまう  - あまり本質的でないレビューが発生し、レビュアー / レビュイー双方の負担が上がる 3. コードの修正による影響範囲がわかりにくくバグを発生させやすくなっている - リリースフローにQAを挟んでいるためバグが頻発するとQAのリソースまで使ってしまいとても時間がかかる 4. ページ単位でSingle Page Application (SPA) とMulti Page Application (MPA) が混在している - MPAはJava のThyme leaf を使って開発されていたがメンテする人がサーバーサイドの一部のみと限られており、属人化する恐れがある 要約すると、 **「開発がしづらいことで、ビジネスの実現に時間がかかりやすい」** 環境になっていました。 --- サービスの成長と共にここまで来たけどそろそろ変化が必要だ、と考えこれらを解決するためにサービス事業部全体に向けて3つに分けたロードマップを作って提案し以下のようなことを行いました。 ## 実績 上記の課題感をスライドに落としビジネスサイドのメンバーに説明したところ合意が取れたため、現在はロードマップの実施にむけリードして取り組んでいます。 - 型を意識したコードを書くことが出来る環境の導入(TypeScript の導入) - 既存のコードはそのままで、新規で追加するものはTypeScriptでかけるようチーム内で合意を取りながら進めた - 改修のタイミングで小さく切り出せそうなものはTS移行を行うなどといった関わり方も行った - Lint ruleの導入とコードフォーマッタの追加(eslint, prettierの導入) 組織全体で定義した lint rule を導入し、commit hook などで auto fix させることで誰が書いても同じようなコードになる環境を作る - 新たな Vue 3 を使って開発できる開発基盤を作成し導入   - Vue 3 が実行できる新たな開発基盤を作り、composition api を駆使したアプリケーションの全体的な設計や方針を決めています - Vue3 を採用した背景として、もともとのアプリケーション基盤の一部が Vue 2.6 だったと慣れ親しんだメンバーが多かったいう理由もありますが、将来的にメンテナンスフェーズに入る2系で開発するよりも、3のほうが inject / provide が活用できるなど State 管理するという点においても優位性があると判断したため採用に踏み切りました。 - フロントエンドにおけるテスト戦略の立案と vue-testing-library と playwright を用いたテストコードの書き方を布教するなど品質改善に向けてサポートといった動きを意識的に行いました ## 工夫した点 - 新しい技術への抵抗をなくしてもらうためのケアを意識的に行った TypeScriptの導入に際して、敷居が高いと心配しているメンバーに対してのケアを意識的に行いました。具体的には自分で出したPull Request に対してセルフレビュー的になぜこのような記述をしたのかといったコメントを付けたり、画面を共有しながら型の付け方を説明したりとチームメンバーへの技術力の底上げやTypeScriptへの理解度の向上にも寄与していると自負しています。 - 開発基盤を作る上でのCI / CD を誰でもリリースができるよう自動化し、手順がシンプルになるように工夫をしました 具体的には、release branch にマージするだけで自動で tag が push されCI から deploy できる仕組みづくりを開発基盤を作る初期から意識してやっておりました。これを行ったことにより、新たに参加したメンバーがすぐにプロジェクトに関わって2日目でPull Requestを送ったりリリース作業に時間を取られることもなくチームとしてより開発業務に集中できるようになりました。

2019年/2年以内

ニュースサイトの配信で使う記事などを管理するCMSのリプレース

既存の業務システムがレガシーだったため、サーバーサイドも移行しつつフロントエンドも既存の業務フローに合わせた画面やシステム設計をリードして取り組みました。 #### 現在と未来の比較表 | | back - end | front - end | | ----- | ----------------- | ----------- | | As-is | Perl | jQuery | | To-be | Java (SpringBoot) | Vue.js | 具体的にやったことは以下です。 - Vue.js 3系 と Element-plus というElement UI basedなOSSのUI コンポーネントライブラリを活用し既存機能の整理をしつつ現在の運用に最適化した形でのUIに変更しながらシステムの移行 - Vue 3 では積極的に composition-api を活用しており、定期的なリファクタリングを行うタイミングで設計に関するベストプラクティスを模索しています ### 工夫したこと - 実際に運用しているユーザーからの運用フローやどういった観点で既存システムを作っているのかをヒアリング - ゼロベースに近いものなどは Figmaを使ってプロトタイピングや画面のモックを作成して画面共有してブラッシュアップしていきました。 - スクラム開発でスクラムイベントのリードを行った 1週間1スプリントのスクラムで取り組んでいたのですが、レビューで開発している成果物を共有するときに実際に運用してもらう人を招待してその機能を触ってもらうように取り組みました。 その中でも、「ミニマムでも課題が解決できそうか」、「どうすればもっとより良いものになりそうか」といった観点でヒアリングをし日々イシューを意識した開発に取り組んでいました。その甲斐もあってか、1週間かかっていた作業が1日に短縮されるなどといった運用フローの効率化に寄与できました。

2018年/2年以上

webサービス開発プロジェクト

## プロジェクトの詳細について - TypeScript, Go を用いたBackends For Frontends構成でのAPI開発 TypeScriptはExpress、GoではEchoというフレームワークを用いてAPIの開発に従事。APIに必要なDBの設計などから一貫して行いました。 - Nuxt.jsを用いたSPA開発 Nuxt.jsはアルファリリースの段階から採用し、アップデートを継続して開発に従事。Vue.jsを用いたデータのバインディングやコンポーネントの設計及び実装を担当。 共通化して切り出せる UI コンポーネントの作成やaxiosを用いて外部APIを使用した開発、jestを用いたテストを行っておりました。 ## 実績 - TSLintからESLintへの移行 TSLint というのはTypeScriptにおけるコードが任意のコーディング規約通りに書かれているかどうかをチェックする静的コード解析ツールですが、実態は型を持ったJavaScriptなので、ESLintと機能的にかぶることが多くルールの管理が大変だと言われていました。そんな中、2019年2月にTSLintのチームがESLintのTypeScript対応の方針を出したことで自らが提案し合意を得てから移行に踏み切りました。具体的には、現時点で利用しているルールを精査し各Lintで提供しているRuleを対応表を元に揃えつつ整備していくということをやりました。 - Prettierの導入 Prettierとは、インデントや改行箇所といったところにまで介入してコードを自動整形してくれるツールです。 導入したことでレビュー時の細かい指摘などをすることなく誰が書いても同じ結果になるなどコーディングルールが仕組み化できました。 - 決済に関する機能をDBとアプリの設計からコーディング、テスト、リリースまでリードしてリリースを行いました 優待機能や無料お試し期間の提供アドオン機能、売上の集計に必要なデータなどといった課金が絡む機能やビジネス的に必要な要素の機能をリードして取り組みました。例えば、請求金額を表示したいという要件から逆算してどんな情報を保持しておく必要があるのかを洗い出し、APIのレスポンスやDBのテーブル設計、集計処理の設計を行ってきました。また、バッチ処理などでも用いる月ごとの利用料の算出処理や、ページング処理の提案と実装を行い共通化して利用できるようにしました。 - 外部登壇や初心者向けのハンズオン講師を行う DevelopersSummit福岡の登壇や、Ruby on Railsを使ってAlexaスキルを開発するハンズオンの講師などを行いました。https://note.mu/mclolipopjp/n/nb3d50eabbd21

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

マネージメント能力

ジュニアと呼ばれるレベル感のエンジニアを数名ほどピープルマネジメントという形で関わりました
気持ちよく働いてもらったりモチベーションが低くなる事象に対して可能な範囲で巻き取ったり個々人のパフォーマンスを出しやすい環境にする
1on1というとかしこまった感じに捉えられそうだったので「おしゃべり」と称して週1回30分のイベントを設定しフランクな実施していました。 また、上記のイベントでは日々以下のようなことを意識して取り組んでいました。 - メンバーが抱える業務における不安やモヤモヤした気持ちを和らげたり取り除くために自分はなにができるのか - 言語化しにくくてもどういった質問をしたら引き出せるかを考えながらオープンクエスチョンを投げかけた - 業務やプライベートでもなんでも困ったときに声をかけやすい状態や関係性を作り、維持する - 親しみを感じてもらうために自分の情報を開示する

アピール項目


アウトプット

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

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

- アプリケーション設計に関するより深い知識と技術 - パブリッククラウドを用いた運用知識 - アクセシビリティへの知識や技術 - terraform など IaC などの構成管理

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

- 事業として、何を目指して、何を目指さないのか優先度や意思決定の背景が明文化されていること - スキル・経験が豊富で尊敬できる同僚と、チームで仕事ができること - レガシーフロントエンドの基盤や技術的負債の返済、リリースプロセスのリードタイムが遅いなどを課題としていてそれらの改善に集中できる環境があること - リモートでも働ける環境 - 服装自由

キャラクター

直近で一番やりたいこと
技術を極めたい
好きなスタイル
好きな規模
水とプログラミングどっちが大事?
自信を持って人より秀でていると言える点
学習能力 / 分析力 / 責任感
スキルのタイプ
得意なフェーズ
会社を選ぶ一番の基準
理念や社会的意義
やりたくない分野
SI / 金融 / 人材 / 広告 / アダルト
その他の特徴
使用言語にはこだわらない / レガシーな環境を改善できる
その他のやりたいこと・やりたくないこと

コードが変更されてからリリースされるまでのリードタイムの改善やFourKeysを計測する基盤づくり、これらに価値があると考えているプロダクトに対してチャレンジしてみたい

やりたい事

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

基本プロフィール

年齢
今年で30代前半
好きな Text Editor
Visual Studio Code
希望勤務地
福岡県 / その他地域 / リモート勤務
家庭の事情や体調など、都合に合わせてリモート出来れば問題ない
希望年収
750万円
転職ドラフトに参加して
企業から指名を受け取ろう!
会員登録をして転職ドラフトに参加すると、参加企業から年収付きの指名を受け取ることができるようになります。
会員登録する
ご意見箱

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

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

  • {{error}}
SIGN UPSIGN IN


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