Idiots with credentials (rant)

Great, first the ACS, now Engineers Australia have fought for the right to accreditation of IT professionals. According to this article, I’ve now got 2 bodies wanting to accredit me.
No, I’m going to put it more bluntly. Two outdated, inconsequential organisations who wouldn’t know real world software development if it was stuck up their respective asses with a bamboo pole are interested in getting money from me so they can say that I know what I’m doing.
Well, guess what. Fuck you all. I actually know what I’m doing. And you can just piss off with your money making ventures in the guise of professional standards for the industry – attached to an accreditation scheme – would improve risk management practices in Australia and put “downward pressure” on IT project insurance costs. Who has the highest insurance schemes for their professions ? I’d guess doctors and lawyers. Two of the most heavily regulated and accredited professions on the planet. Why ?
Moving on anyway. We all know that having licensed drivers means we have no accidents on the road. All the current crop of “professionals” in HIH, Enron, Accenture (all with sparkling credentials I’m sure) that perpetrate these crimes means that it some validity. Yeah. When was the last time a computing professional was sent to prison because they didn’t perform their professional duties on such a significant scale ? And we want to follow that model ?
They’re idea of accreditation is going to continue the long standing “risk management by writing documents” tradition that is handicapping our industry. For people who think that “success == control” in software development have a read of this very interesting paper.
And as for this sparkling bit of advertising placed as news it is expected to be a sought-after expectation of employers, well, as somebody who actively interviews people and provides recommendations on hiring I can honestly say that I don’t give a shit if you’ve got a piece of paper that says you’re a genius. I’m more impressed to see that you’ve spent time writing Open Source software and show a geniune passion for the occupation that you’ve chosen. I’m more impressed if you can tell me about the activity in the industry and tell me about the books you’ve recently read. I’m even more impressed if you can show me your blog, or your postings where you’re helping others in the industry by answering questions about which you have expertise.
You know how to put downward pressure on IT project costs. ? Get people who know what they’re doing. It’s not that hard. But what it does mean is that the management of organisations need to show a bit of diligence in project operations.


Back on the horse

On Saturday, I climbed back on the horse that threw me. Well, to be fair, Sue and I have bought new road bikes, and I rode along a flat bit of road for 40k, so while it’s not technically the same, it felt like it for me.
Thanks to Rupy and Susi who came along for the ride, the brekky at Williamstown is worth the ride.
I was pretty scared taking off, but after a short period of time, had forgotten about being scared and enjoying the company and the beautiful day that we had. My arm was sore near the end of the ride, and also on Monday. (It always seems to take 2 days to get sore).
Looks like it’s good enough to be back out now. Which is great. Yay!

Idiomatic IDEA

I’ve been fortunate enough to get a license for IDEA, especially after the encouragement (read nagging) by all my cow-orkers to give it a real try. I’ve been using Eclipse for 2 years and been pretty happy with it, as it does what I need, in a way that I like (or at least grown to be used to)
The version of IDEA that I have (4.5.4) has a huge improvement in things that I didn’t like about it before (CVS integration and Emacs keybindings) so I’m really looking forward to giving it a red hot go.
Now, all the IDEA users are thinking, so, why isn’t he thrilled ? Well, in a way I am, but because IDEA and Eclipse “work differently”, and I’ve been using an Eclipse mindset for so long, I’m interested to know how people use IDEA in a way that works for them.
For example, I’ve checked out a project (BouncyCastle), imported it into IDEA and changed a few files. Now, in Eclipse I can easily see in my project view which files are changed, as it will annotate the view with widgets. How do I get the same results in IDEA ? Or more importantly, how do IDEA users find out what things are changed ? I’m not trying to make IDEA like Eclipse, I understand they do stuff differently, I’m trying to learn the work habits that are more compatible with IDEA.
I tried playing with the settings in the Fonts and Colours areas, as they look like I can change the style and colours of files like this, but in the default Project and Packages view, the font colour changes, but none of the other decorations (italic, underline, background colour) appeared to have any effect.
Also, the module and project files that are created. Where do people normally put them ? In the project itself (like Eclipse, which I hated) or in a separate directory (which is what I’ve currently done).
I’m also a little confused by the “intellisense” in IDEA. I tried this;
Lis(Ctrl-space) expecting to get “List” or a box to choose from. And I got nothing. But when I typed in List and then space, I was prompted to hit Alt-Enter to fix it up. (Kinda like the Eclipse quick-fix stuff). One of the things I really liked was to have nice descriptive class names but using the Eclipse intelli-sense stuff, I could just type in a small number of characters and get it to fill in the rest.
Another great improvement (for me) was the ability to filter the Class find completions so that I could ignore java.awt.* or java.swing.* when I’m doing a J2EE project. This gets around the (very) annoying java.awt.List and java.util.List choice barfulence that Sun created. Eclipse lets me do this, how can I do something like this in IDEA.
Help me learn…… Tell me the things that makes IDEA the environment easy to work with.

Feedback cycles and communication

One of the highly regarded practices of Agile development is the rapid feedback loops from the development cycles. This can be extended into all areas of an organisation including non-development activities.
The support departments can use feedback loops to determine defect fixing/creation rates and put in place a plan for improvement. The infrastructure teams can measure issues during deployments to determine corrective action, and management can look at costs and benefits of projects to fine tune processes.
There is one thing common in all of these activities, it is the corrective action as part of the feedback cycle. Without that, the loop is unclosed, and any goodness you might accumulate during the activity is lost. More importantantly any corrective action that is required can only occur with sufficiently appropriate communication.
The communication in these sorts of situations are intented to assist in the improvement of the activity. My wife is an HR expert and has great qualifications in change management regarding people. Many of the same things she talks about are equally important in software development. After all, most problems we have a people problems, not technical problems.
So, when communicating feedback, have a look at this blog entry discussing the human factors involved in feedback.
Theres another aspect of feedback that I would like to add, it’s like goal setting, the feedback should provide clear and objective evidence of both good or bad things that occurred so that the people receiving the feedback can understand the specifics. This also includes timeliness of the communication.
It’s not enough to say “CruiseControl is brilliant”. But, “In our project, CruiseControl worked well, it took 1 day to configure and required low levels of maintenance during the project. We observed that Cruise managed to save wasted effort every iteration. We intend to use Cruise, or another CI tool on the next project”. Conversely, saying things like “You suck at Java” is equally not helpful. Provide feedback so the people performing the activity can improve their performance on the activity, and provide it in a timely manner.
Remember that while feedback is normally associated with “poor” behaviour, it’s vitally important to reinforce good behaviour. It’s all about being professional. Also remember that giving feedback is an activity, so, be prepared to improve that activity as well. As is giving feedback about feedback…….