# Ivan Klass — Scala Enthusiast · Hands-on, Empathetic Engineering Lead

> Ivan Klass — Scala Enthusiast · Hands-on, Empathetic Engineering Lead. 15+ years of engineering, 6+ as a hands-on team lead (teams of 5–9). Architect → Build → Own mindset: bootstrap new products, design type-safe APIs and data contracts, choose databases and infrastructure — pushing strong typing across Scala, TypeScript, and Python. Leverages AI coding agents to accelerate development and boost productivity. Active open-source contributor. 15+ years of experience.

- Location: Serbia, Belgrade (Central European Time)
- Languages: English (advanced), Russian (native), Serbian (upper-intermediate)
- Work mode: On-site / Relocation / Remote / B2B
- Interactive portfolio: https://ivan-klass.dev/
- Long-form HTML profile: https://ivan-klass.dev/seo.html

## Summary

- 15+ years of engineering, 6+ as a hands-on team lead (teams of 5–9)
- Architect → Build → Own mindset: bootstrap new products, design type-safe APIs and data contracts, choose databases and infrastructure — pushing strong typing across Scala, TypeScript, and Python
- Leverages AI coding agents to accelerate development and boost productivity
- Active open-source contributor

## Measurable Wins

- Designed a Kafka topics DSL — 300+ topics across 24 modules, schema diff and compatibility CI checks on every PR
- Drove a 100× cold-start win (5s → <50ms) by porting a JVM service to Scala Native
- Cut CI from ~60 min to ~5 min, removing a part-time DevOps dependency and reducing AWS costs
- Generated typed Kotlin / Python / TypeScript clients from Scala ADTs, used by 5+ teams
- Led engineering through SOC 2 certification while doubling the client base 3 → 6
- 25+ merged PRs across the Scala and Kafka stack (cats, cats-effect, scala-cli, scalasql, fs2, tapir, iron, kafka-security-manager, Debezium)

## Professional Experience (15+ years)

### Clearlaw.ai — Staff Engineer at QuantumSoft for Clearlaw.ai
*Mar 2025 — Mar 2026 (1 year)*

**Modules:**

- Extracted facts and norms manager
- Multitenant contract fact extraction and LLM enrichment service
- Multitenant prompt-config and DSL transformer layer
- Standalone on-prem solution

**Responsibilities:**

- Collaborated directly with CEO and CTO on technical strategy, shaping the roadmap for a new product line and on-prem deployment offering
- Designed and built a new product line — backend, public and backoffice APIs, Scala.js frontend integration, and CI/CD pipelines — expanding the platform from 1 service to 5
- Grew the codebase from 1 Scala module to 4 projects with 30+ shared modules through incremental extraction — accelerating new product development, enabling parallel compilation, cross-product code reuse, and focused context boundaries for AI coding agents
- Reduced legacy CI/CD pipeline time from ~60 minutes to ~5 minutes by eliminating self-hosted runners and simplifying image builds on GitHub Actions, cutting on-demand EC2 costs and removing a dependency on a part-time DevOps resource
- Reviewed PRs across a 6-person engineering team, mentoring on code quality, idiomatic Scala, and architectural consistency
- Adopted Claude Code as an AI coding agent, achieving ~2–3× development speed on the backoffice application
- Adopted ScalaSQL as a modern, transparent SQL layer in place of Quill — making database code significantly more robust with predictable query semantics, clearer compile-time errors, and easier debugging
- Architected an on-prem standalone deployment mode with abstracted source/sink interfaces, allowing clients to run ML pipelines using AWS Bedrock, with horizontal scaling via message queues — designed for single-client delivery but modular enough for reuse
- Added Scala Native support for the standalone deployment, achieving ~100× cold start improvement (from ~5s on JVM to under 50ms) — critical for on-prem environments where fast container scaling and message queue–driven workloads demand near-instant startup
- Operated cloud infrastructure on AWS — S3, Bedrock, SQS, ECS, ECR

**Technologies:** Scala, ZIO, tapir, Scala Native, Scala.js, Laminar, PyTorch, NLTK, Prolog, Logtalk, Python, Kafka, AWS, Claude Code, scalasql, Quill, zio-kafka, zio-aws, iron, Flyway, asyncio, Protobuf, PostgreSQL, GitHub Actions, Docker, AWS S3, AWS SQS, AWS SNS, AWS ECS, AWS ECR, AWS Bedrock

