Resume

I’m a passionate software engineer and architect with 20 years industry experience. I primarily work on distributed systems, system integration, event sourcing, event stream processing and machine learning, including deep learning. I have experience with all phases of the software development lifecycle and with working in leadership roles. I’m a continuous learner and contributor to several open source projects. I enjoy working in teams and helping others to work more effectively.

Specialities

Distributed systems, microservice systems, system and application integration, event sourcing and CQRS, event stream processing, event-driven architectures, message-driven architectures, data-intensive applications, data analytics, machine learning, deep learning, resilience, scalability, high availability, domain-driven design, reactive programming, functional programming, object-oriented programming.

Work experience

See also Stories for some details.

Since 04.2011, Software architect, engineer and consultant

Self-employed, http://www.martin-krasser.de

  • Software development and consulting services with a focus on distributed systems, system integration, data-intensive applications, machine learning, including deep learning.
  • Sabbatical year since 09.2017 for going deeper into machine learning and statistics.

Since 02.2017, Freelance software engineer and consultant

fine.lines.software GmbH, https://bullet.io

  • Consultancy regarding the design and implementation of a distributed system architecture based on event sourcing with explicit causality that also includes mobile devices. Development of prototypes.

09.2014 - 08.2017, Freelance software architect and engineer

Red Bull Media House, http://www.redbullmediahouse.com

  • Global distribution of the in-house digital asset management platform. Responsible for architecture, design and implementation.
  • Conception and development of Eventuate, a toolkit for event sourcing and event collaboration at global scale with causal consistency.

10.2015 - 07.2017, Freelance software architect and engineer

agido GmbH, http://www.agido.com

  • Architecture and design consulting for an online sports betting web application with an event sourcing and event stream processing architecture.
  • Usage of Eventuate as technical basis for the web application backend. Development of data analytics extensions for Eventuate.

10.2013 – 02.2014, Freelance software engineer

Lightbend, http://www.lightbend.com/ (formerly Typesafe)

03.2012 – 10.2013, Freelance software architect and engineer

Eligotech BV, http://www.eligotech.com

  • Development of an E-Wallet management web service for customers in the online gambling industry.
  • Conception and development of Eventsourced, an open source project for building reliable, scalable and distributed event-sourced applications in Scala.

02.2011 – 04.2011, Software architect and engineer

Talend, http://www.talend.com

  • Development of scalability and high-availability concepts and prototypes for the Talend Integration Factory.

01.2005 – 01.2011, Lead software architect and engineer

InterComponentWare AG, https://icw-global.com/

  • Conception and development of the Open eHealth Integration Platform (IPF), an eHealth integration platform on top of Apache Camel. Development and deployment of IPF applications in several international customer projects.
  • Development of LifeSensor, a web-based personal health record.

09.2000 – 12.2004, Senior software architect and engineer

LION bioscience AG, http://www.lionbioscience.com

  • Development and optimization of chemical classification algorithms for the drug discovery pipeline of an international pharmaceutical company. Integration of globally distributed chemical computing services into the drug discovery pipeline.
  • Development of an activity tracking web application for pharmaceutical research projects.

02.1999 – 08.2000, Software developer, Research assistant

CAME, University of Salzburg, http://uni-salzburg.at

  • Development of algorithms and software for ab-initio protein structure prediction. Application of statistical mechanics to evaluate generated protein structures.

07.1998 – 01.1999, Software developer

Austrian Red Cross, http://www.roteskreuz.at/

  • Development of a patient transportation management system.

Tools

  • Programming languages: Scala, Java, Python, R, C/C++, Haskell.
  • Java SE and Java EE stack plus many other Java libraries and frameworks.
  • Lightbend Reactive Platform plus many other Scala libraries and frameworks.
  • Confluent Platform (Apache Kafka and its ecosystem) and Reactive Kafka.
  • Stream processing: Akka Streams, Kafka Streams, Spark Streaming.
  • Machine learning: scikit-learn, Tensorflow, Keras, PyMC3, R, Spark MLlib.
  • Databases: MySQL, PostgreSQL, Oracle, Cassandra, HBase, DynamoDB, MongoDB, LMDB, LevelDB, …
  • Cloud computing: Amazon Web Services and Google Cloud Platform.

Open source projects

The following is an incomplete list of open source projects I’m currently working on or worked on in the past. See also Stories for some details and my Github account for a complete list.

  • Eventuate. A toolkit for event sourcing and event collaboration at global scale with causal consistency. Founder and lead developer during my work at the Red Bull Media House and active contributor today.
  • Akka. A toolkit for building highly concurrent, distributed, and resilient message-driven applications for Java and Scala. Contributed Akka Persistence and Akka Camel.
  • Streamz. A combinator library for integrating Functional Streams for Scala (FS2), Akka Streams and Apache Camel. Personal project that I’m still actively developing. Functional programming API on top of Apache Camel and successor of Akka Camel.
  • akka-persistence-cassandra. Storage plugin for Akka Persistence. Started as personal project and now officially maintained by Lightbend.
  • akka-stream-eventsourcing. Personal project brings to Akka Streams what Akka Persistence brings to Akka Actors: persistence via event sourcing. This is experimental work, inactive at the moment.
  • Eventsourced. A library for building reliable, scalable and distributed event-sourced applications in Scala. Founder and lead developer during my work at Eligotech. Evolved into Akka Persistence and is not maintained any more.
  • Open eHealth Integration Platform. A platform for developing health-care integration solutions. Founder and lead developer during my work at ICW.
  • Apache Camel. An integration framework based on known Enterprise Integration Patterns. Contributed several integration components as well as core functionality during my work on the Open eHealth Integration Platform.

Articles

Talks

Courses

Education

  • 1997, MS in Chemistry (Mag. rer. nat.) with distinction, Karl-Franzens Universität Graz.
  • 1996, Various courses in computer science, Karl-Franzens Universität Graz.