Eric Brattli.

Senior backend engineer with 4+ years at Cognite, building distributed systems in Kotlin and Python.

Eric Brattli, portrait.
Eric Brattli, candid.Eric Brattli at his desk.Eric Brattli outdoors.

Engineering, mostly backend.

I'm a software engineer based in Oslo, working on backend systems that handle a lot of data and a lot of traffic. I've spent the last four years at Cognite, building infrastructure that customers depend on every day. Before Cognite, I studied informatics at UiT in Tromsø and worked on hospital software at DIPS.

I enjoy the kind of problems where the hard part isn't writing code, but figuring out what the right code should do. Distributed systems, data modeling, real-time collaboration. I work mostly in Kotlin and Python, but I'm comfortable picking up whatever the problem requires.

What I've worked on.

Projects that taught me the most.

PRODUCTION SYSTEM

Data Modeling Service

REST API on a Postgres-based graph database, handling 1-2k requests per second across 20 clusters for 20,000 monthly active users.

KotlinJAX-RSPostgreSQL

REAL-TIME

Canvas Collaboration Backend

Real-time multi-user editing built with CRDTs and WebSockets, syncing changes across users with debounced persistence.

PythonCRDTsWebSockets

DEVELOPER PLATFORM

App Hosting Backend

Backend service that lets customers deploy custom applications with inherited authentication and full Cognite API access.

KotlinKtorKubernetes

Education

  1. Master of Science in Informatics

Experience

  1. Software Engineer

    • Built and maintained the Data Modeling service in Kotlin (JAX-RS), a REST API on pg3 (Postgres-based graph database) handling 1-2k requests/second across 20 clusters for 20k monthly active users.
    • Developed the Schema Service in Kotlin/Ktor, a GraphQL layer on top of Data Modeling that translates user-defined schemas and GraphQL queries for the underlying REST API.
    • Built the real-time collaboration backend for Canvas in Python, using CRDTs (pycrdt) and WebSockets to sync edits across users with debounced persistence.
    • Developing the App Hosting backend in Kotlin/Ktor, enabling customers to deploy custom applications with inherited authentication and full Cognite API access.
  2. R&D Intern (2 summers) + Part-time

    • Contributed to the Spark datasource connector in Scala, translating Spark SQL queries to CDF REST API calls.
    • Developed an OData connector in F# enabling Power BI and Excel integration with Cognite Data Fusion.
    • Developed features for client SDKs in Scala and F#.
  3. Software Developer (Intern → Part-time)

    • Built a drag-and-drop visual editor for designing hospital patient wristbands, working in a 4-person team.
    • Developed a real-time log viewer in C#/WPF enabling developers to debug the DIPS EHR system.
  4. Teaching Assistant

    • Teaching assistant for 6 courses including Distributed Systems, Algorithms, and Databases.

Tools I use.

Languages

KotlinPythonTypeScriptScalaF#C#

Frameworks

KtorJAX-RSFastAPIGraphQLApache Spark

Databases

PostgreSQLElasticsearch

Infrastructure

KubernetesDockerTerraformJsonnet

What I do when I'm not coding.

Mostly outdoors, sometimes high up.

Get in touch.

Always happy to talk about backend systems, distributed infrastructure, or anything in between. The fastest way to reach me is email.

Based in Oslo, Norway.