Eugene Yokota(@eed3si9n)
Scala Tooling
Engineer

Eugene Yokota
Weehawken, NJ (remote preferred)eed3si9n@gmail.com | http://eed3si9n.com/ | https://github.com/eed3si9nㅡ
WorkTwitter
Staff Software Engineer, Build/Bazel TeamNov 2021 - Present, Remote

Senior Software Engineer, Build/Bazel Team Aug 2020 - Nov 2021, Remote

●

●
●
●
●
●

As a member of Build/Bazel team, designed and implemented Bazel
migration of the largest Scala code base, including assisting otherengineers and diagnosing various performance issues.
Led the work stream to support external libraries for Twitter's Sourcemonorepo, including counting the multiverses, maintainingbazel-multiversion, and customizing rules_scala phases.
Implemented Bazel support for the internal remote cache server.
Implemented "bazel bundle" command that generates a deployment
image compatible with the existing deployment pipeline.
Implemented Bazel support for Scalding data processing framework.
Built an internal "Bazel at Twitter" documentation page with tutorials, anddeveloped "Bazel at Twitter" course .

Lightbend
Principal Engineer, Scala TeamMar 2019 - Apr 2020, Remote

Tech Lead, Tooling TeamJun 2016 - Mar 2019, Remote

Senior Engineer, Tooling TeamMar 2014 - Jun 2016, Remote●●●●As Tech Lead of Tooling team, maintained, developed, and commercially
supported sbt, an open source build tool used by 93% of the Scalacommunity.
Designed and implemented the transition to sbt 1.x series, including thesplit of Scala incremental compiler Zinc, sbt new command, unified slash
syntax, super shell, and adoption of Coursier as the dependency resolution
backend.
Proposed and led Central Park initiative to create Kubernetes sandbox
environment for automated internal integration testing in OpenShiftenvironment.
As a Principal Engineer in Scala Team, implemented virtualization ofincremental compiler inputs for large-scale compilation and build caching.

Burgiss
Software Developer●●●May 2003 - Mar 2014, Hoboken, NJ + Remote

Designed and implemented role-based access control system for private
equity investment software Private i.
Designed and implemented a data import tool with a custom querylanguage.
Led adoption of continuous integrations, internal operation systems,
centralized logging and other infrastructure services.

ㅡOpen Sourcesbt
https://www.scala-sbt.org/ an interactive build tool for Scala.

●Herding Cats●

http://eed3si9n.com/herding-cats/ an online tutorial of purely
functional programming using Typelevel Cats.

ScalaContributed :kind command to REPL (#2340, #5916), deprecatedany2stringadd (#6315), procedure syntax (#6325) etc, made extractor
pattern null safe (#6485) and implemented typo correction suggestions(#6711).

●sbt-assembly●

https://github.com/sbt/sbt-assembly an sbt plugin to repackage
deployment image to a single JAR.

sbt-buildinfo●

https://github.com/sbt/sbt-buildinfo a code generation sbt plugin to accessbuild information from the app.

Contraband●https://www.scala-sbt.org/contraband/ a GraphQL-based description
language for datatypes to automatic JSON binding derivation.

sjson-new●

http://eed3si9n.com/sjson-new a typeclass-based JSON codec that is
independent of AST backend.

scopt
https://github.com/scopt/scopt a command-line parsing library for Scala.

●treehugger.scala
http://eed3si9n.com/treehugger/ a library to generate Scala code
programmatically.

●

scalaxb
http://scalaxb.org/ an XML/SOAP data-binding tool for Scala.

●foundweekends
http://www.foundweekends.org/ a volunteer organization to maintain
Giter8, Pamflet, and Conscript created by the ny-scala community.

●sbt-doge●

https://github.com/sbt/sbt-doge a prototype implementation of crossbuilding for sbt 0.13. sbt-doge became the cross building in sbt 1.x.

sbt-projectmatrix●

https://github.com/sbt/sbt-projectmatrix a prototype implementation

of cross building for sbt 1.x using spatial representation.

ㅡReferences

Talks
Resolving Twitter's 3rdparty/jvm with bazel-multiversion●Bazelcon 2021

Resolving Twitter's 3rdparty/jvm with bazel-multiversion

Analysis of Zinc●
●Nescala 2020
ScalaSphere 2019

ScalaSphere: Analysis of Zinc by Eugene Yokota

sbt core concepts●

Scala Days Lausanne 2019●

ScalaMatsuri 2019sbt core concepts - Eugene Yokota

sbt コア・コンセプト/ sbt core concepts by Eugene Yokota

sbt 1
●

Scala Days Berlin 2018●

Scala Days New York 2018sbt 1 by Dale Wijnand and Eugene Yokota
sbt 1 by Dale Wijnand and Eugene Yokota

The state of sbt 0.13, sbt server, and sbt 1.0●

ScalaSphere 2017

ScalaSphere: The state of sbt 1.0 and sbt server

The road to sbt 1.0 is paved with server●

Scala Days Amsterdam 2016

The road to sbt 1.0 is paved with server

Learning Scalaz●Nescala 2014

Learning Scalaz

scalaxb●Scalathon 2011 Scalathon 2011: Eugene Yokota on Vimeoㅡ
History

Stevens Institute of Technology/ MS, Computer Science

2006 - 2009, Hoboken, NJ●●●

Implemented handwriting recognition algorithm using Java based on
Markov Chain for Machine Learning course.
Implemented basic TCP/IP stack using C++ for TCP/IP course.
Implemented virtual robots that play tag in Simbad simulator for
Autonomous Mobile Robots course.

Stevens Institute of Technology/ Research Student, Visualization Lab

January 2003 - May 2003, Hoboken, NJ

Stevens Institute of Technology
1998 - 2004, Hoboken, NJ/ BS, Computer Science