Dan Siwiec

Architect / Tech Lead / Software Engineer / Machine Learning Engineer

South Lake Tahoe, CA

☎️ 773.791.2107

✉️ daniel.siwiec@gmail.com

🏠 https://danoncoding.com/

💻 https://github.com/danielsiwiec

Summary

I love building impactful products and platforms. In my 15+ years of experience as an IC and Tech Lead, I’ve worked across the full stack. I’m passionate about MLOps and best engineering practices, such as DevOps methodology, test automation, and observability, and enjoy driving their adoption.

I thrive in fast-paced environments requiring a combination of passion, software engineering excellence, and pragmatism. I'm passionate about my work, love speaking at conferences, writing technical articles (https://danoncoding.com), and always continue to learn new skills.

Experience

Founding Principal Engineer, Nextdata

Tech: Python, Kotlin, Go, Kubernetes, Terraform, ArgoCD, OpenTelemetry, Databricks, Snowflake
DEC 2022 – PRESENT

I was the first hire in the company (now at ~20) founded by the Data Mesh inventor - Zhamak Dehghani. Being the first engineer, I was responsible for all technical areas - architecting and building the foundations of the core product (Python/Kotlin/Go), infrastructure, deployment pipelines to multiple environments, as well as automated testing and observability.

I was also providing leadership to the growing engineering team and interacting with our early customers’ technical teams. I led the design and implementation of the first version of the product, which helped secure seed round funding and commitment from our first customers.

Principal Architect, Kambr

Tech: Kotlin, Spring Boot, Kafka, Kubernetes
AUG 2021 – JAN 2023

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

Lead Engineer/Architect, SFO International Airport (Slalom)

Tech: Kafka, Java, Spring Boot, Kubernetes, iOS, Android, Machine Learning
NOV 2019 – 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 more complex elements, as well as coding daily (~60% of the time).

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.

Lead Machine Learning Engineer, Global Athletic Retailer (Slalom)

Tech: Spark, Python, PyTorch, 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, Software & Machine Learning Engineering

SEP 2018 – AUG 2022

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

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

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

I was 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.

Skills

Domains

Healthcare, e-commerce, Card Payments, Retail, Cloud, CRM, Aviation, Data Tech

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

Programming Languages

Java, Kotlin, Python, JavaScript, Rust (beginner)

Databases

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

DevOps & CI/CD

GitHub Actions, GitLab, Jenkins, ArgoCD, terraform, ansible

ML Stack

scikit-learn, Tensorflow, AWS Sagemaker

Conference Talks

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 approach. Including code samples in Kotlin.

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.

Open Source

contributions

AWS Ruby SDK

Implemented a ‘waiters’ feature

OpenStack Horizon

Multiple contributions to new panels and the REST API

todobackend.com

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

Karma

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)

react-new-features-modal

A reactjs module to communicate new features to the users

git-kata

A set of runnable exercises to learn/practice git skills

Publications

& References

Technical blog

http://danoncoding.com

Martin Fowler’s blog

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

http://martinfowler.com/articles/gap-scms-po/

Mention on Martin Fowler’s article on MonolithFirst

https://martinfowler.com/bliki/MonolithFirst.html

Education

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

Certification

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