Experienced software craftsman with 15+ years in Java, passionate about clean code and high quality software.
Areas of expertise: software architecture, Java/JEE backend, persistency frameworks, performance tuning, agile methods, development tools, model engineering, Eclipse RCP.
Background in mission critical software products in the logistics and finance domains as toolsmith, lead developer, software architect, SCRUM master and agile coach.
I bring experience from data intensive applications with complex business rules and regulatory constraints, globally distributed development teams, agile methods and a variety of programming languages and development tools. I can make things work, make them work fast and make them easy to maintain, evolve and support.
A software architect and Java developer at heart, I'm comfortable with most development roles ranging from requirements analysis and architecture to programming, testing and build automation, always with a passion for clean code, simplicity and high quality software. I've spent my entire professional life in the IT industry, in particular with commercial software products in the logistics and financial domains, and have experience from most software engineering disciplines.
My programming background includes Java, Python, Smalltalk, C, Perl, SQL, Cobol and various Unix scripting languages. Besides business applications, I've built development tools, meta models and tools for visual modeling and model engineering. But software development is more than programming; I also care about the development environment and methodology. I've worked with configuration management, build automation and agile techniques to streamline the process. I take a special interest in performance tuning and optimization.
Besides hands on development, I've led teams and workgroups, managed projects, served on architecture councils, mentored junior developers, coached agile teams and instrumented process changes. In addition to my everyday chores, I've lectured on courses, founded network groups, developed open source code, spoken on conferences and co-authored a book on architecture. Perhaps unusual for a geek, I am usually perceived as a good writer and presenter.
I have first-hand experience from technical, organizational and cultural challenges and patterns for large scale software production in geographically distributed teams. I understand how to build robust systems in terms of architecture, process, method and organization. I believe in software craftsmanship, small teams, agile methods and lean software development.
It's not only about building the right thing, it's also about building the thing right.