- 年齢: 28歳
- 性別: 男
- 職務: Webアプリケーションエンジニア(サーバサイド・フロントエンド)
- 歩み寄りを意識したコミュニケーション
- メンテナンスしやすい/拡張性のあるコードをかく
- "コードの読みやすさ"と"言語やフレームワークの持つ機能の便利さ"を天秤にかけながらのコーディング
- ユーザー目線を取り入れつつプロダクトの開発に携わる
- 動物
- 業務期間外での勉強会参加やオンラインリソースでのインプット
- 上記インプットを業務や個人開発でアウトプット
名称 | 年数 | 名称 | 年数 | 名称 | 年数 | |||
---|---|---|---|---|---|---|---|---|
言語 | 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年未満 |
- エンジニア以外の方達と連携して企画段階から参加してプロダクト開発してきた経験
- 新規のtoB向けのWebアプリのチーム開発の経験がある
- jQuery, cakePHPからVue.js, Laravelへのリビルド経験がある
- 外部企業向けのAPI開発の経験がある
- 英語でのコミュニケーションが取れる
- インフラ周りの業務経験がない
- 興味がある一方でクライアントサイドのパフォーマンス改善施策の経験がない(普段の実装では気にかけている)
- Flutter
- JavaScriptのまだ知らぬ挙動や関数たち
- クライアントサイドにおいてのパフォーマンス改善
- 職務:フロントエンドエンジニア
- 雇用形態:正社員
- 在籍年数: 1年未満
- 職務: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を使用することでのスタイルの上書きが横行しており、ちょっとしたスタイル変更も難があり、また影響範囲の把握も難しかった
- 同じようなスタイルが大量に書かれていた
- コンポーネントシステムが魅力。柔軟性を持たせるため機能面(記事のお気に入りや広告挿入)などをそれぞれを独立させるためにコンポーネントごとに切り分けたかった
- スコープ付きスロットの存在。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を有効活用しながらスタイルを定義していくことで再利用性と拡張性が高まった
- 職務: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設計の把握などの能力が養われた
- 職務:Webアプリケーションエンジニア
- 雇用形態:正社員
- 在籍年数: 8ヶ月
💻 ガス会社のマッチングサービス「enepi」
- 機能追加・保守運用・改修
- ガス会社とガス会社を変更したい人をマッチングするサービス
- Ruby, Ruby on Rails, MySQL, JavaScript, jQuery, Sass
- 機能追加の際はサーバーサイド・フロントエンド両方を担当
- バグ修正や改善タスクにおいてはサーバーサイドを主に担当
- ガス料金見積もり機能の実装
詳細はこちら 👉
毎月のガス料金をより安くしたいユーザーに対し、特定のガス会社に乗り換えた場合の月々のガス料金の見積もりを提示する機能
フロントエンドとサーバーサイドを両方担当し開発。
この機能を実装するにあたり営業チームと機能要件のすり合わせを行ったり、デザイナーとも連携をするなど他部署とうまく連携しながら開発を進めることを心がけた。
入社してすぐにアサインされ、本タスクをこなすことで他部署や他のメンバーとの連携の仕方を学び、その後の業務をこなす際にもコミュニケーション面で良い影響を与えた
また先輩エンジニアからのコードレビューでチーム開発において意識すべきポイントやメンテナンスをしやすいコーディングを学んだ