Tomoya Chiba

ウォンテッドリー株式会社 / Software Engineer

Tomoya Chiba

ウォンテッドリー株式会社 / Software Engineer

練馬区

Tomoya Chiba

ウォンテッドリー株式会社 / Software Engineer

Why not create your own Wantedly profile?

Showcase yourself and your experiences to bring your professional story to life.

Join

現在は Wantedly の Infra Squad で Software Engineer として、色々な技術をいい感じに使えるようにするおしごとをしています。TOIL を倒すのが好きです。

Apr 2019
-
Present

Software Engineer
Present

Apr 2019 -

Present

インフラ領域の Software Engineer として、社内の開発基盤をいい感じにして爆速で開発できるように取り組んでいます。 例えば、社内で使われている kubernetes クラスタのメンテナンス、社内のサービスの安定化のための活動(インフラの構築、監視などの設定)、社内の共通ライブラリや共通のツールをいい感じにしたり、時には Rails バージョンアップなど Rails 経験を生かしたバックエンドのメンテナンスのお手伝いなどを行っています。

Apr 2019 -

Present

インフラ領域の Software Engineer として、社内の開発基盤をいい感じにして爆速で開発できるように取り組んでいます。 例えば、社内で使われている kubernetes クラスタのメンテナンス、社内のサービスの安定化のための活動(インフラの構築、監視などの設定)、社内の共通ライブラリや共通のツールをいい感じにしたり、時には Rails バージョンアップなど Rails 経験を生かしたバックエンドのメンテナンスのお手伝いなどを行っています。

Pub/Sub アプリケーションを爆速でトライできるようにする

社内では Google Cloud Pub/Sub を利用した、 Event driven パターンでのアプリケーション実装を推進しています。 今後これを加速する上でネックになっているのが、Pub/Sub を使った Ruby でのアプリケーションの開発の敷居が高いことでした。 これを改善するために、ジェネレータなどで初期の開発体験を大きく改善して、プロトタイピングが高速で行えるように取り組みを行いました。 (成果は社内ライブラリとして実装したのですが、後々 public なライブラリとして公開する予定です)

Dec 2020 - Apr 2021

k8s update の省力化

Wantedly では k8s (kubernetes) をサービスのプラットフォームとして利用しているのですが、 k8s を利用し続けるには、定期的な version の update を行い、セキュリティの問題の修正や、プラットフォーム自体の進化などを取り入れていく必要があります。 ただ、 Wantedly では、長年の運用により複雑化した update の検証や実作業、それによる update 作業の工数の増大、それらの課題が中々消化できないなど、作業や改善サイクルに関する様々な問題がありました。 なので、まずは、 k8s update での課題を GitHub Project に蓄積し、チームで少しづつ解決出来るようにする体制を作りました。そして実際に可視化した課題として、 update 作業の省力化、検証用環境の構築の簡略化、ツールのインストールの簡略化などを行いました。 特に update 作業については長年の蓄積で作業のステップ数が非常に多く、改善の工数もそれなりに掛かるため、一度に全てを改善するのではなく、作業ステップの洗い出しとその背景の分析、ボトルネックの発見、それらの自動化などの改善をタスクとして切り出す、など、分析と細かいタスクの分解にかなり力を入れて行いました。 これらの工夫により、これまであまり進められなかった改善が進むようになり、プロジェクト終了後も、徐々に改善が進んで、作業の工数がかなり少なくなってきています。

Oct 2020 - Nov 2020

Wantedly の Rails 6 update

Wantedly 開発チームのメンバーとともに、 Wantedly の Rails 6 への update を行った。 多数の deprecated な機能や設定のリストアップと update, ライブラリの update, 過去の経緯で独自にやっていた部分を Rails way に寄せるなど、 update のための作業、将来的に update しやすくするための改善を多数行った。 また、Wantedly では独自に複数の Database にアクセスする仕組みを入れていたが、Rails 6 で公式に導入された複数 DB の機能を利用する形で、仕組みのリプレイスを行った。 これにより、独自実装の複雑さを減らしたのと、Rails が提供するリードレプリカへの接続の柔軟な切り替えが行えるようになり、特定の DB 負荷が高い処理を、開発者フレンドリーな方法でコードレベル、ジョブレベルで切り替えが出来、サービスがより安定するようになった。

Mar 2020

使いやすいコンテナログ検索システムの構築 (Loki 導入)

