Coding Architect

Clemens Stift

Software does not exist in a vacuum - it serves the goals of the organisation it is created for. Great software is deliberately built with an acute awareness of it's context.

Product Minded Engineer

I started out my career on a clear track towards strategy consulting before I took a hard-left and transitioned into deep technical work in big technology consulting organisations. Getting access to incredible opportunities to code, architect and lead in both large-scale IT transformation projects as well as new product development efforts in fintech, medtech and banking.

As an architect and engineer with an MSc in Management of Innovation & Business Development I've always been, and continue to be, incredibly passionate about building great technology and putting it to good use. I believe that being independent is an asset for both me and my clients in executing on that drive.

01

Software Architecture

Being at 5 million users and needing to scale load and organisation or carving out the organisational and architectural wiggle-room for a new initiative to flourish and find product-market-fit in the existing context require vastly different approaches. Getting the balance between pragmatism and future-proofing right is hard. Keeping avenues to evolve the software into the next stages even harder.

I bring experience and knowledge in defining target architectures, planning the transition and assist you and your teams in executing on it without delivery grinding to a halt.

02

Software Engineering

Teams are the heart of continuous software delivery practices - a well-working team is invaluable. Getting teams from good to great, be that in terms of technical expertise or mode of operation, is a worthwhile investment.

With years of experience and industry best practices - I accelerate project timelines whilst facilitating knowledge transfer and enhancing the capabilities of your in-house developers.

1export class LlmChatComponent {
2  @Input()
3  public systemPrompt = '';
4
5  @Input()
6  public openingMessage = '';
7
8  @Input()
9  public rememberChat = false;
10
11  public models = [{...}]
12
13  @Output() messageAdded = new EventEmitter<number>();
14  public llmSelectionVisible: boolean = false;
15
16  public toggleLlmSelection() {
17    this.llmSelectionVisible = !this.llmSelectionVisible;
18  }
19
20  public onMessageAdded(event: number): void {
21    this.messageAdded.emit(event);
22  }
23
24  public COLLOQUIAL_DEFAULT_MODEL_NAME = "Mistral";
25
26  public selectedModelId: string = this.models.find((model) => {
27    return model.title.includes(this.COLLOQUIAL_DEFAULT_MODEL_NAME)
28  })?.modelId!
29  public selectedModelIndex: number = this.models.findIndex((model) =>
30    model.modelId === this.selectedModelId);
31
32  public onSelection(event: {modelId: string}) {
33    this.selectedModelId = event.modelId;
34    this.selectedModelIndex = this.models.findIndex((model) => {
35      return model.modelId === event.modelId;
36    })
37    this.toggleLlmSelection();
38  }
39}

03

Product Engineering

Product Engineers are a special breed of engineers that do not just see themselves as coders or developers but as builders who deeply care about the products they build. The craft combines Product Thinking with technical execution.

I take great professional pride in the products I build. Understanding the user and thoughtfully validating the value proposition the product embodies for the user is paramount - giving a beat on the level of uncertainty your initiative is faced with and allowing us to adjust engineering efforts accordingly.

Clemens is one of the rare individuals who possesses a deep understanding of both software development and product management. During his tenure with our product team, Clemens not only brought invaluable expertise to make our team truly cross-functional and efficient, but he also played a pivotal role in identifying and understanding our customers’ real needs. The amount of time and resources we saved due to his contributions was immense. I highly recommend Clemens to anyone looking to launch a new product or teach their teams how to develop state-of-the-art solutions.
Matthias Gruber
Former CPO @ Platomics
I had the honor and the luck to collaborate with Clemens on various projects at Bitpanda. His competence and level of expertise are unmatched. He demonstrated a great technical knowledge with strong power of analytical reasoning while designing the architecture of various systems and applying all of these on the implementation of high level quality services. On top of that, he is a polished and confident speaker using understandable language that is relevant and meaningful making it easy to translate ideas into action. Clemens would add great value to any team that needs mentorship and guidance on getting things done in the best possible way.
Ioannis Lazaridis
Principal Engineer @ Bitpanda
Clemens is a highly motivated and experienced software developer who made significant contributions to our teams. His meticulous approach and deep understanding of software development enable him to consistently deliver excellent solutions, going beyond expectations. He not only excels as a team player but also as a dedicated mentor, guiding and inspiring colleagues to achieve outstanding results.
Simon Karth
Tech Lead PO Cards at Deutsche Kreditbank AG
Clemens supported us on a migration of Monkees banking provider. His broad experience and his deep technical knowledge helped us evaluate different options of our architecture. His ability to break down complex problems into small chunks and explain these to all stakeholders is outstanding.
Martin Zarfl
Engineering Lead @ Monkee

