Certifications

Rob Farley posted an entry on how skills are evaluated at both the CV and interview stages when employers are recruiting staff. I agree that having certifications increases the odds that you know more than the next guy, but I think the phrase “Use it, or lose it!” certainly applies. Certification coupled with real-world experience is definitely a plus.

Several months ago, I spoke with guys in an IT department and they actually thought it was a minus when candidates had a MCSE due to the fact there are so many BrainDumps out there. They had interviewed a large number of candidates and a pattern emerged that a large proportion of people were getting the MCSE but had very little on the job experience. I know Microsoft is making headway against the dumpsters by steering towards sandbox exams where you actually have to perform some task in a ‘live’ simulated environment. This is a much more realistic way of accessing skill levels and much harder to ‘cram’ for.

Earlier this year (and the end of last year) I participated in the SQL Server 2005 beta exam program. The interesting thing about the beta exams is that there is very little information around at the time you take them.

As an aside, I’ve attended a couple of interviews recently and not one of the interviewers asked me about my MCSD and MCITP SQL Server 2005 certifications, or wanted to see any proof of passing. But I still think they are worth having.

Web Design Tips

I would hardly call myself a web designer, so I always take note of resources that can help with the look and feel of web pages. Here a few resources I’ve found. There is a superb and short web design tutorial here by Jennifer Apple, including links to other great resources. Elsewhere on the site, she has advice on using subtle borders to make images really stand out.

You can find a lovely web based colour scheme generator here. This is one of the best and easy to use that I’ve come across. Have a quick read through the help section, where you will find tips on creating an optimal colour scheme.

I can also recommend Scott Kelby’s very accessible book “Photoshop CS2 for Digital Photographers”.

(You can tell I’m originally from the UK, by my refusal to spell ‘colour’ as the US version, ‘color’!)

Stock Photographs

I’ve been a keen photographer for several years, and have a few images with the UK based stock photography agency, Alamy. I’m particularly fond of designs in nature and abstract themes. The whole stock library scene has changed dramatically since high quality digital became affordable.

Stock photography by Mitch+Wheat at Alamy
Stock photography by Mitch Wheat at Alamy

A professional photographer (it may have been Roger Garwood) once told me that unless you have 1 or 2 world famous images, you can expect to earn $1 per year for every 100 photographs you have in stock. I don’t think he was too far out with that estimate!

Virtual PC 2007 Beta Available

You can download from here (need a Microsoft passport to login). The good news is that it supports running Windows Vista in a virtual machine and running virtual machines with Windows Vista as the host OS, as well as improved performance.

Code Complete (by a Code Complete Zealot!)

I am often surprised (actually horrified!) to find programmers/developers that have not even heard of Code Complete (by Steve McConnell), let alone read it. If you are a programmer who has not read Code Complete then you should. It should be a required book for all university computer science courses, purchased on day one and lovingly cherished during the course of your studies! Recently, a programmer surprised me even more by belittling it without even having read it (you know who you are). Shame on you!

Every time I pick up ‘Code Complete’ I learn something from it. I am not exaggerating. I’ve owned a copy of this book for a little over 10 years (now in its second edition), and I learn something useful every time I pick it up. I could perhaps say that of only a handful of books. It might be something I’ve forgotten to pay sufficient attention to rather than something earth shatteringly new, but nonetheless I learn something. Don’t take my word for it, do a few searches yourself and look at the accolades, praise and comments by respected practioners.

Actually, now I think about it, I’m not really a Code Complete zealot, just someone who hates reinventing the wheel, especially square shaped ones…

Transact SQL SARGs (Search Arguments)

The term SARG (or search argument) is used to describe whether a Transact SQL WHERE clause will be able to take advantage of any indexes present on columns in a table.

For example, this can use an index:

SELECT SomeColumn FROM MyTable
WHERE SomeColumn LIKE ‘Whea%’

But this can not:

SELECT SomeColumn FROM MyTable
WHERE SomeColumn LIKE ‘%eat’

This important topic is covered in some detail in the following references:

pgs 351 – 368, Guru’s Guide to Transact-SQL, Ken Henderson
pgs 318 – 326, SQL Server Performance Tuning Distilled, Sajal Dam

SARGs are also mentioned in this more general performance tuning article.

CodeRush

CodeRush is truly a marvel. It’s an add-in to Visual Studio that makes coding more productive. It really is a superb tool; after you use it for a few days, you’ll wonder how you managed to code without it. In my opinion, there is only one thing wrong with it: the price tag of US299.00 (approx AU400) for a single license. If it cost US$149.00, I would have purchased it without giving it a second thought (I think developers that are buying their own tools or operate as one-man shops will not be able to justify the current price tag. I’m not suggesting they should give it away; I realise how much it costs to create something like this, but they may need to re-think their licensing scale.

CodeRush is well worth checking out. To receive an evalution copy you will need to send an email to the address on this page. There are several training videos here. Scott Hanselman covers CodeRush in part 4 of his Productivity Tools for Developers webcast that I linked to.

More Agile…

I’ve just noticed that Jeff Atwood has posted comments on Steve Yegge’s most recent post. I think he puts it much more eloquently than I did:

“In order for programmers to be effective, they have to believe in what they’re doing. Whether that belief is scientifically and empirically provable or not is completely irrelevant”

For a Few Test Cases more…

Steve Yegge caused such a stir with his original post on Agile methodology that he’s written a follow up, Egomania Itself (in case you’re wondering, it’s an anagram of Agile Manifesto!). He covers a lot of ground with references to some very important concepts such as “selective reinforcement” and advocates commonsense when he observes ‘Whenever you hear Agile people asking around for “success stories”, remind them politely that only looking at the positives is pseudoscience.’

Using Agile will not guarantee a project’s success. People will. But the central tenet of Agile is “People First”. Rather than talking about whether Agile works or not, we should be extracting those things that do and applying them where appropriate. Test driven development to me seems a no-brainer (despite the fact I still struggle to write code this way). Steve Yegge writes well, and I believe he makes several excellent points, but I don’t agree with every point.

“Most great software developers around the world don’t use Agile. They just work hard, they stay lightweight,…” but wait, isn’t lightweight exactly what the Agile camp say is the second most important thing you should take care of (after people)?

Steve references a superb ACMQueue article by Jef Raskin titled “When we don’t understand a process, we fall into magical thinking about results.” I believe that every developer should read that article. I have long believed that one of the personally traits that benefits programmers greatly, namely seeing patterns quickly, can also become a drawback if we make connections where none are present. Seriously, if you read just one article this week, read Jef’s.