Java

Tommy + the language of Java

Home Capabilities Languages Java

Java Examples

Below are some of my projects involving Java, grouped by company. Click to read more about the relevant projects and chat with me to follow up on any topic you'd like to hear more about!
Appen AI logo

Appen AI

Formerly Figure Eight
Project: ML Platform Enhancements

I ran Appen's ML Platform, which was used by FAANG and many other startups and enterprises to automate and scale their ML practices, including running both supervised and unsupervised workloads, as well as their global annotation workforce which enabled customers to leverage our crowdsourced professionals to elastically obtain labelling and quality checking services for text, voice, image, video and LIDAR annotation, training and validation use cases.

I reported to the CTO and directed multiple full stack teams each with their own tech leads and range of engineering skills to do both regular maintenance and product enhancements using technologies like Sagemaker, React, K8s (Kubernetes), Spark, Kafka, Airflow, Spring(Boot), Ruby, Python, Java, Typescript and SQL.

Maintenance included regular updates to infrastructure, bug fixes, and performance optimizations across the platform. We migrated more and more services to K8s (Kubernetes) and Ambassador as our API gateway, where we could consolidate cross-cutting logic like auth and versioning.

Enhancements included changes to simplify the UX, kill redundant or unused features, add measurement to inform our choices, and larger efforts like Enterprise OAuth.

Read more...
Project: Enterprise OAuth

There were 4 different websites in different technologies, acquired from different companies, and some APIs, that all needed to be unified in terms of sign up, sign in, and sign out, given their existing state of each having separate user stores, including 3rd party vendor users who logged in with vendors and then authed to us with a hidden token.

It was a stalled project, so I started with missing requirements, incomplete designs and misleading progress indicators and focused other leaders and teams on delivery thru tested working software, focusing on tested user stories and on-the-ground learnings as units of progress, instead of large, outdated PRDs waterfall style.

Contributed directly in React / Typescript, Nodejs / express, Ruby on Rails and custom gems, OAuth configuration, Java Spring with runtime loaded SPI implementations from across separate applications domains.

There was a complex architecture at play and teams that did not know each other and weren't working as a single unit, so the landscape was difficult and rife with demoralized team members.

Although my team was to play but one part in many on the project, I realized quickly that there was no single leader or coherent plan, and so there was lots of blame game and treading water.

With permission from our VP of Engineering, I took charge of the teams and worked with product to firm up requirements, and replace the initially conceived solution architecture, which would not have worked and was created in a bit of a vacuum, into one that would actually work, by digging in and running all the services and web apps myself and understanding the multiple data stores and existing auth mechanisms including auth via 3rd party vendors to some parts of the system.

I delivered the project within 5 months and for my efforts was rewarded not long after with a promotion.

Read more...

Key Results

  • Ran ML platform to support 100K+ annotation jobs daily across FAANG clients
  • Unified authentication across 4 legacy systems reducing login friction by 85%
  • Reduced platform infrastructure costs by 40% through Kubernetes optimization and resource consolidation

Full Details

MapR Technologies logo

MapR Technologies

Big Data / Hadoop Distributor
Project: DevOps Portal + CICD

A portal bringing together version control, automated test definitions and statuses, quality metrics, jira tickets, CICD jobs, and supportinginfrastructure definitions and status into a single place to aid in release management and devops practices.

Behind the scenes, pipelines made with K8s (Kubernetes), Mesos, Github and Jenkins automatically provisioned environments, deployed our software and ran extensive tests on it, including complex multi-cloud platform scale tests across Google Cloud and AWS as well as on prem with bare metal and Open Stack

Read more...

Key Results

  • Unified 5 disparate DevOps tools into single portal reducing context switching by 80%
  • Automated multi-cloud testing across GCP, AWS, and on-prem reducing test setup time by 80%

Full Details

Lookout logo

Lookout

Mobile Security
Project: Test Automation

With my experience at Progressive Insurance where I had learned to build my own code instrumentor for dynamic analysis, which I used alongside existing static analysis tools to test and measure deployed systems, I had a rich understanding of how to analyze runtimes of mobile apps, which was part of Lookout's mobile security backend special sauce.

With this mutual interest in mind I joined and helped create and standardize automated test suites as an engineer, developing libraries, frameworks and declarative jobs that constituted the types of tests needed to assure correctness and security of our own software offerings.

Read more...

Key Results

  • Authored scale test automation exercising 4 integrated stacks identifying 20+ scaling bottlenecks
  • Measured and increased code coverage between 20% and 50% for various repos within 9 months

Full Details

Explorys logo

Explorys

IBM Watson Health

Lead Engineer

2012 - 2014

Project: New Admin Dashboard

New Admin Dashboard - Architected and implemented green field admin dashboard, worked with junior devs and leadership to bring about in the requested stack: Bootstrap / JQuery / Ruby / Java / MySQL / LDAP. Users used Admin Dashboard to administer Organization, Role, and other management aspects of the Explorys EPM Suite.

Dependency Injection Framework - To enable high testability, all components required dependencies to be passed in, and so eliminating factory boilerplate without adopting a complex DI system was desirable. Wrote and shared a simple runtime-reflection based DI framework with multiple projects / teams

Read more...
Project: Temporal Sequencing

Temporal Sequencing - Architected, implemented and tested an enhancement to our proprietary Explorys MDL (measure definition language), which gave authors who use that language the ability to express dynamic temporal conditions as part of the predicate calculus that constitutes the measure being defined in a given MDL instance.

The solution runs in Hadoop as a mapper, where the MDL is parsed and a corresponding object graph is constructed, and then control is passed to the encapsulating object of that graph, resulting in a determination about the level of adherence of the given patient to the measure defined by the MDL which is then emitted for further processing.

The challenge here was authoring the solution without knowing the history or complexity of the existing system. The challenge was overcome by applying SOLID principles and TDD principles to express assumptions about the existing external system as interfaces, getting the solution to work in a test sandbox as a standalone application, and then once that was done, writing adapters between the actual system and the interfaces that were formerly mocked out for testing. The team which owned the system seemed impressed by and curious about the solution and the new patterns / tests involved.

By taking what had been considered a relatively tough problem, and, as an engineer with no history in the measure engine, applying an approach that allowed a fully tested solution to ultimately be plugged into the larger system very cleanly, as an implementation of a clear set of interfaces along the border of that system, I exposed the team to new patterns and solution design approaches that I hoped the team might take forward and build on as the system continued to evolve.

Example Use Case: Doctor wants measure of % of his/her patients having Hospitalization with outcome class X, where either 1 week later, Rehospitalization occurs or within 2 weeks, unexpected Office Appointment occurs. Doctor expresses using natural language oriented temporal sequencing expressions within model definition language.

Read more...

Key Results

  • Delivered new admin dashboard supporting 10+ healthcare organizations
  • Enhanced MDL enabling complex temporal healthcare measure definitions
  • Reduced user management operations time by 65% with streamlined UI

Full Details

Tommy Sullivan - AI + Full Stack Software Builder + Leader