A while ago, I had to explain, not for the first time in my career, why using interfaces, having loosely-coupled code, and writing tests (first) is a good idea. Time and again, I find developers, teams and companies resisting certain ideas that have been around for years or even decades. One of the reasons often stated, is novelty. An idea, principle or technology is refused because it is new and who knows what the next thing will be. Better to

This article was written for a friend, who works in a company where developers are local admin on their PC’s, but don’t have access to the registry. I’m not sure if this is a Windows thing, or some custom solution of that company, but needless to say, developers weren’t happy with the situation. This article attempts to find some middle ground, but also explain, for non-technical people, why developers need access to the registry. Why do developers need access to

Pardon the cheeky title, but I’ll explain myself. Of course, your project is special, in that it is your work, your passion, your hobby, or possibly your nail-in-the-coffin although hopefully not. The point I would like to make is that we should avoid thinking our project is an exceptional project, and our specific problems haven’t been solved elsewhere. Often, teams or companies are confronted with a problem and they very quickly start implementing a solution. Instead, what they should do

I’ve worked on several enterprise-grade projects, both jumping in existing projects and starting from scratch. In these enterprise environments the applications I helped write were almost always entirely custom built. There was even a feeling of distrust towards pre-built UI controls (Telerik, DevExpress,…). We felt these libraries provided basic functionality but never met our specific requirements. Moreover, the time and hacks necessary to meet these requirements would not be worth it. In one case, we were able to “prove” that

CORRECTION: The post referenced in this article is an old post by Scott. Somehow, I managed to look over the date of Scott’s post and assume this was the most recent post. So while my reaction is very much late, and I believe Scott has moved on (as he mentions in his most recent post), I believe the points made still stand. While Scott won’t use a list of trivia questions anymore, too many companies still do.My apologies to Scott

If you’re not familiar with the Joel Test, it’s a list of 12 questions by which you can assess the quality of a software product/team: Do you use source control? Can you make a build in one step? Do you make daily builds? Do you have a bug database? Do you fix bugs before writing new code? Do you have an up-to-date schedule? Do you have a spec? Do programmers have quiet working conditions? Do you use the best tools

On every project I’ve worked on, I’ve come to a point where performance or memory usage of the application is an issue. And every time, the company has no license for a profiling tool, nor do they want to invest in it. Every time, we’ve had to resort ourselves to free trials of tools, which only last for a couple of days. When that trial period is over, and you encounter a similar problem 3 months later, you have to

Those who know me, know I’m a big proponent of unit testing. I try to write my tests first, but I don’t believe in absolutes. If you write your tests afterwards, at least you’re testing. But not everyone is even convinced of the value of automated tests (be it unit, integration, end-to-end). Frequently, this discussion is a pointless one, because it’s all about vague arguments and based on experience. You have to take a ride in the car (or at

The project I’ve been working on for the last year and a half has finally gone into production. That is, it was already running along in production, but it wasn’t steering the big furnaces it was meant to control yet. (These furnaces heat up big slabs of steel to be able to roll them down to thin sheets of steel). I’m proud to say that up until now, the switch from the old, Fortran-based system to the new, .NET-based system

I don’t like tech certifications. At least not the easy to medium level ones. Maybe the really hard, top-level certs are worth something, but other than that, I find them close to useless. And expensive. Technology exams and certifications are, unfortunately, still quite in demand. Job postings either mention it as a requirement or a plus, or consultancy and recruiting firms mention it to potential clients. My guess is people who require certifications from candidates either have little technical knowledge