Dan Siwiec

Architect / Tech Lead / Software Engineer / Machine Learning Engineer

San Francisco, CA

☎️ 773.791.2107

✉️ daniel.siwiec@gmail.com

🏠 https://danoncoding.com/

💻 https://github.com/danielsiwiec


I’m a senior hands-on technologist with over 15 years of experience in custom software solutions. I’m passionate about engineering practices, such as automated testing, DevOps, and eXtreme Programming, enabling teams to achieve more, in a predictable, sustainable, and fun manner.

I’ve been leading teams, designing and implementing medium to large-scale, complex systems using best-of-breed modern technologies and architectures.

Working with multiple Fortune 500 companies, I developed skills across the full application stack - from UI, backend, and database to Machine Learning engineering.


Principal Architect, Kambr

Tech: Kotlin, Spring Boot, Kafka

In this role I’m responsible for the technical roadmap, including initiatives such as CI/CD, automated testing strategy, observability, or event-driven architecture, in support of development and evolution of Kambr’s core, data-intensive SaaS product - Eddy. I’m daily hands-on, implementing some of the most complex patterns in the system, as well as coaching other engineers.

Lead Engineer/Architect, SFO International Airport (Slalom)

Tech: Kafka, Java, Spring Boot, Kubernetes, iOS, Android, Machine Learning
JAN 2020 – OCT 2020

I led a 20+ full stack engineering team building a next-generation, event-driven, IoT- and ML-enabled taxi system. As the Lead Architect, I designed the system's overall architecture and implemented some of the critical design patterns.

Under my technical leadership, the team developed a greenfield Event-Driven microservice system based on Apache Kafka, as well as two mobile front-end applications - one for iOS and one for Android. Besides the daily technical delivery oversight, part of my responsibility was establishing design patterns for event collaboration and practices such as automated testing strategy and CI/CD patterns.

I also conducted weekly read-outs for the airport's CIO.

Machine Learning Engineer Lead, Global Athletic Retailer (Slalom)

Tech: Python, Machine Learning
JAN 2021 – SEP 2021

I led a team of engineers responsible for productionalization of Machine Learning models, by working closely with Data Scientists, Data Engineers and Infrastructure Engineers. My job was to establish patterns for model wrappers, CI/CD,  API contract evolution, and observability of the models.

Architect, Global Biopharma Company (Slalom)

Tech: Microservices, CI/CD
MAR 2019

I led a 3-day workshop dedicated to Microservices architecture, design patterns, and best practices to an international group of 40 software engineers and architects working in the Drug Discovery and Research field. The workshop consisted of content segments covering microservices design concepts and design patterns, such as choreography or even collaboration, as well as interactive group whiteboarding exercises. The objective of the workshop was to build a common understanding and a shared vision for the architecture among this distributed global team.

Slalom, Delivery Director

SEP 2018 – AUG 2022

I am part of the leadership team at Slalom, a global consultancy, responsible for two major areas - leading client project delivery, as well as various aspects of business operations, such as new capability development, strategic planning,  and business development.

My main focus is partnering with our clients as a technology advisor and leading Slalom’s engineering teams to deliver business outcomes.

As the leader of the Software and Machine Learning Engineering group, I am responsible for skill and talent development, business development, and operations.

I am also driving multiple internal engineering initiatives, such as Brown Bags, hackathons, etc.

Lead Engineer, National healthcare provider (ThoughtWorks)

Tech: Java, Spring Boot, Nodejs, Auth0
OCT 2017 – AUG 2018, Seattle, WA

I was part of a team of 7 developers, designing and building a greenfield API microservice platform, following the HL7 FHIR healthcare standard. I was responsible for designing the API platform architecture, designing and implementing new services, coaching developers on the team, and establishing and promoting proper software practices within the team. Part of the challenge was to maintain backward compatibility with the old monolith, while at the same time complying with a new healthcare standard.

Lead Engineer, AppDynamics (ThoughtWorks)

