10 things professional software developers do
TRANSCRIPT
![Page 1: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/1.jpg)
Dennis Doomen | @ddoomen | Aviva Solutions
10 Things Professional Developers Do
![Page 2: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/2.jpg)
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
![Page 3: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/3.jpg)
They do notwrite code
for themselvess
10 to 1 ratio
Written for Others
Coding Conventions
Clean Code
Object Calisthenics
Code Documentation
Clean Source History
![Page 4: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/4.jpg)
They do not cherry-pick
the fun work
Fix build stability
Increase testability
Fix production issues
Write documentation
Setup builds
Deploy a system
![Page 5: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/5.jpg)
They knowthat they’renot alone
Give Credits
Seek Feedback
Embrace Criticism
Share the bigger picture
Present & Teach
![Page 6: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/6.jpg)
They understand
their domain
Consider Event Storming
Protect those boundaries
Maintain the Ubiquitous Language
Problems / Painpoints
Identify boundaries
To DRY or not to DRY
![Page 7: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/7.jpg)
They are aware of the trade-offs
Reversability / YAGNI
Nails, Hammers
MPV vs Formula 1
Boundaries vs Constraints
Performance Design
Extract and Control
![Page 8: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/8.jpg)
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
![Page 9: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/9.jpg)
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!
![Page 10: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/10.jpg)
They will continuouslyshorten the
feedback loop
HTTP testability with OWINSelenium /
Browserstack
Test ParallelizationBuild Chaining
Artifact Dependencies
Automatic Deployments
Automatic Versioning
Build Scripts as Sources
![Page 11: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/11.jpg)
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
![Page 12: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/12.jpg)
They think for
themselves
![Page 13: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/13.jpg)
?
![Page 14: 10 Things Professional Software Developers Do](https://reader036.vdocument.in/reader036/viewer/2022081605/58ef71491a28ab825e8b46ad/html5/thumbnails/14.jpg)
www.twitter.com/ddoomen [email protected] www.continuousimprover.com
www.fluentassertions.comwww.csharpcodingguidelines.com