So… Who’s to blame?

Often when working in a team of developers, you find you’re coming across code that doesn’t work. A method that throws an exception, or a file that was added to the project but not checked into source control that prevents the application from building successfully.

Well, if your first instinct is to ask yourself “what have I done?”, then that’s commendable but not necessarily the quickest way to solve your problem. Sod’s Law may come to your rescue.

Sometimes the only way to spot your own mistakes is to ask someone else (or, worse still, blame them thinking it was their fault). The chances are you’ll work it out before they even open their mouths. Of course if you don’t, then you get egg on your face.

So while this may not do wonders for your pride, you may find that the very thought process of asking the question forces you to organise things in your head in such a way as to make you see the light.  Even if you’re just stuck on a seemingly unsolvable problem, having a sounding board can often help the thought process.

Try it out, let me know what you think.

Promises, promises

In my experience, there’s been an age-old war waging between sales and implementation. Salespeople often promise things to get the deal, or worse still promise things in less time than it’ll take to pull it off.

I’ve been on both sides of this fence during my career in the software business. I learnt that sometimes you don’t promise things you don’t have, then another vendor will (even if they’re in the same boat as you) and you’ll lose the deal and thousands in support contracts.

That doesn’t mean I’m saying it’s right. In fact, it points out a fundamental problem with the software industry in general. The competition has become so fierce that more lies are being told by vendors, resulting in more failed projects for customers, resulting in a general opinion in the press that “all” IT projects are doomed to miss deadlines, run over budget and fail to deliver the promises.

I guess many of us have come across this scenario before (I know I have), and found it to be a somewhat painful experience. If you’re a salesman, you’re worrying whether the developers are going to get it done on time, and if you’re a developer, you’re worrying whether you’re going to get it done on time.

Maybe it’s time for a sea-change? One where salesmen give realistic timescales and tell the truth about what they can and can’t do, and where customers are more trusting, and accept longer delivery timescales in the confidence that they will get what they asked for.

Laptop Development

I’m a developer, and yes, I use a laptop.

I have a nice 17″ Sony Vaio, which is nice and fast, well built etc. Since I work from home, it’s convenient for those days when I go to my boss’s house or the office. Here’s the spec (in case you’re interested):

Sony VAIO BX297XP Notebook – Intel Pentium M 760 2GHz – 2GB RAM – 200GBHD – DVD±RW(+R DL) – NIC – 802.11b/g/BT – TPM – Fingerprint Reader – Centrino – Win XP Pro – 17″ TFT WUXGA (1920 x 1200)

We’re led to believe that laptops are supposedly slower or less powerful than desktops. Or that usability is an issue.

Jeff Atwood proposes The Programmers Bill of Rights, which includes multiple screens. One of the added benefits of a laptop is that I can hook my monitor into the monitor port and go dual-screen! Nice.

The ergonomics falls a little way short of a conventional setup, as the screen is practically on my desk. But on the plus side my company kindly bought me a Micro$oft wireless keyboard and mouse, which has made life much more comfortable as it allows me to put the laptop on something to raise it up (apart from the obivous benefits of not using the built in mousepad).

The HDDs are a little slower than you’d get on a standard desktop machine, but I have 2, and it’s configured for optimal use which balances things out quite well.

In my opinion, laptops are definately a viable solution for developers. There’s a massive flexibility gain, and the only cost I can’t avoid is when it comes to upgrades. Maybe I could’ve got something more cost effective than a Sony, but it’s in constant use and I’ve used a few laptops over the last couple of years that couldn’t take the heat…

Working from home

You may already know I’m a C# developer. At the back end of last year I began work for the software team at a logistics
firm in the UK. The difference with this job? I get to work from home.

Now, I appreciate it’s not for everyone, but it works really well for me. I decorated the back bedroom of our house, rearranged my desk and now call it my office. I get up at the same time as I used to, and once my wife has left for work, I also “go to work”.

“But how do you communicate with the other developers?” I hear you ask. Well I have a company mobile phone, and us developers all have Skype installed on our laptops. This allows for instant messaging and file transfer, as well as voice calls and conferences. With the addition of the occasional meeting at the offices of a local distribution centre, it works.

So while it may not work for everyone (and I was sceptical at first) it seems that it was a gamble worth taking. I’m generally more relaxed, get more done, and don’t have the stress of the 1 hour drive up the motorway twice a day.

Anyone else tried it? Maybe have a different opinion?

Hello world!

This is to be yet another programming and development techie blog, so it seemed appropriate that the first post would be the classic “Hello World”. Here I’ll be posting on various topics based mostly around C# and ASP.NET development where, after much wandering in the wilderness, I’ve decided to settle down.

And so it begins…