アプリケーション開発や、各種ミドルウェアのデバッグ等で、標準出力やエラー出力のログを見るというのは有力な選択肢ですが、 Wantedly ではそれらを検索する仕組みが整っておらず、動いているコンテナのログを見るのが開発者にとって難しいという問題がありました。また、Wantedly では大量のコンテナが稼働していて、ログの量も膨大で、コスト的にも選択肢は限られていました。 そこで、当時は新鋭の OSS であった Grafana Loki (https://grafana.com/oss/loki/) の社内への導入をサイドプロジェクト的に行いました。 使いやすい検索や絞り込みの UI を備えていることから、社内のエンジニアに色々な用途で使われるようになりました。 導入初期はバグ等もありましたが、システムも複雑でなく、メンテナンスも容易かつ安価なので、導入以降はリーズナブルな手のかからない奴として社内で活躍しています。

Nov 2019

Feb 2021
-
Present

Software Engineer (業務委託)
Present

Feb 2021 -

Present

Qiita Team の開発のお手伝いをしています。

Software Engineer (業務委託)

Feb 2021 -

Present

Qiita Team の開発のお手伝いをしています。

Apr 2017
-
Mar 2019

Software Engineer

Apr 2017 - Mar 2019

大学在学中の3年間をアルバイトとして、卒業後は正社員としてIncrementsに関わってきました。Qiita, Qiita:Team の開発の他にも色々手広くやっていて、Slack通知用の記事フォーマッターの開発、GraphQLでの内部APIの整備、CIやデータ基盤、Terraform環境の改修、Qiitaの完全HTTPS化など、開発面の整備やインフラ整備などもやっていました。

Software Engineer

Apr 2017 - Mar 2019

大学在学中の3年間をアルバイトとして、卒業後は正社員としてIncrementsに関わってきました。Qiita, Qiita:Team の開発の他にも色々手広くやっていて、Slack通知用の記事フォーマッターの開発、GraphQLでの内部APIの整備、CIやデータ基盤、Terraform環境の改修、Qiitaの完全HTTPS化など、開発面の整備やインフラ整備などもやっていました。

QiitaのHTTPS化のために画像プロキシCamoを導入した話 - Qiita

Sept 2017

QiitaをHTTPS化しました - Qiita Blog

Sept 2017

HTML → Slack markup の変換 Gem 開発

Slack 上で Qiita Team の記事を表示する際に、表示を綺麗にするために、HTML から Slack の独自 markup 言語に変換するための Gem を開発しました。

June 2015 - Aug 2015

Nov 2013

Software Engineer(Intern)

Nov 2013

Mar 2017

東京大学大学院(Graduate School, The University of Tokyo)

情報理工学系研究科コンピュータ科学専攻

Mar 2017

関数型プログラムの関数ごとの不変条件の推論方法についての研究

東京大学大学院(Graduate School, The University of Tokyo)

情報理工学系研究科コンピュータ科学専攻

Mar 2017

関数型プログラムの関数ごとの不変条件の推論方法についての研究

Aug 2015
-
Oct 2015

Google Japan

3 months

ソフトウェアエンジニア(Intern)

Aug 2015 - Oct 2015

ソフトウェアエンジニア(Intern)

Aug 2015 - Oct 2015

Mar 2015

東京大学

理学部情報科学科

Mar 2015

東京大学理学部情報科学科 (通称 IS) に所属していました。理学部にいたのですが、座学を色々やるよりもとにかく手を動かすのが好きで、無限に降ってくる課題と戦ったり、課題を元に色々遊んだり、アルバイトをしたり、ひたすらキーボードを打ち込んでいた記憶があります。

東京大学

理学部情報科学科

Mar 2015

東京大学理学部情報科学科 (通称 IS) に所属していました。理学部にいたのですが、座学を色々やるよりもとにかく手を動かすのが好きで、無限に降ってくる課題と戦ったり、課題を元に色々遊んだり、アルバイトをしたり、ひたすらキーボードを打ち込んでいた記憶があります。

FPGA 上で動くCPUの開発実験 (CPU実験)

理学部情報科学科名物の FPGA 上で動く CPU を開発する課題 (https://www.is.s.u-tokyo.ac.jp/isnavi/practice01-01.html) で MIPS っぽい感じのパイプラインCPU の実装を行いました。VHDL を利用して CPU 回路を実装するのですが、専用 IDE の使い勝手がなかなか重かったり、テストコードの記述が冗長になってしまうのが辛く、自前で Ruby でテストコードを記述するための専用ライブラリを自作しながら開発していました。 4人のチームで半年かけて開発して、自分は FPGA 用の CPU 回路の実装を担当していたのですが、最終的に冬休みを丸々開発に宛てて残りのタスクをすべて巻取る、すべてを終わらせる係として動くことになり、チーム開発の難しさを体感することとなりました。

Oct 2013 - Feb 2014

Mar 2012
-
Dec 2012

Intern

Mar 2012 - Dec 2012

Mar 2012 - Dec 2012


Skills and qualities

Ruby

Recommended by 笠井 貴之 and 2 more
3

Splatoon

Recommended by 笠井 貴之 and 2 more
3

OCaml

0

Javascript

0

Git

0

Publications

QiitaのHTTPS化のために画像プロキシCamoを導入した話 - Qiita

Sept 2017

QiitaをHTTPS化しました - Qiita Blog

Sept 2017

Accomplishments/Portfolio

Pub/Sub アプリケーションを爆速でトライできるようにする

Dec 2020 - Apr 2021

k8s update の省力化

Oct 2020 - Nov 2020

Wantedly の Rails 6 update

Mar 2020

使いやすいコンテナログ検索システムの構築 (Loki 導入)

Nov 2019

HTML → Slack markup の変換 Gem 開発

June 2015 - Aug 2015

Show more