Dennis Doomen | @ddoomen | Aviva Solutions
10 Things Professional Developers Do
Dennis DoomenThe Continuous Improver
19 years of experiencePrincipal Consultant @ Aviva Solutions
Codes in C# (and JavaScript)Designs using TDD, SOLID, YAGNI, WTF
Architects using DDD, CQRS, Event SourcingAuthor of www.fluentassertions.com and
www.csharpcodingguidelines.comBlogs at www.continuousimprover.com
Tweets at @ddoomen
They do notwrite code
for themselvess
10 to 1 ratio
Written for Others
Coding Conventions
Clean Code
Object Calisthenics
Code Documentation
Clean Source History
They do not cherry-pick
the fun work
Fix build stability
Increase testability
Fix production issues
Write documentation
Setup builds
Deploy a system
They knowthat they’renot alone
Give Credits
Seek Feedback
Embrace Criticism
Share the bigger picture
Present & Teach
They understand
their domain
Consider Event Storming
Protect those boundaries
Maintain the Ubiquitous Language
Problems / Painpoints
Identify boundaries
To DRY or not to DRY
They are aware of the trade-offs
Reversability / YAGNI
Nails, Hammers
MPV vs Formula 1
Boundaries vs Constraints
Performance Design
Extract and Control
They understandthe history and nature
of the status quo
Refrain from criticism
Ask, but don’t judge
Understand circumstances and the
historyRe-evaluate
circumstances
Understand people
They fight fear of change
Don’t ignore problems!
It causes technical debt
Add Characteristics Tests
It causes software rot
Create stubs for sub-systems
Use Git!
They will continuouslyshorten the
feedback loop
HTTP testability with OWINSelenium /
Browserstack
Test ParallelizationBuild Chaining
Artifact Dependencies
Automatic Deployments
Automatic Versioning
Build Scripts as Sources
They leave the campground cleaner than they entered it
Software rots
Refactor, refactor, refactor
Use Natural Refactoring
Improve test coverage, scope, readability
Fix bug? Add unit test first!
Apply Design Patterns
They think for
themselves
?
www.twitter.com/ddoomen [email protected] www.continuousimprover.com
www.fluentassertions.comwww.csharpcodingguidelines.com