InfoQ Homepage Software Craftsmanship Content on InfoQ
-
Assessing and Improving Model Quality
Darius Silingas emphasized the need for quality models in MDD, presenting a number of anti-patterns along with best practices for creating them.
-
Software for Your Head
Jim McCarthy makes a passionate call for developers to rise up to their call and make their software great, sharing their light with the entire world.
-
The Ideal Programmer - Why They Don't Exist and How to Manage Without Them?
Mike Williams outlines some of the main characteristics that make developers and teams perform better than the average.
-
Entirely Predictable Failures
Poul-Henning Kamp considers that if developers are not getting better, we are going to repeat many of the major IT project failures. He exemplifies with major Denmark project failures.
-
Technical Debt, Process and Culture
Michael Feathers advices on creating an organizational process and culture that can enhance software development in a way that reduces technical debt.
-
Accruing Technical Debt: Practical Decision-Making and Its Business Relevance
Christof Ebert discusses technical debt including a Netscape vs. IE case study and provides a framework with practices for managing technical debt.
-
Beauty is in The Eye of the Beholder
Alex Papadimoulis attempts to define ugly code, how one can recognize it, providing advice on avoiding writing such code and refactoring old code to get rid of it.
-
Master-Builders Have Rich Conceptual Models of Software Design
George Fairbanks stresses the importance of having a good grasp of various conceptual models in order to be a master-builder, translated into development as “learn your software architecture”.
-
Building Rich User Experiences without JavaScript Spaghetti
Jared Faris provides 3 principles –decouple everything, make it testable, push events not state – and some patterns which help avoiding creating JavaScript spaghetti code over time.
-
SOLID Clojure
Colin Jones discusses applying the SOLID OOP principles to Clojure programming in order to create systems that are easy to change.
-
Stop Refactoring!
Nat Pryce considers that we cannot write the perfect code because it is never fully prepared for the coming change, so he suggests embracing impermanence & continual imperfection.