Tech: Gradle, Java, TeamCity
JUN 2017 – OCT 2017, San Francisco, CA

I was engaged in a big Continuous Integration practices reboot project, that involved refactoring a large, actively developed monolithic codebase written in Java into smaller, separately built and published artifacts, which enabled teams to build, test, and release their modules faster. The project required a deep understanding of pipelines and build tools (Gradle, ant).
Additionally, I championed an introduction of Contract Testing into the organization by building the scaffolding and presenting the topic in the internal engineering forum.

Lead Engineer, Major Canadian Telco (ThoughtWorks)

Tech: Nodejs, express, swagger, Jenkins
OCT 2016 – JUN 2017,  Vancouver, BC, CANADA

I was the Tech Lead for a team of 7 developers (mix of ThoughtWorks and client) architecting and implementing an API platform of microservices to support e-commerce flows for various media products - internet, cell phone, TV, etc. The services were written in node.js, and deployed on a PaaS infrastructure.

I was responsible for designing the APIs following a RESTful model, implementing modern development standards, and overseeing and implementing the services.

Engineering Expert, Global bank (ThoughtWorks)

Tech: Java, Spring, JBoss
AUG 2016 – OCT 2016,  London, UK

I was part of 3 person specialist remediation team sent to the client in response to an urgent Severity 1 production issue in their payment processing gateway system. My responsibility was to determine the cause of the problem and work with client executives to establish a plan to resolve it in a timely manner.

After this, my engagement extended to a holistic assessment of the system’s architecture, code standards, and development process which produced a thorough report later presented to the C-level execs.

Lead Engineer, National healthcare provider (ThoughtWorks)

Tech: C#, Java, AWS Lambda
MAY 2016 – JUL 2016, Seattle, WA

I was part of a 10-developer team implementing a patient-doctor video conferencing solution. The distributed nature of this solution (desktop fat client across hundreds of nodes) and sensitivity to network connection quality presented interesting challenges. I was initially responsible for making the application production-ready and later for proposing a major shift in its architecture. I prepared an in-browser POC using WebRTC, which was received with much enthusiasm by the client’s execs, who soon after decided to pursue this approach.

Lead Engineer, National healthcare provider (ThoughtWorks)

Tech: AngularJS
FEB 2016 – MAY 2016, Seattle, WA

I was part of a 6 developers team creating a web application allowing patients to find the closest clinic and schedule a medical appointment. The application had a client-backend for frontend-backend architecture and was written in Angular (frontend) and C# (backend).

Sr Engineer, Major enterprise software provider (ThoughtWorks)

Tech: PHP/AngularJS
JUN 2015 – JAN 2016, San Francisco, CA

I’ve been engaged as a Tech Lead, leading 3 teams of 8 developers working on improving and evolving an enterprise cloud platform, one of the client’s biggest enterprise offerings. The team was mostly working on the front-end Angular admin consoles for both the IaaS and PaaS components and my responsibility was to contribute to the code base as well as provide guidance to developers on the team.

Lead Engineer, Major healthcare provider (ThoughtWorks)

Tech: Backbone.js
APR 2015 – JUN 2015, Pleasanton, CA

I have played the role of a Tech Lead on a team of 6 developers, creating a responsive web application in Backbone.js. My responsibility was coaching developers on the team, working with client architects on higher-level planning efforts, and establishing common development standards across multiple client teams.

Lead Engineer, Medical devices provider (ThoughtWorks)

Tech: AngularJS, Java
JUN 2014 – FEB 2015, Palo Alto, CA

As the Tech Lead on the project, I was leading a distributed team of ~15 developers to create an Angular-based, responsive web application targeted at cancer patients. My job also involved introducing Continuous Delivery practices and upscaling the client team through workshops and learning sessions. One of my accomplishments on the team was enabling automated, on-demand environments and providing extensive tooling for Azure IaaS.

Sr Engineer, Gap (ThoughtWorks)

