最終更新日: 2024/09/18

基本情報

名前: 阿部 耕太郎 (Kotaro Abe, abekoh)

所在地: 東京都

SNS等へのリンク: abekoh.dev

職務経歴

2021/11- 株式会社MICIN

2018/04-2021/10 ヤフー株式会社 (現: LINEヤフー株式会社)

  • 広告審査システムのサーバサイドエンジニア
    • 広告審査システムの開発・運用・保守
    • Java, Spring Boot, Oracle Database, Kubernetes, Google Cloud, etc…
    • デイリー数百万リクエストされる広告の審査を、分散サービスを構築して処理
    • Apache Kafka, Apache Pulsarを多く活用したイベント駆動サービスを長らく保守
    • 秒間数万リクエストを数ミリ秒以内に返却するシステムの構築
    • 社内オンプレとGoogle Cloudとの連携
    • OJT/新卒メンバー育成(OJT6名、新卒4名)

学歴

2016/04-2018/03 九州大学大学院システム情報科学府情報知能工学専攻

2012/04-2016/03 九州大学工学部電気情報工学科

  • 学部2年以降は情報工学を専攻
  • 学部4年より上記の研究室に所属

社外活動

登壇

記事 / スライド

反響が大きかったもの・特に力いれたものをピックアップ

OSS

スキル

技術

やってきたこと・考え方・希望など

  • 静的型付け言語を中心に扱いたい
    • Go, TypeScript, Javaが業務経験として長い
    • Rust, Kotlinなども興味あり
    • 長く続くプロジェクトであれば必ずメンバー入れ替え・忘却・大規模リファクタリングが発生する。そのとき静的型付けでないと余計な負担を強いられる。それを防ぐためにも最初から型はきっちり対応してきたい
  • Go
    • 業務で3年、趣味含めると5年ほど
    • 最近では一番手慣れている。サーバからワンタイムのスクリプトまで何でもGoで書いてしまう
    • Go関連のコミュニティにもよく参加している
    • 平易な文法だからこそ、平易な書き方で完結させるのが正しい姿という考えで最近はコーディングしている
  • Java
    • Spring Bootを使った実務経験3年
    • IntelliJ IDEAと組み合わせて効率よくクラスを構築していくのが得意
    • Goとは異なり、それぞれのクラスの役割がどうなるべきかをしっかり考えて実装する
    • Java 11より後はあまりキャッチアップできていない
  • アーキテクチャ・設計観
    • モデリングは、エンジニアだけではなくステークホルダーをなるだけ集めて全員で同じ方向を向いて行うようにしたい。とにかく図に落として議論したい
    • プロダクトのあるべき姿に向かって、モノリスからマイクロサービスまで順応に選んだ設計がしたい
  • ドメイン駆動設計
    • ドメイン駆動設計に関するアウトプットを多く行ってきているが、最近は難しく考え過ぎずでいいじゃんというスタンス。特に実装に関しては
    • Java, ないしクラス指向に縛られたプラクティスが多いと見ている。GoやTypeScriptを扱う場合はそれらに惑わされないような書き方にすべき
  • データベース
    • RDBはPostgreSQL, Oracle Databaseの経験が長い
    • ORMを使わずSQLやそれに近いものを書くスタイルが好き。Goだとsqlc、JavaだとMyBatisをよく使う
    • その他NoSQL系はRedis, Cassandra, DynamoDB, Firestoreを少々
  • テスト
    • 自動テストはかなり重視している
    • ユニットテスト、統合テスト、E2Eテストそれぞれの既存のプロジェクトに導入・文化として浸透させた経験あり
    • レイヤーごとにテストが果たすべき役割を定義・その役割に過不足なく記述できるようにしたい
  • API
    • REST API, GraphQL経験あり
    • スキーマ→コード、コード→スキーマと生成する仕組みは必ず取り入れたい
    • GraphQLとCQRSを組み合わせた開発がコスパよくて最近お気に入り
  • インフラ
    • AWS, Google Cloud, オンプレの経験あり
    • Google Cloudが最も好み。Goとの相性・SDKの完成度・多すぎないのプロダクト群など
    • Terraform, AnsibleなどIaCもよく扱う
  • Webフロントエンド
    • Reactを中心に一通り書ける
    • 最先端的なところは追いきれていない、詳しい人にリード任せつつ後追いする形

技術以外

  • ドキュメンテーションが得意
    • 図表を使って直感に訴えかけるのが好き
  • 1on1を通じてチームメンバーとの関係を構築していくのが好き
  • 部署横断的な取り組みのファシリテーションも積極的に行っていくのが好き
  • 公開記事は量より質を意識して書く。ターゲットに刺さるように何度も推敲する
    • 個人ブログのほうは雑に書くこともあるが、Zennの記事は質を上げることを意識している

読書

資格

  • 応用情報技術者 (2017/10合格)
  • Google Cloud Professional Cloud Architect (2021/07合格、2023/06失効)

作業環境

  • OSはWindows,Mac,Linuxどれでも。WindowsだとWSL2を活用したい
  • エディタはJetBrains IDEs、NeoVimが好き
  • 適度に対面でコミュニケーション取りながらチーム構築していくのが好き。リモートが基本の現場であってもたまに対面でラフに話す場がほしい。難しいモデリングや設計を行っていくときも物理ホワイトボードを囲んで決めていきたい