Avatar

yewton

ソフトウェアエンジニア

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

人となり

直近の状況

子どもがまだ小さいため極力リモートワーク&勤務時間も抑えめで活動中…。

株式会社 R

レガシー iOS アプリの開発メンバーとして、主に Objective-C を使って開発。 Swift は一部の View Controller やテストなど、他から依存されていない箇所で部分的に使用。

リアーキテクティングやテストの導入などモダン化を地道に進めながら、日々のエンハンス開発を行う。

株式会社 S

AWS + Heroku + RoR という構成のサービスにおいて、業務委託としてインフラ・サーバー・フロントエンドまで幅広く技術支援を行う。

技術的に複雑で困難な要件を単発で請け負って開発することが主。 特に Elastic Transcoder 等を用いたコンテンツ変換システムの継続的な保守と開発を行う。

指向

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

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

また、個人ではなくチームで最良の成果を引き出せることがエンジニアとして求められることだと考えているため、 チーミングや開発プロセスといった人間的な部分にも興味があり学んでいる。

プログラミング言語

※2020年1月時点

名称業務経験レベル感
Ruby5年RoR アプリを一人で開発出来るし、指導もできる
JavaScript2年React で基本的な実装や Lambda で Node.js の適当な機能は作れる
Objective-C2年一人で開発は進められるけれどそんなに自信は無い
Swift2年同上
Kotlin2年Android に関しては同上。サーバーサイドに関しては Spring Boot でそこそこ出来るはず
Java2年Lambda や Stream を使ってテストも書きつつ一人で Spring Boot 開発出来る
Scala2年Play! で基本的には一人で開発出来る。Scalazとかは怪しい
Python2年Fabric 等で薄く触ってる程度
PHP5年PHP 6 の時代まで。もう忘れた
Emacs Lisp10年https://github.com/yewton/.emacs.d を見てください

ミドルウェア

※2020年1月時点

名称業務経験レベル感
MySQL(MariaDB)10年レプリケーションやらバックアップやらの一通りの運用や基本的なパフォーマンスチューニングは出来る。変わったところだと Galera クラスターの運用経験有り
PostgreSQL2年Heroku についてるのである程度触れる程度
Redis5年キャッシュとして当たり前に運用する程度
Elasticsearch2年日本語インクリメンタルサーチや表記揺れの対応が出来る程度
Docker5年基本的には日々の開発で使うのみ。一部本番サービスでも運用したが堅牢性が求められるようなクリティカルな利用経験は無い

クラウド

※2020年1月時点

名称業務経験レベル感
AWS5年Webアプリ開発に必要な一通りは運用経験有り。サーバーレスとかはあんまり
GCP2年BigQuery とか Vision API とかの単機能をたまに利用する程度

職務要約

 
 
 
 
 

挙式支援サービスiOS開発

株式会社R

2019年4月 – Present
開発メンバーとして参加
 
 
 
 
 

マッチングサービス開発

株式会社R

2018年4月 – 2019年4月
Spring Boot 製。スクラムマスター。2018年9月以降はテックリードとして技術課題の解消に注力
 
 
 
 
 

学生向け学習時間管理支援システムバックエンド開発

株式会社R

2018年1月 – 2018年4月
Ruby on Rails 製。開発メンバーとして参加。
 
 
 
 
 

BtoB動画マニュアル管理ツール開発

株式会社S

2017年10月 – Present
Ruby on Rails 製。個人事業主として開発全般の業務委託を請け負う
 
 
 
 
 

個人事業主として開業

YAGNI ワーク

2017年10月 – Present
知り合いから声を掛けられて副業を開始。 その頃ちょうど .work ドメインが安売りされていて yagni.work というドメインを安く取れたので、 屋号を YAGNI ワークとした。
 
 
 
 
 

レシピ閲覧サイトバックエンド開発

株式会社R

2015年9月 – Present
Ruby on Rails 製。開発メンバーとして参加。2017年4月以降はiOS、Android アプリのエンハンス開発も担当
 
 
 
 
 

PUSH 通知・システム間連携システム課

株式会社D

2015年2月 – 2015年9月
課長に就任。メンバーのマネジメントを行なう
 
 
 
 
 

システム間連携システム開発

株式会社D

2014年11月 – 2015年9月
Play! Scala 製。プロジェクトリーダーとして参加
 
 
 
 
 

PUSH 通知システム開発

株式会社D

2013年12月 – 2015年9月
Play! Scala 製。プロジェクトリーダーとして参加
 
 
 
 
 

動画投稿・変換システム開発

株式会社D

2011年11月 – 2013年12月
PHP (ノンフレームワーク) 製。メンバーとして参加し、2012年5月以降は開発リーダーを務める
 
 
 
 
 

ニュースサイト開発

株式会社D

2010年8月 – 2011年11月
PHP (独自フレームワーク) 製。メンバーとして参加
 
 
 
 
 

テレビ実況システムバックエンド開発

株式会社D

2010年7月 – 2010年8月
PHP (独自フレームワーク) 製。メンバーとして参加
 
 
 
 
 

入社

株式会社D

2010年4月 – 2010年7月
PHPによるシステム開発研修を受講

資格など

Certified ScrumMaster®

更新はしてないです…
See certificate

トピック

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

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

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 を活用する好事例だった。

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

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

持ちネタとして活用出来ている。

(今は社内限な感じになってしまっているので、無難な内容にしてそのうち一般公開したい)