Tech: Java, Knockout.js, MongoDB
JAN 2013 – MAY 2014, San Francisco, CA

I have spent a year and a half building a Java-based Purchase Order system with a clean separation between client and service. The application exposes REST services, which are consumed by other services as well as a rich client written in JavaScript. The team has made extensive use of the JVM as an integration layer, running Cucumber tests through JRuby and JavaScript tests without a browser through Rhino.

For the last year, I played the role of Tech Lead, which involved making most of the design decisions and coaching less experienced developers.

ThoughtWorks / Lead Consultant

JAN 2013 – SEP 2018, San Francisco, CA

I spent nearly 6 years leading engineering teams at ThoughtWorks, a leading Software Consulting firm for a number of clients, working alongside industry thought-leaders who shaped concepts such key as agile, microservices, refactoring, and more. Through my time there, I learned modern engineering practices from the best in the industry such as Martin Fowler, Sam Newman, Jez Humble, and Neal Ford, and how to effectively lead engineering teams.

Acxiom / Senior Developer

Tech: Java, Oracle SQL
JUL 2008 – DEC 2012, Downers Grove, IL / Warsaw, Poland

Acxiom is a global marketing technology company offering services in multichannel marketing, addressable advertising, and database management.

I worked on a number of engagements including a web service platform supporting online marketing for a major automotive customer. I was responsible for the design and development of Java backend applications and the adoption of modern methodologies like Test-Driven Development and Continuous Integration.

Accenture / Senior Programmer

Tech: PeopleSoft, Java, Oracle SQL
AUG 2006 – JUL 2008, Warsaw, Poland

I worked as a developer on a project for a major telecommunication provider creating and customizing a Customer Relationship Management (CRM) platform, integrating with numerous external services within the company. I was also responsible for production issues analysis both from the application perspective as well as database performance.



Healthcare, Ecommerce, Card Payments, Retail, Cloud, CRM, Aviation

AWS, GCP, Kubernetes, Heroku, Azure, OpenShift, Kafka

Programming Languages

Java, Kotlin, Python, JavaScript, Ruby, C#


MongoDB, DynamoDB, Oracle SQL, MySQL, Postgres, Redis

DevOps & CI/CD

Jenkins, terraform, ansible, git

Conference Talks

ACRIS Oct 2022 - Modern Software Platforms

A talk at the annual ACI (Airport Council International) conference about patterns in modern software platforms, covering a range of topics, from DevOps to APIs and Microservices.

API World Oct 2022 - Testing Pyramid for Event-Driven Systems

A deep technical talk presenting automated testing patterns for Event-Driven Systems, contrasting them with traditional microservices. Including code samples in Kotlin.

Open Source



Implemented a ‘waiters’ feature

OpenStack Horizon

Multiple contributions to new panels and the REST API


java/dropwizard, node/express, node/restify implementations


Added a feature to support custom command line arguments

Multiple bug fixes

jasmine-npm, wiredep, cloudfoundry/staticfile-buildpack, morphia, and others

Java design patterns

Accommodating the project for Java 9, website pattern filtering improvements

Side projects

Garmin ConnectIQ apps

Tabata (4.5★, 72k downloads), Sendpoints (5★, 35k downloads)


A reactjs module to communicate new features to the users


A set of runnable exercises to learn/practice git skills


& References

Technical blog


Martin Fowler’s blog

Post on Gap’s SCMS architecture. Provided technical input for Martin’s deck


Mention on Martin Fowler’s article on MonolithFirst



Master of Science / Electrical engineering

2007 - 2009, Warsaw University of Technology, Poland

Master thesis around images recognition of Karman vortices

Bachelor of Science / Electrical engineering

2002 - 2007, Warsaw University of Technology, Poland

Bachelor thesis on design and construction of a USB to serial and parallel ports converter device


AWS ML, SCBCD, SCJP, Oracle 10g SQL Expert, IPMA Level D, HIPAA