### Performi.ca — Engineering Manager at QuantumSoft for Performi.ca
*Jul 2022 — Mar 2025 (2 years 8 months)*

**Modules:**

- Multitenant Analytics Platform
- Data Ingestion Agents
- Custom client Integrations
- Main web application (legacy, hosted per client)

**Responsibilities:**

- Led a cross-functional team of up to 9 (backend, frontend, full-stack, UI/UX, QA, DevOps), reporting directly to CEO and Head of Product
- Contributed to doubling the client base from 3 to 6 — participated in technical pre-sales, led client integrations, and managed ongoing delivery
- Achieved SOC 2 certification, leading the engineering team through the audit process
- Designed and built a multitenant analytics platform in Scala (cats-effect, http4s, tapir) — ClickHouse-based ingestion, graph computation, and caching layer bridging multitenant and legacy per-tenant databases on AWS Aurora PostgreSQL
- Built a WebSocket-based admin monitoring panel on top of the multitenant integration — streaming metrics from multiple app instances with progressive table rendering, giving operators a usable view of results before every instance had responded
- Migrated data ingestion from a monolith periodic task to ~10 self-hosted Python agents (3.13, full pyright coverage), shifting sensitive data access control and audit to the client side
- Maintained same-business-day incident resolution across all client environments

**Technologies:** Scala, cats-effect, tapir, http4s, WebSocket, Doobie, otel4s, Scala.js, Laminar, Python, Django, DRF, PostgreSQL, Clickhouse, Redis, AWS Aurora, Docker, AWS, AWS ECR

### Pricing & Rebate Engine — Tech lead at QuantumSoft for anagram.care
*Jan 2022 — Jul 2022 (6 months)*

**Modules:**

- Scala backend for pricing
- CI and DB management
- Third-Party API integration

**Responsibilities:**

- Led a 5-person backend team building a pricing engine for eyewear (frames, lenses, coatings) with complex discount structures including manufacturer volume bonuses
- Improved codebase quality by introducing typeclass-based error handling, enforcing referential transparency, and integrating tracing (trace4cats)
- Achieved 4× CI speedup by isolating test suites into separate DB schemas, enabling parallel execution both locally and on GitHub Actions
- Built custom JSON assertion matchers using Monocle, significantly improving test readability and maintainability
- Integrated third-party APIs (Google Sheets, manufacturer pricing panels) for dynamic pricing data

**Technologies:** Scala, tapir, cats-effect, fs2, http4s, trace4cats, PostgreSQL, circe, Docker, GitHub Actions

### Data Platform — Senior Platform engineer, Sub-team lead at QuantumSoft for Invitae
*Jun 2018 — Dec 2021 (3 years 6 months)*

**Modules:**

- Kafka-based Integration for event-driven services
- Infrastructure-as-a-code platform for other teams
- Third-Party API integration
- ETL & reports for partners

**Responsibilities:**

- Led a 5-person sub-team within the data platform group, replacing fragmented service communication with a unified event-driven architecture
- Designed a Kafka topics DSL — a declarative, infrastructure-as-code approach to 300+ topic definitions across 24 domain modules, including schema (Scala ADTs), Kafka parameters (retention, partitions), and ACL policies per service
- Built a schema evolution pipeline with automated compatibility checks and human-readable diffs on every PR, making data contract changes safe and reviewable
- Implemented cross-language code generation from Scala ADT definitions, producing typed client libraries for Kotlin, Python, and TypeScript — used by 5+ teams across the company
- Built a custom cron Kafka connector for trigger-based stream processing, with replay and explicit event testing support
- Integrated Prometheus metrics for Kafka Streams internal RocksDB state stores, enabling observability into KV storage performance
- Introduced Debezium CDC pipelines, enabling other teams to build event-driven services (e.g. notification service) on top of database changes
- Created shared Scala library components (tracing, metrics, feature flags) for internal services

**Technologies:** Scala, cats-effect, fs2, http4s, avro4s, magnolia, Kafka, Kafka Streams, Kafka Connect, Confluent Avro, Debezium, Spark, Kubernetes, Terraform, Snowflake, Docker, Helm/Flux

### ClearLaw — Team Lead, Mentor at QuantumSoft for ClearLaw
*Jun 2018 — Nov 2018 (5 months)* — part-time

**Modules:**

- SaaS solution for AI & ML based contract management

**Responsibilities:**