Think

A glimpse into my thinking over the years. Some of it might age like a fine glass of milk, but I am putting it out there nonetheless.

Product Engineers as Catalysts

In software engineering, the lines between product engineering and product development can get blurry. Product Engineers can be a key catalyst to improve the flow of value.
13 Feb 2025
7 min read

State of WASM

WebAssembly has been touted as a game-changing technology for more than half a decade. But where is it right now and what can we expect in the future?
19 Apr 2024
3 hour workshop

Validating Ideas

An exploration into what a structured process for gathering and evaluating user needs looks like. Targeted at Engineers to get a better understanding of their partner's work in delivering user-value.
08 Mar 2024
3 hour workshop

Backend Systems Lecture

A lecture for Master Students in computer science held at FH Technikum Wien. Scoped at giving an overview of different paradigms for Backend Engineering and going into the necessity and patterns for resilience.
12 Feb 2024
1.5 hour lecture

Local Development Envs

Ensuring you and your team can cover as many scenarios as possible in the inner dev loop will massively increase your velocity. We how you can best increase it's reach together.
18 Feb 2023
2 hour workshop

Web Application Hacking

A beginner's workshop on web application hacking designed as a friendly CTF competition. Switch sides for a while and think like an attacker to be better equipped on defense.
21 Jun 2022
3 hour workshop

Slicing Microservices Effectively

Microservices are one of the hardest architectural boundaries we can draw. This can either hurt or help you. I discuss heuristics when and how to microservice.
08 Apr 2022
45 min talk

JSON Schema Comatibility

JSON Schema compatibility on a Kafka Schema Registry comes with some surprises that aren't immediately obvious. This repo explores different evolutions and how schema-compatibility is evaluated by the registry.
20 Feb 2022
PoC / Investigation

Customer Journey Services

When deciding on the boundaries of new microservices, think about the user and what he tries to achieve instead of overly focusing on the entities involved. You will be better off for it!
11 Jan 2022
7 min read

Let's talk

Have a challenge that I could help solving, or you simply want to sparr and chat about it to get an outside perspective? I'm happy to talk.
Anytime
As long as we want

FAQ

How do you work?

Experience shows me that the most effective way to do my job is to join a team and deliver code together with them. Be that in a new initiative, in an architectural transformation or when working to introduce new ways of working to an org. It gives me the chance to experience bottlenecks in delivery myself, is a great reality-check for whether a designed solutions actually work in practice and leads to the best adoption of new ideas by primarily being a team-member as opposed to "an external".

Are you a TS / C# / Java / Kotlin / Go / [insert language here] Dev?

I'm first and foremost an Engineer and Architect. As a consultant going from one organisation to another you don't choose "your stack" - you become really good at learning the ropes really fast and understanding which skills and patterns you can and can't transfer between the different ecosystems. The Engineering knowledge and skill remains. It would be a lie to say the language and Ecosystem don't matter - but they are not an insurmountable challenge.

Languages in which I've shipped to production: Java, Kotlin, Typescript, PHP, Python, Go, Dart.

Are you a Freelancer?

Technically, yes. I like to use the term "independent consultant". I am currently learning what expectations for Freelancers exist out there but I already have the feeling that my expectations of leaving a long-lasting positive mark on the client-organisation is not often included. I consider shipping code a precondition for doing my job well. If I can and I'm allowed to, I like having a mandate to move more from that position.

OTHER QUESTIONS?

Contact

Looking for a sparring partner?

I'm always open to discuss all things product and engineering. Feel free to get in touch!

Let's chat

deliberate.

Do it well. Do it deliberately.