yewton
yewton

ソフトウェアエンジニア

結婚
付き合って
社会人
現職勤続
父親歴

現在の状況

※2022年4月18日現在

昨今の社会情勢もあり原則リモートワーク。18時以降は基本的に父親業優先。

株式会社 R

2015 年 9 月より。

テックリードやスクラムマスター等を経験しつつ、 1 年間のマネージャ経験を経て、 2022 年度より再び開発メンバーとなり、 Java や Kotlin と戯れる日々。

指向や価値観など

プロダクトやサービス等の開発を通じて最高のリターンを最短で得るために、自分の技術力を投資することに価値を見出す。

ソフトウェアエンジニアの中心的な価値は、実際に動く・使えるモノを、誰の手も借りず許可も得ずに作れてしまうことだと考えており、 それを武器として刃を常に研ぎ澄ませつつ、他の専門家達とも対等に意見を戦わせながら、より良いリターンを求めていきたい。

特定の技術分野に拘りはなく、必要とされているが足りていない、という部分を補っていくスタンス。 拘りはないといっても、常に What に対する最高の How を求めており、 また、これまでの経歴から主にサーバーサイドやインフラなどバックエンドに強みは感じている。

個人的な指向としては、複雑な現実世界を何如にシンプルにモデリングしコードに落とし込めるか、ということを考えるのが楽しいのと、 読む人間に優しいイミュータブルで簡潔な実装を好む。 その文脈で、オブジェクト指向や DDD 、クリーンアーキテクチャのような話題にも関心がある。

また、個人ではなくチームで最良の成果を引き出せることがエンジニアとして求められることだと考えているため、 チーミングや開発プロセスといった人間的な部分にも興味がある。 これまでには、 Nexus を用いた複数チームにおけるスクラムマスターを担ったり、 Liberating Structures 等を参考にしたリモート環境下での課題設定を行う等の実践もしている。

やってきたこと

完全なプログラミング勉強会

シニア的な立場になってきたころ、全員の「よいコード」の認識を揃えるべく、 CODE COMPLETE を題材にした勉強会を行なった。そのときの資料は今でも指針として利用されている。

2020 年に、 〈完全なプログラミング〉を目指す会 2020 と題し、過去資料を リファインした上で公開 した。

動画サムネイルシークの開発

各時点のサムネイルを選んでシークするという機能を、バックエンドからフロントエンドまで全て一人で対応した。

FFmpeg のシーンチェンジ検出結果を保存、配信し、それをネイティブクライアントが利用してシークする、というもの。

ネイティブ開発は初めてだったが、3ヶ月程で Android, iOS ともに対応することが出来た。

ひとつの機能をバックエンドからフロントエンドまで一気通貫で全て独力で実装する という貴重な経験だった。

メディアコンテンツ投稿・変換・配信システムのエンハンス開発

S3 にファイルを直接アップロードすることによる負荷軽減や、 imgix と連携した画像配信、複数ファイルの非同期並列アップロード対応などのエンハンスを行った。

素の JS のままでは並列的な処理を書くのがしんどかったため、 React でリライトした。

それまで単一ファイルのみ受け付けていたものを複数対応させるには Rails モデルのリアーキテクトも必要だった。無停止で機能をリリースするため、事前に用意した新たなデータ構造に徐々に移行するという段取りを立て、実行を主導した。

Keen IO -> BigQuery 連携

Keen IO がそれまで提供していた BigQuery 連携機能を停止してしまったため(ベータとして提供されていたので仕方ない)、急遽対応したもの。

Keen が S3 にローデータを配置するのをトリガーとして Lambda を起動、 BigQuery にデータを連携する、というもの。 node-lambda を用いて実装した。

突発対応で急拵えだったが特に問題なく稼動し、ことなきを得た。

自分の中の技術の引き出しを増やすいい経験だった。

Grape + OpenAPI による高速開発推進

3ヶ月で開発を完了させなければならず、極力無駄を省くために、 Grape::Entitygrape-swagger を採用し、実装と同時に API 定義を生成し、クライアント側はその定義を元にライブラリを自動生成して実装を進める、というアプローチで開発を進めた。

