Skip to content

yuhijackman/Resume

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 

Repository files navigation

ℹ️ 基本情報

  1. 年齢: 28歳
  2. 性別: 男
  3. 職務: Webアプリケーションエンジニア(サーバサイド・フロントエンド)

😎 仕事をする上で意識していること

  1. 歩み寄りを意識したコミュニケーション
  2. メンテナンスしやすい/拡張性のあるコードをかく
  3. "コードの読みやすさ"と"言語やフレームワークの持つ機能の便利さ"を天秤にかけながらのコーディング
  4. ユーザー目線を取り入れつつプロダクトの開発に携わる

😍 好きなこと・もの

  1. 動物
  2. 業務期間外での勉強会参加やオンラインリソースでのインプット
  3. 上記インプットを業務や個人開発でアウトプット

👍 スキル

言語・フレームワーク等

名称 年数 名称 年数 名称 年数
言語 PHP 3年 フレームワーク Laravel (+Blade) 3年 その他 Git 4年
MySQL 4年 Vue.js 4年 Docker 3年
JavaScript 4年 Nuxt.js 2年 jQuery 4年
GoogleAppsScript 1年 Vuex 2年 AWS Lambda 2年
Sass 3年 Webpack 3年
TypeScript 1年未満

💪 強み

  1. エンジニア以外の方達と連携して企画段階から参加してプロダクト開発してきた経験
  2. 新規のtoB向けのWebアプリのチーム開発の経験がある
  3. jQuery, cakePHPからVue.js, Laravelへのリビルド経験がある
  4. 外部企業向けのAPI開発の経験がある
  5. 英語でのコミュニケーションが取れる

🙈 弱み

  1. インフラ周りの業務経験がない
  2. 興味がある一方でクライアントサイドのパフォーマンス改善施策の経験がない(普段の実装では気にかけている)

😍 興味があるもの

  1. Flutter
  2. JavaScriptのまだ知らぬ挙動や関数たち
  3. クライアントサイドにおいてのパフォーマンス改善

🚀 職務経歴

🏢 2021/08 - 現在 : ラクスル株式会社

  • 職務:フロントエンドエンジニア
  • 雇用形態:正社員
  • 在籍年数: 1年未満

🏢 2020/02 - 2021/07 : 株式会社MATCHA

  • 職務:Webアプリケーションエンジニア / サーバサイドエンジニア / フロントエンドエンジニア
  • 雇用形態:正社員
  • 在籍年数: 1年以上

💻 インバウンドメディア「MATCHA

👀 業務内容

  • 機能追加・保守運用・改修・リビルド・要件定義・開発タスク作成・工数見積もり

🐋 サービスの概要

  • 日本最大級のインバウンドメディア

🔧 使用技術

PHP,CakePHP,Laravel, MySQL,JavaScript,jQuery,Vue.js, Vuex, Sass, Docker

🙋 主な担当箇所

  • 運用者,執筆者の要望から機能の追加や改修
  • マネタイズ施策等の立案
  • 新規機能開発の際の要件定義作成、開発工数見積もり
  • メディア改善時の立案
  • システム老朽化等に伴う再開発(リビルド)の実施.
  • リビルドにおいては、MVCにおけるVCを主に担当し、フロントエンド全体の技術選定・コンポーネント設計・実装を担当

💪 リビルドのフロントエンド開発を通して解決した問題と技術選定 💪

  • コンポーネント設計とVue.jsの導入
詳細はこちら 👉

前提情報

jQueryとCakePHPのテンプレートであるctpにより管理されていたフロントエンドをVue.js/Laravel・Bladeに移行した

フロントエンド側を任され設計や使用技術の選定などを行った

