An overview of the three stages of a programmer's professional development — Junior, Intermediate, and Senior — and the different focuses required at each stage, from writing efficient code to leading architecture and technology strategy.
Why developer experience (DX) is just as important as user experience — clear interfaces, clean and maintainable code, planning for scalability and incremental change, and the human behind the code.
A leadership story about a team member who developed toxic working relationships, and the unconventional decision to make them the next ScrumMaster — to channel their energy and cultivate empathy for the role.
A guide to the `dotnet build` command — what it does, its advantages (incremental compilation, dependency management, consistent output) and tips for optimal use such as build configurations, build events, and parallel builds.
Introduction to the Microsoft .NET framework — its cross-platform development versatility, core features such as C#, the CLR, ASP.NET and Entity Framework, and the business advantages it provides in scalability and security.
The role of a software architect is to bridge the gap between business requirements and technical solutions — system design, technology selection, integration, risk identification, and technical leadership.
Five pillars of software architecture: the essence of the field, the role of the software architect, key principles such as modularity and separation of concerns, common architectural patterns, and the importance of communication and collaboration skills.
Introduction to .NET software architecture — layered architecture, design patterns, scalability and performance, and the role of the software architect in system design, team leadership, and stakeholder collaboration, with examples from e-commerce and enterprise applications.
A balanced overview of .NET programming — advantages such as language independence, rapid development, cross-platform support, and security, versus disadvantages such as the learning curve, platform dependency, licensing costs, and vendor lock-in.
An unfinished post sketching the first two of Amit Kuzi's twelve rules for software development — common sense, and requirements first — with the rest marked to be continued.
A short argument for accepting that perfection isn't achievable or necessary, and instead relying on short iterations, continuous improvement, and retrospectives to reach quality faster.