Benjamin Berman

Pittsburgh, PA, or Remote

Skills/Tech

Java, Python, Bash, Scala, Ruby, JavaScript, TypeScript, Spring (Spring Boot, Spring WebFlux, Spring MVC, Spring Data JPA, Spring Cloud Stream), microservices, Angular, AngularJS, SQL (PostgreSQL, MySQL, Oracle), NoSQL databases (MongoDB, Redis, Elasticsearch), Gitlab CI/CD, Docker, Kubernetes, Terraform, Ansible, AWS (CCP Certified, EC2, EKS, Batch, MSK, Secrets Manager, Parameter Store, CloudWatch, S3, API Gateway, ELB, CloudFront, Route 53, Cognito, RDS, SQS, Java/Ruby SDKs, CLI), Project Reactor, Kafka, Kafka Streams, Kibana, Grafana, OAuth, JWTs, SSL/TLS, Java EE (Servlets, JSPs, EJBs), REST, SOAP, JSON, XML, YAML, nginx, Tomcat, JBoss, Unix/Linux cli tools (ssh, tmux, vi/vim, curl, gpg, etc.), Gradle, Maven, Ant, JUnit, TestNG, Git, Mercurial, Subversion, Coq, Alloy, Lustre, ESC/Java2, Flyway, Jackson, jEdit plugin development, Swing, Piccolo (library for zoom-able UIs)

Overview

I am a software engineer with a Computer Science Ph.D. and 11+ years in industry, largely in healthcare technology but most recently in finance, working on BNY's digital-assets platform. My dissertation was on experimental user interfaces for math and programming. I built them in Java, which led to backend work, but the goal behind that research — making hard things easy — carried over into an interest in developer experience: alongside Spring Boot microservices, I build tooling that removes bottlenecks and helps keep deployments uneventful.

The same instinct drives my side project, KiDraw (kidraw.net), a keyboard-first diagram editor that has become a proving ground for how far AI-assisted development can be pushed, particularly for rapid prototyping. At the other end of that spectrum, at BNY I use coding agents to understand and safely update a codebase spread over a dozen repositories, the largest more than half a million lines of code. The challenge is making sure the agents have the context they need rather than quietly assuming it, then iterating on review, testing, and the problem statement itself until we know we've solved the problem, not just a problem. In some ways programming is becoming easier, but the bar for software quality is rising.

Work Experience

eNGINE, Pittsburgh, PA
Senior Software Engineer — BNY engagement, June 2025 to Present
  • Extended an asynchronous integration between BNY's Spring Boot/Angular digital-assets platform and its enterprise information warehouse to support financial reporting; implemented and tested local messaging workflows with Apache ActiveMQ Artemis.
    • Flagged the blast-radius risk of enabling reporting across approximately 60 transaction types, partnered with Product to define the initial scope, built AI-assisted end-to-end test coverage, and implemented per-transaction-type configuration to support incremental rollout.
    • Adapted quickly to a major late-stage requirement for authoritative system-of-record identifiers: worked with CIW and Product stakeholders to refocus reporting on completed, fee-bearing blockchain transactions, and extended the Oracle schema to link each off-chain platform record to its on-chain activity.
  • Built an AI-assisted, multi-repository development environment with local service orchestration, end-to-end testing, parallel builds, and Bash/Zsh tab completion; optional local-database support reduced application startup from over two minutes to under 20 seconds, and I presented the environment to other engineers and helped colleagues adopt it.
TeleTracking Technologies Inc, Pittsburgh, PA
Software Engineer III, July 2024 to March 2025
Debugged and fixed hospital logistics software on an event-oriented platform written in Java, C#, and Python.
UPMC Enterprises, Pittsburgh, PA
Senior Software Engineer, February 2022 to April 2024
Contributed to a large-scale medical records aggregation and analysis platform, consisting of a wide range of microservices and web apps. Highlights included:
  • Using reactive streams to improve throughput by more than 3x
  • Debugging our CI/CD pipeline to significantly improve job completion times (e.g. 8x)
M*Modal / 3M, Pittsburgh, PA (3M acquired M*Modal in February, 2019)
Senior Software Engineer, July 2017 to February 2022
Primarily Java+Spring Boot, with heavy usage of supporting technologies, plus leadership (included time as tech lead), architectural, and mentoring activities. The umbrella project was Computer Assisted Provider Documentation (CAPD) Services, a web service connecting a physician-facing GUI with a real-time natural language processor, providing layers for security and feedback customization. Highlights included:
  • Designing and implementing CAPD "Data Services", a Kafka Streams microservices project that processed/aggregated data from ~1000 req/second in real time
    • Worked across teams (main app front-end, reporting app, legacy ETL, and product/sales) to resolve critical ambiguities
  • Adding support for "Encounter-Based Reasoning", which connected CAPD's real-time NLP service with previous analysis of documents for a given patient visit
    • Handled identifier mappings, configuration and credential caching, OAuth, fallback mechanisms, additional API calls for NLP evidence, and improved observability
  • Migrating to AWS
    • Created a library of Terraform and Ansible scripts that allowed our services to be deployed, consistently, across multiple environments
Interactive Brokers Group, Greenwich, CT
Secure Application Developer, February 2015 to July 2017.
Primarily Java EE development, with some PL/SQL (Oracle), and emphasis on encryption and MFA.
The University of Iowa, Iowa City, IA
Research/Teaching Assistant, Instructor, August 2008 to December 2014
  • Taught and developed course material for introductory Java
  • Developed UIs for programming tools and conducted usability studies
    • Collaborated on securing NSF grant CCF-1250306
  • Assisted for various courses, including HCI and Formal Methods

Education

Publications / Presentations

Berman, B. A. and Hourcade, J. P (2014). Keyboard Card Menus: A New Presentation of Non-Standard Shortcuts. Journal of Universal Computer Science, Special Issue on Trending Breakthroughs in Human-Computer Interaction.

Berman, B. A. and Hourcade, J. P (2014). Keyboard Card Menus: Faster Learning of Many Fast Commands. In Proceedings of the XIV International Congress of Human-Computer Interaction (Interaction 2013), in the Spanish Congress of Informatics (CEDI), pages 105-112, Spain, 2013. ISBN 978-84-695-8352-4.

New Coq User Interfaces: Survey and Ideas. Presentation co-authored with Aaron Stump and Juan Pablo Hourcade. Presented at The Coq Workshop 2012, Princeton, NJ, USA, August 12, 2012.