Picture of me

About Me

My core expertise from over 20 years working in development and managing roles consist of

  • agile methodologies and project management
  • leading cross-functional software development teams
  • software architecture
  • software development with functional and object-oriented programming languages.

The main benefits I provide come from

  • closing the communication gaps betweens developers, business and management
  • finding working solutions to complex problems
  • delivering projects reliably with high quality.

Over the last twenty years I have been responsible for ensuring success of software development efforts, either as a Team Lead / Engineering Manager, Agile Coach, Software Architect, or Developer. Coming from an academic background in Computer Science and Computational Linguistics, I have been working with teams on applied machine learning for computer vision, healthcare information systems, content management systems, eCommerce systems, intelligent search and natural language processing projects, usually from design to running a system in production. I love working in teams which take responsibility from requirements to flawless operation.

Agile experience and Leadership know how

As a Scrum Master or Team Manager, I try to help my team by taking care of organizational roadblocks but get out of the way otherwise, regardless of whether the team consists mostly of internal developers or outsourced external contributors. I also often support the business with formulating project or product vision, defining requirements and setting priorities.

I have significant experierence working in international distributed setups. Working on interesting topics on projects that make a difference is what I want to do, and if this involves working with people and taking responsibility, all the better.

Leadership

Team Leader / Manager

For over ten years I have been the manager for cross-functional international teams consisting of developers, testers, product owners and scrum masters. I know how to help people grow, how to have tough conversations when necessary, how to make teams successful and how to hire and on-board good people for a team.

Agile

Agile Coach / Scrum Master

I first learned about agile in 2007 with Extreme Programming (XP) and have so far not found a better way of working. I have been serving as the Scrum Master or Agile Coach for various teams since 2009. I know how to run retrospectives that will help teams to uncover better ways of working and how to use very low-tech solutions to visualize progress. Multiple times I introduced teams to Scrum and to the ideas in the agile manifesto. I have experience in multi-team settings and have applied ideas of SAFe (the Scaled Agile Framework) and Less (Large Scale Scrum) to improve the collaboration.

I've written several articles on agile topics in my blog.

Project management

Since 2002 I am used to manage projects, from defining project vision and requirements engineering over work breakdown to cost controlling and status reporting. I am used to work both with internal teams and external suppliers, including work on contracts.

Software Architecture and Development Knowhow

In my experience, the difference between programming and software engineering is that the former is about typing away to get the problem solved and the latter is about understanding the problem first and then thinking about how to solve the problem within the given constraints. My goal is to find simple solutions (not necessarily easy solutions), i.e. solutions that are not complex which benefits long term maintainability. Thinking a little about the design of a piece of code usually already outclasses jumping into coding, without requiring the big design upfront.

Architecture

Agile Software Architecture

I am a Certified Professional for Software Architecture (Foundation Level), but more relevant is the personal experience gained from working on the architecture of systems in practice. I take an agile approach to define the architecture of a system with the responsible team and make sure that quality aspects such as scalability, security and maintainability get as much attention as the functional requirements.

Low-effort ways to document decisions and designs like Architecture Decision Records, Arc42 or the C4 model are in my experience more useful than highly formalized approaches to documentation.

Clean Code

The Clean Code and Software Craftmanship movements with their focus on code quality and maintainability are important to me. Practising test-driven development, pair programming and code reviews are good ways to align the developers in a team.

Programs must be written for people to read, and only incidentally for machines to execute.

-- Harold Abelson, Structure and Interpretation of Computer Programs

Languages

Functional Programming

I don't code a lot these days, but when I do, I prefer working with functional, dynamically typed programming languages like Clojure and Common Lisp. The power of a Read-Eval-Print-Loop (REPL) allows quick and easy experiments to drive solutions without having to wait for the dreaded compile-run-debug cycle to complete. Immutability prevents a big pile of problems that plague most systems today.

Object-Oriented Programming

I started working with OOP in the early nineties. I have professional working experience in Python, Java and Javascript.

Otherwise

I've seen and worked with many other languages, too, some of which were pleasant to work with (e.g. Perl or Ruby), some not so much. I am not keen on working with PHP, C++ or C#.

Languages

Python
Status:recent use, fair knowledge
Type: web applications, command line applications
Clojure, ClojureScript
Status: no recent use, good knowledge
Type: web applications, SPA, REST APIs, text classification
Java
Status: no recent use, five years experience, fair knowledge
Type: web applications, web services (SOAP)
Javascript, TypeScript
Status: no recent use, basic knowledge
Type: web applications, SPA (React)

Get In Touch.

Contact Details

I prefer being contacted by email, but feel free to follow me on Mastodon.

Dr. Holger Schauer
Picture with my email
Picture with my contact detail