Gernot “Garrett” Ohner

Software Engineer

Backend Engineer building highly scalable, performant, typesafe and observable software.

About me

Who am I?

I’m a Software Engineer, currently living in Vineyard, UT and working for JP Morgan Chase. Previously I worked for a Swiss startup and a multinational consultancy.

My primary area of expertise is creating and maintaining data-intensive applications software with JVM languages such as Java, Kotlin and Scala often together with Spring Boot, Kafka and lots of observability. I love event-streaming pipelines such as Kafka Streams, and I’ve done some work on the frontend with Typescript, Angular and React. I really like highly-performant, typesafe code with built-in observability. For more details, check out my resume.

I’m also an alumn of the Recurse Center, a self-directed retreat for software developers. During my time there I worked on interpreters, low-level programming with C++ and functional programming with Scala.

I have a MS in Computer Science and a BS in Physics. My graduate degree is from Weber State University and included a lot of fascinating classes very closely related to my work, such as Advanced Database Management, Advanced Algorithms, Applied Cloud Computing, Usability and UX Design, and many more. My undergraduate degree also involved a lot of software development, because it turns out that in modern physics you usually cannot solve for x. Instead, you often write simulations. That is also what I did for my undergraduate thesis, where wrote Finite Difference Time Domain (FDTD) electrodynamics simulations based on a discretization of Maxwell's equations in Python.

/

Projects

Things I've Built

FDTD

BS thesis project that models EM wave propagation with multiple PML implementations, rich CLI options, and benchmarking utilities.

PythonNumPySciPyMatplotlibCLI

devjobs.sh

Crawler + API server that aggregates Hacker News “Who’s Hiring” listings, parses tech stacks and locations, and serves searchable results.

ScalaTypelevelhttp4sdoobiecats-effectPostgreSQL

jlox Interpreter

Tree-walk interpreter for the Lox language, following Crafting Interpreters, featuring REPL mode and file execution.

JavaParsingASTInterpreter

Packet Loss Measurement Tool

CLI client/server that exchanges UDP/TCP traffic to measure one-way and round-trip packet loss with minimal dependencies.

CLinux SocketsTCP/UDPCMake

Skills

What I Work With

Languages

KotlinJavaSQLTypeScriptScalaC++PythonRuby

Backend & Web

Spring BootRESTWebSocketsOpenAPIGradleMaven

Data & Storage

PostgreSQLMySQLMongoDBSnowflakeRedisKafkaKafka StreamsHibernatejOOQ

Tooling & Observability

DataDogOpenTelemetryGrafanaPrometheusGatlingCucumber

Cloud & Infra

AWS RDSAWS IAMAWS ElastiCacheAWS MSKAWS CloudWatchGoogle Cloud PlatformDockerKubernetesTerraformGitHub Actions

Contact

Get in touch!

Gernot "Garrett" Ohner

Software Engineer

I’m available to discuss new opportunities in backend engineering!