リビルド前に抱えていた問題

           
  • ロジックとUIが深く依存しあっていた
  •        
  • 同じような機能やロジックが複数ファイルに書かれておりメンテナンス性が低く、バグが起きやすい状況だった
  •        
  • ページごとに細かくコンテンツの出しわけをしており、それらの表示ロジックなどを条件分岐で実装しておりネストが深く可読性が低かった
  •        
  • ほとんど同じだけど少し違うデザインがサイト内に多く、その都度別々にコードが書かれていた
  •        
  • クライアントや編集者の要望でデザインの変更や追加が頻繁に起きる状況だが、それに対応する際の修正箇所や工数が不必要に多かった
  •        
  • スタイルの衝突と詳細化や!importantを使用することでのスタイルの上書きが横行しており、ちょっとしたスタイル変更も難があり、また影響範囲の把握も難しかった
  •        
  • 同じようなスタイルが大量に書かれていた

上記問題を踏まえVue.jsを選定した理由

  • コンポーネントシステムが魅力。柔軟性を持たせるため機能面(記事のお気に入りや広告挿入)などをそれぞれを独立させるためにコンポーネントごとに切り分けたかった
  •       
  • スコープ付きスロットの存在。Renderless Componentsを作成し、ロジック周りやAPIでの外部からのデータ取得,エラーハンドリングなどを閉じ込めるのに最適だった
  • 工数を最小限に抑えたくVUe.jsの開発経験があった。また開発経験が少ないがJavaScriptの経験のあるエンジニアにとっても学習コストが低かった

解決方法

       
           
  • Renderless Componentsの作成。Viewに必要なデータのみ渡すようにした。リビルド前にjQueryで実装していたロジック・機能を細かく分け、Renderless Componentsに閉じ込めた。これを行う事でロジックとViewが明確に分離でき再利用性が高く、また機能の差し替えも手軽にできるようになった。Viewに複雑なロジックを書く事なく柔軟に見た目を変化させれるようになった
  •        
  • BladeをAtomic Designの思想を軸にコンポーネントわけを行った。それとプラスしてUIの責務をBlade側に一任した。結果コード量が大幅に現象し、可読性がました事で今後の開発の効率性が上がった。
  •        
  • 細かいデザインの違いを吸収できるようBladeのSlotを有効活用しながら設計した
  •        
  • 表示ロジックやページごとに異なるコンテンツの出しわけなどをSchema定義しておき、可読性をあげさらにメンテナンス性を高めた
  •        
  • Bladeのコンポーネントと同じ粒度でscssファイルを作成し影響範囲を明確化した。またBEM記法をメースとしてコーディングルールを設けることでスタイルの衝突リスクの削減
  •        
  • 上述したコンポーネント設計とコーデイングルールをベースに、限られたスコープでPlaceholder SelectorsとExtendを有効活用しながらスタイルを定義していくことで再利用性と拡張性が高まった

🏢 2018/02 - 2020/02 : 株式会社クリエイターズマッチ

  • 職務:Webアプリケーションエンジニア / サーバサイドエンジニア / フロントエンドエンジニア
  • 雇用形態:正社員
  • 在籍年数: 2年

💻 制作に特化したプロジェクト管理ツール「AdFlow

👀 業務内容

  • 機能追加・保守運用・改修・外部サービスとの連携

🐋 サービスの概要

  • 制作の発注から納品までのスケジュールやタスク管理や、過去の制作物の管理業務など制作に関わる業務を効率化させるツール
  • AdFlow内で制作物のレビューなどができ、制作者と発注者の間でのコミュニーケーションも当ツール内で完結
  • 主に広告代理店など企業がクライアントとして存在した

🔧 使用技術

  • PHP, Laravel, MySQL, JavaScript, jQuery, Vue.js, Vuex, Sass

🙋 主な担当箇所

  • サーバーサイド・フロントエンド両方を担当
  • 外部サービスとのAPI連携時に開発周りの窓口と実装を担当
  • デザインツールSketchを用いた新規機能のデザイン

💪 特に尽力したこと

  • 外部サービスとのAPI連携
詳細はこちら 👉

大手広告代理店が開発する広告効果測定ツールと連携するためにAPIを開発した

APIドキュメントの作成も行った