- Communicated with stakeholders
- Designed architecture from scratch
- Helped with sprint management
- Mentorship and code review
- Development of core components and the app prototype
- Implementation plans

**Technologies:** Python, asyncio, GRPC, AWS, AWS SQS

### Salesforce API integration — Senior Developer at QuantumSoft for Invitae
*Oct 2017 — Jan 2019 (1 year 3 months)*

**Modules:**

- Inter-service data synchronizations
- Third-party integration for a genetic tests company

**Responsibilities:**

- Feature delivery
- Maintaining legacy code
- Performed significant code cleanups and notable refactorings
- Bumped team productivity & code quality by adding type-safe checks into JavaScript

**Technologies:** Node.js, Flow, Folktale.js, RabbitMQ

### Healthcare Providers SPA — Tech lead (5 members), Full-stack at QuantumSoft for Invitae
*Aug 2016 — Sep 2017 (1 year 1 month)*

**Modules:**

- Dedicated web interface for healthcare providers at a genetic tests company

**Responsibilities:**

- Communicated with stakeholders
- Designed API and DB
- Added reusable solutions for type-safe API
- Significantly improved performance

**Technologies:** Django, TypeScript, JsonSchema, React, Redux

### Family History Tool — Team lead (9 members), DevOps, Full-stack at QuantumSoft for Invitae
*Mar 2015 — May 2017 (2 years 2 months)*

**Modules:**

- SaaS web-based tool for genetic counselors
- IPad app
- Helps to track patient pedigrees
- Provides a cancer risk assessment
- Free-to-use. Leads clients to billable orders on the main site

**Responsibilities:**

- Communication with stakeholders, release demo sessions
- Milestone management
- Design and implementation of tech-stack evolution (adopting to company standards) after the acquisition
- Integration with the main product
- Feature delivery, bug-fixes

**Technologies:** Django, TypeScript, React, Ansible, R, MySQL, Docker, PHP, Python, Redux

### Analytics Dashboard — Architect, Consultant at ZoomTV Group
*Aug 2016 — Nov 2016 (3 months)* — part-time

**Modules:**

- SmartTV on-demand & live channels network.
- Statistics and tracking module

**Responsibilities:**

- Architecture design from scratch
- Consulting
- Implementation plan
- Code-review

**Technologies:** PHP, MongoDB, RabbitMQ

### MoceanMobile ads platform — Backend, SQL at BitWorks for Pubmatic.com
*Jun 2014 — Dec 2014 (6 months)*

**Modules:**

- Statistics and ETL pipelines for high-load project
- Data integration from multiple sources

**Responsibilities:**

- Managing advanced SQL (triggers & stored procedures, partitioning, window functions)
- ETL optimizations
- Solving scalability problems

**Technologies:** JBoss Teiid, Hive, PostgreSQL, Pentaho Kettle, Python, Git

### Accounting & Personnel — Middle Full-Stack at Bars Group
*Sep 2013 — May 2014 (8 months)*

**Modules:**

- Web-based platform for accounting and managing personnel records
- Cloud solution for municipal organizations

**Responsibilities:**

- Contributed to core reusable components
- Performed notable refactorings and code cleanup
- Helped with CI

**Technologies:** Django, PostgreSQL, ExtJS, Redmine, Mercurial

### ETL & FraudTool — Junior BigData, Junior Full-stack at BitWorks for Moceanmobile.com
*Feb 2011 — Sep 2013 (2 years 7 months)*

**Modules:**

- Custom Map/Reduce aggregations on top of Hadoop, ETL
- Web-based tool for analytic reports, fraud analysis in mobile ads network

**Responsibilities:**

- Optimized several Map-Reduce pipelines
- Implemented custom UDFs for Hive and Pig languages
- Designed web application from scratch
- Implemented app prototype
- Completed app deployment and documentation

**Technologies:** Django, PostgreSQL, Java, Hadoop, Backbone.js, Bootstrap, Git

### VPN & VPS Products — Junior Full-stack at Zzzing LLC
*Jun 2010 — Feb 2011 (8 months)*

**Modules:**

- Onsite products for provider clients:
- Traffic/billing reports
- IPTV-to-web TV streaming
- File sharing desk with online preview

**Responsibilities:**

- The only developer in the team working on small web projects aiming at clients of local VPN and hosting provider
- Communication with a web designer, DevOps, and product owner (which was also my tech mentor)
- Architecture, design, and implementation of features

