This post started out to be a reply to another blog post about some detail of the red/green/refactor cycle in TDD. It ended up as a fairly extensive description of my own personal practice of doing TDD in C#, featuring quite some VS add-ins and discussing some (real-world) aspects of test-driven development along the way...
As a software developer, I'm especially interested in the various tools that are available to make a developer’s life easier. The knowledge about these tools also forms a substantial part of my professional assets. Most of the links that I bookmarked over the years point to some freely available stuff (e.g. OSS projects), and therefore I decided to make the collection available via Delicious. Maybe it will be useful to other people as well...
Most people - even the overwhelming majority of programmers - would say that the main activity of a software developer is "writing source code". But this is a fatal misconception - about 75% of all time and money (sometimes even more) is spent on some sort of maintenance activity. Far too little effort goes in the future maintainability of a software product during actual development, which in turn leads to software systems that cause substantial technical and financial problems..
I am practicing Test Driven Development (TDD) for some time now, and I hardly can imagine writing software another way nowadays, or could even imagine a reason why I should do so. Time to reflect upon my personal reasons for practicing and being so convinced about this technique...
As a freelancer who is constantly selling his skills on the free market, I always have to be up to date and keep myself informed about the latest technologies - at least cursory. Although you easily can go overboard with that, not doing it is just not an option, if you have to maintain your competence. Continuous learning and continuous improvement are integral parts of a software developer's professional life, and this post is about what I do for it and how I handle it...
As a freelance software developer, I am regularly asked in interviews if I am familiar with a certain technology or product, which is only natural, since potential customers each have their individual, company-internal development technology stacks. But as a freelancer, I must say that keeping up with all the latest technologies and related news is not just hard, it's simply impossible, and (at least as of yet) I refuse to even try participating in that rat race...
Yesterday, Microsoft announced the creation of the CodePlex foundation (CodePlex.org, which is different from CodePlex.com). It's mission is to bridge the gap between commercial software development and Open Source software, "ultimately aiming to bring open source and commercial software developers together in a place where they can collaborate". This could be a big next step for the acceptance of Open Source...