About Martijn Krabbe

Professional Journey and Career Development

My career in technology began somewhat accidentally in 2009 when I built a simple website for a local business while studying economics. That project sparked an interest in how software could solve real problems and create tangible value. I spent the next three years teaching myself programming through online courses, open source contributions, and small freelance projects while completing my undergraduate degree. By 2012, I had developed enough skills to land my first full-time software engineering role at a startup in Amsterdam.

Those early years were formative. I worked long hours, made plenty of mistakes, and learned from talented colleagues who were generous with their knowledge. I discovered that I enjoyed not just writing code, but understanding why we were building what we were building. I started attending product meetings, asking questions about user research and business metrics, and volunteering for projects that required cross-functional collaboration. This curiosity about the broader context eventually led me toward technical leadership roles.

In 2015, I joined a SaaS company that was scaling rapidly, growing from 30 to 150 employees during my two-year tenure. I saw firsthand how organizations change as they grow—processes that worked at 30 people broke at 100 people. I learned about hiring, team structure, communication patterns, and the importance of documentation and knowledge sharing. I also experienced the challenges of technical debt, architectural decisions that seemed reasonable initially but created problems later, and the constant tension between moving fast and building sustainably.

By 2018, I had transitioned into product and strategy roles, working more on what to build and why rather than the implementation details. I led a product team at an e-commerce company, managed a P&L, and learned about unit economics, customer segmentation, and go-to-market strategy. In 2020, I joined a fintech startup as one of the first employees, helping grow it from pre-revenue to $4.2 million in annual recurring revenue over two years. That experience taught me about fundraising, investor relations, and the unique challenges of regulated industries. Since 2022, I've been working independently, applying these accumulated lessons across different clients and contexts. You can see the full scope of my work on the home page.

Looking back, my career has been characterized by continuous learning and expanding scope. I started writing code, then led teams of engineers, then managed entire products, then advised on business strategy. Each level required developing new skills while maintaining enough technical credibility to make sound judgments. The common thread has been a focus on creating measurable value—whether that's faster page load times, higher conversion rates, or reduced operational costs.

Career Progression and Key Roles
Period Company Type Role Key Responsibilities Team Size
2012-2014 Tech Startup Software Engineer Feature development, bug fixes 8 people
2015-2017 SaaS Scale-up Senior Developer Architecture, mentoring 30-150 people
2018-2020 E-commerce Product Manager Roadmap, P&L ownership 200+ people
2020-2022 Fintech Startup Product Director Strategy, team building 5-35 people
2022-Present Independent Consultant Advisory, implementation Varies by project

Education and Continuous Learning

I hold a Bachelor's degree in Economics from the University of Amsterdam, completed in 2012. While my formal education wasn't in computer science, the analytical and quantitative skills from economics have proven valuable throughout my career. Understanding concepts like opportunity cost, marginal analysis, and market dynamics helps me make better decisions about technology investments and product strategy. I also completed coursework in statistics and econometrics that laid the foundation for my later work with data analysis and modeling.

Most of my technical education has been self-directed and experiential. I've completed dozens of online courses through platforms like Coursera, edX, and Udacity, covering everything from machine learning to distributed systems to user experience design. I'm a strong believer in project-based learning—I learn best by building things, making mistakes, and iterating. I've contributed to several open source projects over the years, which provided exposure to different codebases, technologies, and collaboration patterns.

I invest roughly 5-8 hours per week in ongoing learning and professional development. This includes reading technical papers, following industry blogs and newsletters, attending conferences, and experimenting with new tools and frameworks. I maintain a personal learning backlog where I track topics I want to explore more deeply. Recent areas of focus have included Rust programming, event-driven architectures, and privacy-preserving computation techniques. The pace of change in technology means that continuous learning isn't optional—it's a fundamental requirement for remaining effective.

Beyond technical skills, I've invested in developing business and leadership capabilities. I've taken courses on negotiation, organizational design, and financial modeling. I've worked with executive coaches to improve my communication and decision-making. I read extensively about management, strategy, and how successful companies operate. Authors like Ben Horowitz, Andy Grove, and Clayton Christensen have influenced my thinking about how to build and scale organizations. The MIT OpenCourseWare program has been an excellent resource for accessing high-quality educational content across diverse subjects.

I also learn from peers and colleagues through regular conversations, mastermind groups, and informal mentoring relationships. I participate in several online communities focused on product management, engineering leadership, and entrepreneurship. These networks provide different perspectives, challenge my assumptions, and expose me to problems and solutions I wouldn't encounter in my own work. Teaching and explaining concepts to others has also been a powerful learning mechanism—it forces clarity and reveals gaps in understanding.

Educational Background and Professional Development
Category Institution/Platform Subject Area Year Completed
Formal Degree University of Amsterdam Economics (B.A.) 2012
Online Course Stanford Online Machine Learning 2016
Online Course MIT OpenCourseWare System Design 2018
Certification AWS Solutions Architect 2019
Online Course Y Combinator Startup School 2020
Workshop Reforge Product Strategy 2021

Working Philosophy and Core Principles

Several core principles guide how I approach my work. First, I believe in starting with the problem rather than the solution. Too often, teams jump to implementation before fully understanding what they're trying to accomplish and why it matters. I invest time in discovery, asking questions, and challenging assumptions before committing to a particular approach. This sometimes feels slow initially but prevents costly mistakes and rework later.

Second, I prioritize simplicity and clarity. Complex systems are harder to build, harder to maintain, and harder to explain to stakeholders. I look for the simplest solution that adequately addresses the problem, avoiding over-engineering and unnecessary abstraction. As the computer scientist Tony Hoare observed, there are two ways to design software: make it so simple there are obviously no deficiencies, or make it so complex there are no obvious deficiencies. I aim for the former whenever possible.

Third, I believe in transparency and direct communication. I share information openly, admit when I don't know something, and give honest feedback even when it's uncomfortable. I've found that trust is built through consistency and candor, not through managing impressions or telling people what they want to hear. When projects encounter problems—and they always do—transparent communication allows teams to address issues quickly rather than letting them fester.

Fourth, I focus on outcomes over outputs. Building features, shipping code, and completing tasks are outputs, but they only matter if they lead to meaningful outcomes like increased revenue, reduced costs, or improved user satisfaction. I try to maintain clear line of sight between day-to-day work and strategic objectives, regularly asking whether we're making progress on what actually matters. This orientation toward outcomes influences prioritization decisions and helps teams stay focused on high-impact work.

Finally, I believe in balancing speed and quality. Moving too slowly means missing opportunities and wasting resources. Moving too fast means accumulating technical debt and creating fragile systems. The right balance depends on context—a proof of concept for testing market demand requires different standards than a payment processing system handling millions of dollars. I try to be explicit about these tradeoffs and adjust quality standards appropriately based on the situation. Additional details about my approach and methodologies can be found in the FAQ section.

These principles aren't unique or revolutionary, but consistently applying them across different projects and contexts has proven valuable. They provide a framework for making decisions when facing ambiguity or competing priorities. They also help potential clients and collaborators understand what working with me will be like and whether we're likely to be a good fit.

Core Working Principles and Practical Applications
Principle Key Practice Typical Application Expected Benefit
Problem-First Thinking Extended discovery phase User interviews, data analysis Solving right problems
Simplicity Minimal viable solutions Avoiding over-engineering Faster delivery, lower costs
Transparency Open communication Regular status updates Stronger trust and alignment
Outcome Focus Metrics-driven approach Tracking business KPIs Higher impact work
Balanced Speed Context-appropriate quality Risk-based prioritization Optimal resource use