結果として上手くいき、無事に期間内にサービスインすることが出来た。

Open API を活用する好事例だった。

Experience

  1. 入社

    株式会社D
    PHPによるシステム開発研修を受講
  2. テレビ実況システムバックエンド開発

    株式会社D
    PHP (独自フレームワーク) 製。メンバーとして参加
  3. ニュースサイト開発

    株式会社D
    PHP (独自フレームワーク) 製。メンバーとして参加
  4. 動画投稿・変換システム開発

    株式会社D
    PHP (ノンフレームワーク) 製。メンバーとして参加し、2012年5月以降は開発リーダーを務める
  5. PUSH 通知システム開発

    株式会社D
    Play! Scala 製。プロジェクトリーダーとして参加
  6. システム間連携システム開発

    株式会社D
    Play! Scala 製。プロジェクトリーダーとして参加
  7. PUSH 通知・システム間連携システム課

    株式会社D
    課長に就任。メンバーのマネジメントを行なう
  8. レシピ閲覧サイトバックエンド開発

    株式会社R
    Ruby on Rails 製。開発メンバーとして参加。2017年4月以降はiOS、Android アプリのエンハンス開発も担当
  9. 学生向け学習時間管理支援システムバックエンド開発

    株式会社R
    Ruby on Rails 製。開発メンバーとして参加。
  10. マッチングサービス開発

    株式会社R
    Spring Boot 製。スクラムマスター。2018年9月以降はテックリードとして技術課題の解消に注力
  11. ブライダルメディアサービスiOS開発

    株式会社R
    開発メンバーとして参加
  12. ブライダルメディアサービスモバイルアプリ開発 (スクラムマスター)

    株式会社R
    Nexus チーム(2チーム)のスクラムマスターに就任。プロセス整備とメンバー定着を行う。
  13. ブライダルメディアサービスモバイルアプリ開発 (技術チーフ)

    株式会社R
    技術チーフに就任。プロダクト全体の技術的な意思決定に責任を持つと共に、横断での開発プロセス改善を進める。
  14. 個人事業主として開業

    YAGNI ワーク
    知り合いから声を掛けられて副業を開始。 その頃ちょうど .work ドメインが安売りされていて yagni.work というドメインを安く取れたので、屋号を YAGNI ワークとした。
  15. BtoB動画マニュアル管理ツール開発

    株式会社S
    Ruby on Rails 製。個人事業主として開発全般の業務委託を請け負う
  16. ブライダルメディアサービス開発 (グループマネージャ)

    株式会社R
    グループマネージャに就任。モバイルアプリ開発チームのマネジメントと、サービス全体の技術ガバナンス強化を推進。
  17. 美容サロンメディアサービス開発

    株式会社R
    開発メンバーとして参加
スキル

※2020年1月時点

プログラミング言語
Ruby

業務5年 | RoR アプリを一人で開発出来るし、指導もできる

JavaScript

業務2年 | React / Node.js (Lambda)

Java

業務2年 | Spring Boot を一人で開発できる

Kotlin

業務2年 | Android および Spring Boot

Scala

業務2年 | Play! フレームワーク

Swift

業務3年 | iOS ネイティブ開発

Objective-C

業務3年 | iOS ネイティブ開発

Python

業務2年 | Fabric 等で薄く

PHP

業務5年 | PHP 6 時代まで

Emacs Lisp

業務10年+ | 個人設定を10年以上管理

ミドルウェア
MySQL / MariaDB

業務10年 | レプリケーション・バックアップ・パフォーマンスチューニング・Galera クラスター

PostgreSQL

業務2年 | Heroku 環境での利用

Redis

業務5年 | キャッシュとして当たり前に運用

Elasticsearch

業務2年 | 日本語インクリメンタルサーチ・表記揺れ対応

Docker

業務5年 | 開発環境・一部本番運用

クラウド
AWS

業務5年 | Webアプリ開発に必要な一通りの運用経験

GCP

業務2年 | BigQuery・Vision API 等

資格など
Certified ScrumMaster®
Scrum Alliance ∙ 2015-11-16
更新はしてないです…
証明書を見る