Blog

Build a solid core

April 8, 2007

Essential reading from Jean-Paul S. Boodhoo about building a solid core. This post contains a number of truths that I want to point out.

Many developers need to spend more time focusing on their core skill-set, as opposed to chasing after the current “hot technology of the month”

When I started out as a programmer, almost every book or article I've read was about technology (mostly related to C++ and later on .NET). The books and articles that I've read over the last year are mostly about core skill-sets: 

I've read the last two books for the third time already. The books that I'm planning to read this year are:

just to name a few. Keeping in touch with the "technology du jour" (I'm now reading the excellent Programming WCF Services) is also important, but not as important as the core skills. It's just that learning about Object-Oriented Programming, Domain-Driven Design and Test-Driven Development, Design Patterns, ... etc. are skills and techniques that you can keep using for many years to come. 

When asked the question “Do you know how to program in Objects?”, the answer is almost always a resounding yes. After a bit of careful examination it often becomes evident that lots of people (not just in the MS world) are writing procedural code masquerading as objects.

I must admit, I've done this too before I took a dive into Domain-Driven Design. I think this is used a lot in the .NET community, especially because Microsoft promotes it this way. The resulting code is hard to maintain and business logic is scattered all over the place.

My admiration goes to people like Karl Seguin and his Code Wiki, trying to create awareness and do something about it. Through the use-case of a Wiki, he shows how to create simple, maintainable, object-oriented software. Actually, the source code of the Code Wiki can be explored through the Wiki itself (how is that for eating your own dog food). If you want to become a better programmer, take a look at the source code and read the first two chapters of his book on The Code Wiki.

You can read as much books as you want without getting your feet wet, it's useless. Trying things out for yourself is fundamental in becoming a great programmer. Instead of reading books and articles, have a look at other people's code. Checkout the source code of your favorite open-source project and dive right in.

Wandering through the source of the Code Wiki, I found a class named SafeDataReader. It's a DbNull-aware DataReader. Why didn't I think of that? Well, I think I'm going to start using it right away.    

If you and your team want to learn more about how to write maintainable unit tests and get the most out of TDD practices, make sure to have look at our trainings and workshops or check out the books section. Feel free to reach out at infonull@nullprincipal-itnull.be.

Profile picture of Jan Van Ryswyck

Jan Van Ryswyck

Thank you for visiting my blog. I’m a professional software developer since Y2K. A blogger since Y2K+5. Provider of training and coaching in XP practices. Curator of the Awesome Talks list. Past organizer of the European Virtual ALT.NET meetings. Thinking and learning about all kinds of technologies since forever.

Comments

About

Thank you for visiting my website. I’m a professional software developer since Y2K. A blogger since Y2K+5. Author of Writing Maintainable Unit Tests. Provider of training and coaching in XP practices. Curator of the Awesome Talks list. Thinking and learning about all kinds of technologies since forever.

Contact information

(+32) 496 38 00 82

infonull@nullprincipal-itnull.be