Knowing the concepts is necessary but not sufficient. This article covers the patterns that show up in real projects and the anti-patterns that bite teams who skip fundamentals.
Patterns that scale
- Start with the boring, mature tool. Reach for advanced features only when you need them.
- Automate the steps you repeat — CI/CD, scripts, one-off runbooks.
- Instrument early — you cannot improve what you cannot measure.
- Make the common case fast and the uncommon case possible.
Anti-patterns to avoid
- Skipping .NET fundamentals — Read the official docs, build one small end-to-end project, then read the source of a well-maintained library.
- Copy-pasting without understanding — Type every example yourself. Understanding the moving parts is what separates a beginner from a hireable practitioner.
- No production observability — Wire logs, metrics, and traces on day one — adding them later is a multi-quarter project.
- No version control discipline — Pin versions, use Conventional Commits, branch from main with PRs reviewed before merge.
- Premature optimisation — Profile first. Optimise second. Most performance wins come from architecture, not micro-tweaks.
What senior engineers do differently
They write code that fails loudly and predictably. They prefer boring solutions over clever ones. They instrument first, optimise second. And they document the why, not just the what.
Summary
Pick one anti-pattern from the list above that you have actually done. That is the one to fix first.