Roki

Software Engineer

Profile photo
  • Male
  • Tokyo, JP

私について

CyberAgent,Inc. でサーバサイドエンジニアをしつつ,その傍らソフトウェアの開発/公開,技術情報や入門記事の執筆,勉強会での発表等をしています。

経歴
  • サーバサイドエンジニア

    株式会社サイバーエージェント グループIT推進本部全社データ技術局データインテグレーションチーム

    2024/08~

    2024/07,KLab株式会社を退職,同年8月にて株式会社サイバーエージェントへ入社。

  • サーバ運用パイプラインエンジニア

    KLab株式会社 KLabGames事業本部/GHES Admin Group

    2023/05~2024/07

    同様の案件にて,Jenkinsを用いたアプリビルドのパイプラインやCI/CD,社内ツールの開発,改修,保守を担当するテックメンバーとして従事。GHESの管理や新卒向け講義の講師を兼務しつつ,案件内へのGitHub Actions導入,実用や森ビル計画停電への対応など様々なレイヤでの業務を勤めた。技術同人誌の執筆など,情報発信にも努めた。

  • サーバ運用エンジニア

    KLab株式会社 KLabGames事業本部/GHES Admin Group

    2021/08~2023/04

    同様の案件にて,サーバ運用,保守に関するテックメンバ,サブリーダーとして従事。特に,メンテナンス手順書については最終レビュアーを担当,実オペレーションから指揮統御を行った。また,インシデントや案件内外からのゲームデータ調査要望へ対応し,社内オンプレサーバ(Debian Linux)+MySQL(水平分割)やログ調査用途にAWS Athena,BigQuery,Grafana等を用いた。特に,毎年開催のゲーム内世界No.1プレイヤーを決める大会施策においては,サーバ運用の代表を務めた。さらに,メンテナンス作業を効率化するソフトウェアの開発(使用言語:Go)や社内への共有を行い,他案件での使用要望を支援するなど社内全体への浸透,横断的な活動に務めた。その他,21年からのバージョン管理研修の講師に加え,基本的なRDBやKVSの概念,具体的な使い方を教授する新卒向けデータベース演習の講師を務めた。

  • サーバサイドエンジニア

    KLab株式会社 KLabGames事業本部/GHES Admin Group

    2020/08~2021/07

    全世界累計5000万DL超,某サッカー漫画IPの大規模スマートフォンサッカーシミュレーションゲームにおけるサーバサイドエンジニアとして従事。ゲームや社内CMSの新規施策に準じた新規開発,改修を担当。Python3+Flask+uWSGI+Nginx+MySQL+Redisを使用し,チームでの開発を行った。また,GitHub Enterprise Admin Groupに案件と兼務で所属,GitHub Enterpriseの管理,更新,保守,サポート対応を行った。また,Git等バージョン管理システムの基本的な使い方を教授するバージョン管理研修の講師を務め,社内外への情報発信を行った(e.g.Hakyllで個人ウェブページを作りましたので全体概要を紹介)。

  • アプリエンジニア(プロトタイプ)

    KLab株式会社

    2020/04~2020/07

    2020/04,KLab株式会社へ新卒入社。新卒社員が複数チームに分かれ,ゲームのプロトタイプを制作するプロトタイプコンテストではパズルゲーム『BOOM!!!』をチーム開発。C#+Unity+XCode+Android Studioを使い,アプリ全体に適用されるインタフェース開発,3DCGモデルとの連携やiOS,Androidバイナリのビルドから同社開発のEMLauncherへのアップロードを一括で行うパイプラインの開発を行った。

  • 学部生

    デジタルハリウッド大学デジタルコミュニケーション学部デジタルコンテンツ学科

    ~2020/03

    卒論では型理論やコンパイラについて研究,Haskellで自作のCコンパイラhtccを開発し,圏論との関係性から関数プログラミングでコンパイラを開発することの優位性について説いた。

スキル

主にHaskell,C++,Python,シェルスクリプトをよく使っています。Haskellは専ら自作ツールの開発に使用しており,本ページの生成にも使われています。C++は速度が必要なときや低レイヤーを触るとき,テンプレートメタプログラミングがしたいときに使います。C++20までは標準化委員会のドラフトなど言語仕様を詳しく追っていました。Pythonは素早くプロトタイプを作りたいときやスクレイピング,numpyを利用したいときに使っています。シェルスクリプトは,普段のそもそもの操作のほとんどをzsh上で行っていることもありますが,定常的に実行したいタスク等で記述することが多いです。エディタは主にvim(nvim)を使用しています。

好きな技術
車輪の再発明

車輪の再発明が好きです。これまでの主な車輪の再発明リスト:

関数プログラミング

関数プログラミングが好きです。一番好きな言語はHaskell。 C++テンプレートを純粋関数型言語だと思っており,一例としてはその機構を使ってコンパイル時 Lazy K インタプリタを作ったりしていました。

C++20まではC++言語仕様書の重箱の隅をつついたり,ドラフト仕様や提案を追っていました。

その他

その他自分自身でよく使う自作の物々:

badge