Elliot Barlas
Principal Software Engineer at GoTo
Petaluma, CA
elliotbarlas@gmail.com
www.barlasgarden.com
Summary
I'm a generalist software engineer specializing in backend Java web applications deployed in AWS Cloud
with an emphasis on customer identity, authentication, and administration.
I'm a thoughtful and deliberate developer seeking simple and scalable solutions
to problems. I have a record of stewarding and evolving software systems over the course of many years
while maintaining high quality code and employing modern techniques. I am responsible for the full spectrum of
software lifecycle stages, from specification and design to deployment, monitoring, maintenance, and database
administration. I empower my colleagues by providing tools, libraries, and frameworks and by cultivating an atmosphere of growth,
learning, and collaboration. I enjoy a range of programming activities including C++ game programming,
Raspberry Pi actuator programming, mobile development, and server development. I also enjoy teaching computer
programming topics to newcomers as a volunteer at the local CoderDojo chapter and at Santa Rosa Junior College.
Skills
The following technologies represent my current proficiencies, though my curiosity extends way beyond items listed.
The asterisk (*) denotes a modest level of experience.
- Languages: Java, Python, C++, Go, Groovy*, JavaScript*, Clojure*
- Databases: Oracle, MySQL, Amazon Aurora MySQL, DynamoDB, SQLite, Cassandra, Redis*, Elasticsearch*
- AWS: DynamoDB, S3, SNS, SQS, EC2, ECS, ELB, EBS, ASG, RDS, KMS, Lambda, Kinesis, CloudFront, CloudFormation, CloudWatch, Route53
- Protocols: SCIM 1.1, SCIM 2.0, OAuth 2.0, SAML 2.0, WebAuthn
- Tools/Frameworks: Spring, FastAPI, Docker, Jupyter Notebook/Hub, Matplotlib, Sphinx, Jira, Confluence, Jenkins, Splunk, Sumo Logic, Git, GitHub, BitBucket, CMake, Maven, Gradle, Poetry
Experience
Citrix, LogMeIn, GoTo
In February 2017, the GoTo online services division within Citrix spun off and merged with LogMeIn.
In February 2022, LogMeIn was rebranded as GoTo.
Positions Held
July 2007 - Present
- Principal Software Engineer, GoTo - February 2022 - Present
- Principal Software Engineer, LogMeIn - February 2017 - February 2022
- Principal Software Engineer, Citrix - April 2015 - February 2017
- Staff Software Engineer, Citrix - April 2011 - April 2015
- Senior Software Engineer, Citrix - January 2010 - April 2011
- Software Engineer, Citrix - July 2007 - December 2009
Contributions
The sample of active projects below reflects the range of my responsibilities and contributions.
As the lead engineer for the projects below, I am responsible for design, implementation, testing,
deployment, maintenance, database administration, monitoring, analytics, alerting, escalations, documentation,
and client libraries.
- Identity platform team tech lead
- Establish standard coding conventions and testing methodologies
- Govern AWS system architecture
- Create tools and libraries for developers
- Design and implement Jenkins build and deployment pipelines
- Organize study groups for learning new topics
- Identify technical conferences and community events
- Customer identity system
- Distributed web application deployed in AWS Cloud backed by Amazon Aurora MySQL database
- On critical path for nearly all customer interactions with products
- Spans 3 AWS regions
- Billions of database records stored
- Single-digit millisecond processing times
- 10s of thousands of API requests per second
- 100s of thousands of database queries per second
- Detailed in AWS blog post I authored
- Message queuing system
- Distributed web application that provides remote network queue capability
- Implemented from scratch, using custom append-only journal-based persistence
- Built upon Amazon EBS, EC2, ECS, NLB
- TBs of data ingested per day
- Billions of discrete messages ingested per day
- 10s of thousands of API requests per second
- 100s of thousands of journal ops per second
- GDPR compliance data pipeline
- Mesh of interconnected AWS Lambda Functions and databases that implement GDPR compliance
- Event driven data pipeline using DynamoDB streams and Kinesis streams
- Sends events to internal product systems for purging product-specific data
- Notifies customers directly about impending identity records removal
- Purges identity records for inactive customers
- Social graph search system
- Users and relationships organized into a graph modelled in Apache Cassandra database
- Custom indexes, described with scripting language, define proximity in terms of relationships
- Tailored for fast typeahead search
- Event driven implementation with asynchronous programming model
- Powers GoToMeeting contact search
Education
Masters of Science (M.S.), Computer Science
University of California, Santa Barbara
2006-2007
Bachelors of Science (B.S.), Computer Science
University of California, Santa Barbara
2002-2006
Projects
I've kept up a steady stream of side projects over the last few years in an effort to explore new
areas such as Raspberry Pi actuator programming, Android development, and C++ game programming.
More details are available in the associated GitHub repositories.
- One Billion Row Challenge
- Participated in 1BRC programming challenge hosted by Gunnar Morling
- Finished 20th overall in the challenge
- Briefly held the #1 spot early in the competition
- Clean-room implementation with continuous profiling and improvement cycles
- Interviewed by Olimpiu Pop for InfoQ article
- Microhttp
- Fast, scalable, zero-dependency, event-driven Java web server
- 550 stars, 57 forks
- Available in Maven Central repo with group and artifact ID
microhttp
- Included in industry standard TechEmpower Web Framework Benchmarks
- 1.8 million requests per second in latest TE plaintext benchmark continuous results
- 1.1 million requests per second in latest TE JSON benchmark continuous results
- 259 thousand requests per second in latest TE single DB query benchmark continuous results
- Trippin on Tubs
- 2D side-scrolling endless-runner platformer game implemented in C++
- Targets iOS and Android mobile platforms
- CMake build system
- Long-term indie game dev project spanning 100s of commits and multiple years
- All components, including physics engine, developed from scratch
- Won Game Dev Field Guide project-of-the-year on episode 23, December 2021
- Featured in Argus Courier newspaper story
- Project Loom C5M
- Achieved 5 million persistent connections between a pair of servers with Project Loom virtual threads
- 362 stars, 18 forks
- #1 rank on Hacker News on 4-30-2022, with 309 points and 145 comments
- Game of Life CSP
- Game of Life implemented in Java using virtual threads and communicating sequential processes (CSP)
- 139 stars, 41 forks
- Featured on Inside Java podcast episode 26
- Earth Moon Model
- Digital art project that displays orbital and rotational positions of Earth and Moon in a physical model
- Implemented in Python and runs on Raspberry Pi Zero W
- Uses stepper motors, hall effect sensors, and magnets
- 3D model freely available in TinkerCAD
- YouTube demo video demonstrates capabilities
- California Buoys and Tides
- Android application in Google Play Store for tracking NOAA buoy observations and tide predictions
- Implemented in Java using core Android SDK
- Petaluma Pulse
- Android application in Google Play Store that displays information about Petaluma with an interactive, animated scene
- Implemented in Java using core Android SDK
Teaching
Volunteer Tutoring
Santa Rosa Junior College
December 2019 - Present
Over the course of several years, I've partnered with instructor David Harden as a volunteer tutor
for the foundational CS10ABC series. The three-course set is the primary requirement
for a Computer Science degree at SRJC. It introduces computer programming concepts and methodologies
as well as data structures and algorithms with C++.
- CS10C - Spring 2025
- CS10C - Fall 2024
- CS10C - Spring 2023
- CS10C - Fall 2022
- CS10A - Summer 2022
- CS10C - Spring 2022
- CS10C - Fall 2021
- CS10A - Summer 2021
- CS10C - Spring 2021
- CS10C - Fall 2020
- CS10A, CS10B, CS10C - Spring 2020
Coder Dojo
Petaluma Public Library
January 2017 - August 2018
The local chapter of CoderDojo met weekly for an hour at the Petaluma Public Library. I was a mentor
and instructor for students learning to code with languages including Scratch, Python, and Javascript
and with platforms such as Khan Academy and CodeCombat.
I programmed multiple demonstrative Scratch projects, including a full implementation of Minesweeper!
Santa Barbara Java User Group
Santa Barbara
June 2014 - June 2018
I organized the Java User Group in Santa Barbara using the Meetup.com platform. Meetings were roughly quarterly
and covered topics ranging from Java release news to vector graphics programming on Android to WebSocket programming
with Java EE. I arranged speakers, scheduled events, ordered meals, and cultivated a welcoming
atmosphere for attendees of all backgrounds.
Publications
AWS Blog
December 2020
How LogMeIn migrated a billion records online from Oracle to Amazon Aurora and achieved sub-millisecond response time
Modernizing with AWS Blog
Elliot Barlas
MILCOM 2008
November 2008
A Satellite Mobility Model for Qualnet Network Simulations
2008 IEEE Military Communications Conference (MILCOM 2008)
Daniel Havey, Elliot Barlas, Roman Chertov, Kevin Almeroth, Elizabeth Belding
Computer Science Department, University of California Santa Barbara
ASE 2007
September 2007
NetStub: A Framework for Verification of Distributed Java Applications
22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007)
Elliot Barlas, Tevfik Bultan
Computer Science Department, University of California Santa Barbara