相手企業のエンジニアとSlackを通してにコミュニケーションやMTGの設定など窓口としての役割も果たした

このプロジェクトを通し、特定の外部企業へ向けたAPI開発、社外のエンジニアとの連携、コミュニケーションの取り方などを学んだ

また、セキュリティ面を考慮しOAuth2.0をベースとした認証機能も実装しセキュアにAPIを公開する方法を学んだ


💻 制作物上に直接コメントを書き込める修正依頼ツール「AdFlow Proof

👀 業務内容

  • 新規開発・機能追加・保守運用・改修

🐋 サービスの概要

  • 制作物に対して、レビューやコメントができる
  • 発注者から制作者への制作物への修正依頼を手軽に直感的にできる
  • 動画に関してはシーンごとに修正依頼ができる

🔧 使用技術

  • PHP, Laravel, MySQL, JavaScript, Nuxt.js, Vuex, Sass, AWS Lambda, Python

🙋 主な担当箇所

  • サーバーサイド・フロントエンド両方を担当
  • デザインツールSketchを用いた新規機能のデザイン
  • AWS Lambdaを用いた機能開発

💪 特に尽力したこと

  • 本機能をゼロからチームで開発した
詳細はこちら 👉

制作物のレビューに特化したツールProofを新規で5人のエンジニアと1人のテスターで開発した

新規開発であったことで、リードエンジニアを中心に技術選定、設計などをMTGで話し合い決定していった。

サーバーサイドとフロントエンドの両方の開発を担当した

動画からサムネイルを生成する機能をAWS Lambda・Pythonを利用し開発した


💻 広告効果レポーティングツール「AdFlow Banner Pool

👀 業務内容

  • 保守運用・改修

🐋 サービスの概要

  • 原稿ファイル・入稿情報・配信効果などの広告に関する情報を管理できる

🔧 使用技術

  • PHP, MySQL, JavaScript, jQuery, CSS

🙋 主な担当箇所

  • サーバーサイド・フロントエンド両方を主に一人で担当
  • クライアントからのデータ物理削除依頼時の対応

💪 特に尽力したこと

  • 保守運用
詳細はこちら 👉

本ツールの保守運用を一人で担当した

フレームワークは使っておらず生のPHPで書かれていたことや、複雑化していた事もありソースコード理解なども大変であったが

こちらの保守運用を通しソースコード理解、DB設計の把握などの能力が養われた


🏢 2017/05 - 2018/01 : 株式会社アイアンドシークルーズ

  • 職務:Webアプリケーションエンジニア
  • 雇用形態:正社員
  • 在籍年数: 8ヶ月

💻 ガス会社のマッチングサービス「enepi

👀 業務内容

  • 機能追加・保守運用・改修

🐋 サービスの概要

  • ガス会社とガス会社を変更したい人をマッチングするサービス

🔧 使用技術

  • Ruby, Ruby on Rails, MySQL, JavaScript, jQuery, Sass

🙋 主な担当箇所

  • 機能追加の際はサーバーサイド・フロントエンド両方を担当
  • バグ修正や改善タスクにおいてはサーバーサイドを主に担当

💪 特に尽力したこと

  • ガス料金見積もり機能の実装
詳細はこちら 👉

毎月のガス料金をより安くしたいユーザーに対し、特定のガス会社に乗り換えた場合の月々のガス料金の見積もりを提示する機能

フロントエンドとサーバーサイドを両方担当し開発。

この機能を実装するにあたり営業チームと機能要件のすり合わせを行ったり、デザイナーとも連携をするなど他部署とうまく連携しながら開発を進めることを心がけた。

入社してすぐにアサインされ、本タスクをこなすことで他部署や他のメンバーとの連携の仕方を学び、その後の業務をこなす際にもコミュニケーション面で良い影響を与えた

また先輩エンジニアからのコードレビューでチーム開発において意識すべきポイントやメンテナンスをしやすいコーディングを学んだ

外部リンク

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published