- /
- Services/
Services
Table of Contents
How I’m different
When working on a problem, I see multiple steps ahead in all directions.
That’s why I build well designed solutions.
Not the shortcut costing you in 6 months. Not the quick fix.
I architect systems that teams can actually maintain and extend after I’m gone.
Quality is speed, for the long term.
I work best solving complex problems
independently,
not when executing someone else’s specifications.
I
coach & teach teams testing & development practices and advocate for observability,
clean systems, and simple development processes.
I leave your team more capable.
Services
Working through technical debt
I take complex, tangled systems, make sense of them, and make them maintainable.
I dive into those systems, document them, and make them testable,
so that they stop breaking when changing them.
Deliverables:
- Analysis reports with concrete specifications
- Hands-on development to improve complex systems
- Re-writing AI-generated code to be maintainable for humans
Introducing TDD and improving testing infrastructure
I analyze how we can apply suitable testing strategies and/or introduce TDD
in your specific code base.
I teach and mentor the teams to understand and adopt the practices.
I introduce tests in coupled and legacy code bases.
Deliverables:
- Tailored workshops on TDD and testing
- Introducing testing to code bases or application flows
- Analysis and recommendation reports for testing strategy
Technical mentoring, coaching & team building
I mentor developers and teach engineering practices, workflow optimizations, reviewing strategies, optimal tooling usage, decision making and coding standards.
This can happen in 1-on-1 sessions and trajectories, through pair programming sessions, or through small group workshops.
Deliverables:
- Measurable growth & learning plans for your developers
- Performance and speed improvement in day-to-day development work
- Hands-on senior knowledge transfer
Read more about my vision on coaching & mentoring.
Feature building
I design modules to be consumed by other humans.
That means architecting pragmatic and simple solutions.
To do this, I make sure we understand the business requirements, domain language and coupling with internal and external systems.
It is not the easy way, nor the “quick win” way, but it pays off in the long term (and even in the medium and short term).
I slice complex problems so that we can continuously merge code and keep change sets small. I ensure that the work is always in a state where it can be picked up by others.
In other words, I make myself redundant and leave you with a working system.
When I build a feature, it comes with sensible inputs & outputs, a suite of tests, clear documentation and observability. I deliver a reference implementation for your team to follow.
Deliverables:
- Well tested, loosely coupled modules
- Pragmatic plan of attack for complex problems
- Simple and maintainable solutions that you can build on
Portfolio
Check out the projects I’ve worked on, or have a look at my resume.
Smaller personal projects and experiments can be found on my GitHub page.
Contact
For questions, availability, sharing, connecting or discussing, reach out to connect@laurensdc.com.