**Technologies:** PHP, JavaScript, FFmpeg, CSS, SVN

## Education

### Bachelor of Computer Science
[Tomsk State University](https://en.tsu.ru/), Computer Science Department. Graduated: 2011.

### Master of Computer Science
[Tomsk State University](https://en.tsu.ru/), Computer Science Department. Graduated: 2013.

### Translator/Interpreter in the sphere of professional communication
[Tomsk Polytechnic University](https://tpu.ru/en/), Foreign Languages. Graduated: 2018.

## Courses & Certifications

### Functional Programming Principles in Scala
coursera.org, Nov 2014. Introduction to Scala language and its advantages

### Principles of Reactive Programming
coursera.org, May 2015. Amazing course about reactive programming basics in Scala — Signals, futures and promises, actor model, Akka actors. Completed with distinction

### R programming
coursera.org, Nov 2015 ([certificate](https://www.coursera.org/account/accomplishments/records/VZMCQ53XCE)). Base work with R. Completed with distinction

### Parallel programming
coursera.org, Jun 2016 ([certificate](https://www.coursera.org/account/accomplishments/certificate/BWF672WGRCDG)). Fundamentals of parallel programming. Scala

## Open Source Contributions

### [scala/scala3](https://github.com/scala/scala3) — 6205 stars
The Scala 3 compiler, also known as Dotty

- Bug Report: opaque types, pattern matching, inline, pickling
- PR: Tuple.mapKind method

### [typelevel/cats](https://github.com/typelevel/cats) — 5000 stars
Lightweight, modular, and extensible library for functional programming

- Merged PR: EitherT and IorT constructors from Option
- Merged PR: OptionT combinators for effectful Boolean
- Merged PR: Kleisli.localK FunctionK helper

### [http4s/http4s](https://github.com/http4s/http4s) — 2613 stars
A minimal, idiomatic Scala interface for HTTP

- PR: message failure responses

### [typelevel/fs2](https://github.com/typelevel/fs2) — 2300 stars
Compositional, streaming I/O library for Scala

- Merged PR: interleaveOrdered — combine sorted streams (merge-sort)
- Merged PR: fix interleaveOrdered effectful cases

### [typelevel/cats-effect](https://github.com/typelevel/cats-effect) — 2000 stars
The pure asynchronous runtime for Scala

- Merged PR: Ref.empty Monoid-based shortcut

### [softwaremill/tapir](https://github.com/softwaremill/tapir) — 1454 stars
Rapid development of self-documenting APIs

- Merged PR: Validator.derivedEnumeration for sealed traits
- Merged PR: fix name collision in macro
- Merged PR: refactor ServerRunner to use Resource
- Merged PR: fix deprecation warnings
- Merged PR: update Iron to 3.0.0

### [scalacenter/scalafix](https://github.com/scalacenter/scalafix) — 871 stars
Refactoring and linting tool for Scala

- Bug Report: various issues
- Feature Request: removeUnused for Scala 3

### [tototoshi/scala-csv](https://github.com/tototoshi/scala-csv) — 704 stars
CSV Reader/Writer for Scala

- PR: add Scala Native platform

### [django-haystack/django-haystack](https://github.com/django-haystack/django-haystack) — 3600 stars
Modular search for Django

- Merged PR: fix index re-obtaining for ElasticSearch
- Merged PR: fix deep attributes through m2m relation

### [VirtusLab/scala-cli](https://github.com/VirtusLab/scala-cli) — 624 stars
Command-line tool to interact with the Scala language

- Merged PR: support links in using file directive

### [scalapy/scalapy](https://github.com/scalapy/scalapy) — 572 stars
Use the world of Python from the comfort of Scala

- Feature Request: multiple Python interpreters

### [iltotore/iron](https://github.com/iltotore/iron) — 543 stars
Strong type constraints for Scala

- Merged PR: RefinedType.unapply enhancements
- Merged PR: fix NPE in Mirror[T].ops

### [sksamuel/avro4s](https://github.com/sksamuel/avro4s) — 700 stars
Avro schema generation and serialization for Scala

- Merged PR: fix SchemaFor with nested union types
- Merged PR: fix schema macro
- Bug Report: enums, ADTs

### [com-lihaoyi/scalasql](https://github.com/com-lihaoyi/scalasql) — 256 stars
Type-safe Scala ORM for SQL databases

- Merged PR: FP-friendly resource-block transaction API
- Merged PR: multiple expressions in DISTINCT ON

### [typelevel/log4cats](https://github.com/typelevel/log4cats) — 200 stars
Logging framework for Cats

- Merged PR: withModifiedContext for StructuredLogger

### [zio/zio-config](https://github.com/zio/zio-config) — 239 stars
Easily use and document any config from anywhere in ZIO apps

- PR: cross-platform derivation and magnolia for Scala 3

### [conduktor/kafka-security-manager](https://github.com/conduktor/kafka-security-manager) — 400 stars
Manage your Kafka ACLs at scale

- Merged PR: authorizer on AdminClient, update Scala and sbt

### [debezium/debezium](https://github.com/debezium/debezium) — 12600 stars
Change data capture for a variety of databases

- Merged PR: separate storageExists() method to support manual topic creation

### [ClickHouse/ClickHouse](https://github.com/ClickHouse/ClickHouse) — 40000 stars
ClickHouse open-source columnar DBMS

- Merged PR: documentation improvements for aggregate functions

### [fthomas/refined](https://github.com/fthomas/refined) — 1700 stars
Refinement types for Scala

- Merged PR: pureconfig module for Scala 3

### [etorreborre/specs2](https://github.com/etorreborre/specs2) — 730 stars
Software specifications for Scala

- Merged PR: fix reporting wrong initial seed for scalacheck
- Bug Report: fatal errors make test run forever

### [bkirwi/decline](https://github.com/bkirwi/decline) — 650 stars
Composable command-line parsing for Scala

- Merged PR: list enumeratum choices for invalid argument

### [softwaremill/magnolia](https://github.com/softwaremill/magnolia) — 1500 stars
Easy, fast, transparent generic derivation of typeclass instances

- Merged PR: resolve alias for context typename
- Merged PR: fix Array name collision

### [scala/docs.scala-lang](https://github.com/scala/docs.scala-lang) — 600 stars
Official Scala documentation

- Merged PR: style cleanup for value class restriction overview

### [bot4s/telegram](https://github.com/bot4s/telegram) — 500 stars
Telegram Bot API wrapper for Scala

- Merged PR: add missing SendAnimation request handler

### [sherpal/LaminarSAPUI5Bindings](https://github.com/sherpal/LaminarSAPUI5Bindings) — 88 stars
Laminar bindings for SAP UI5 web components

- PR: Add UploadState.Complete

## Technologies & Skills

Scala, ZIO, tapir, Scala Native, Scala.js, Laminar, PyTorch, NLTK, Prolog, Logtalk, Python, Kafka, AWS, Claude Code, scalasql, Quill, zio-kafka, zio-aws, iron, Flyway, asyncio, Protobuf, PostgreSQL, GitHub Actions, Docker, AWS S3, AWS SQS, AWS SNS, AWS ECS, AWS ECR, AWS Bedrock, cats-effect, http4s, WebSocket, Doobie, otel4s, Django, DRF, Clickhouse, Redis, AWS Aurora, fs2, trace4cats, circe, avro4s, magnolia, Kafka Streams, Kafka Connect, Confluent Avro, Debezium, Spark, Kubernetes, Terraform, Snowflake, Helm/Flux, GRPC, Node.js, Flow, Folktale.js, RabbitMQ, TypeScript, JsonSchema, React, Redux, Ansible, R, MySQL, PHP, MongoDB, JBoss Teiid, Hive, Pentaho Kettle, Git, ExtJS, Redmine, Mercurial, Java, Hadoop, Backbone.js, Bootstrap, JavaScript, FFmpeg, CSS, SVN

## Contact

- [Telegram: @ivan_klass](https://t.me/ivan_klass)
- [Email: klass.ivanklass+job@gmail.com](mailto:klass.ivanklass+job@gmail.com)
- [LinkedIn: ivan-klass](https://linkedin.com/in/ivan-klass)
- [GitHub: ivan-klass](https://github.com/ivan-klass)

## Personal Note

I enjoy tackling challenges and solving complex problems creatively and elegantly.
I thrive in collaborative teams where open discussion and knowledge sharing drive better outcomes.
Outside of work, I’m into woodworking, videogames, freeride snowboarding, and performing improv comedy.
I’m also passionate about safe driving, having completed advanced courses including handling extreme conditions.
My wife and I are avid travelers, now we do this with our son who I like to play LEGO with 🙂
