Tuesday 22 January 2013

Programming - Divide and Conquer

Today has been one of those days where I have gotten my head down and done lots of code, unfortunately I can bring none of it here to share with you lovely peeps, perhaps I could look at some of the reflection (of images) work I was doing and post an update to my image processing labs from last year....

But, I have literally just this second had another interesting conversation, another developer in the same department as me is working on a project all of his own, he's implementing it all himself, selecting all the libraries and all the facettes he wants to bring to the party, it is truely and in all senses of the words "his baby".

And he's moaning, he's moaning that things don't work, that he's spend ALL day looking for the source of one exception and spend hours the night before looking at one piece of formatting, and complaining how shit it all is... And I want to shout...

"BUT YOU FUCKING MADE THIS YOURSELF!"

He's fallen into the true trap of the over confident, he's taken a managable task and thinking he knows best he's implemented it all in one big go, rather than pace it or do it over the months he's had, he's basically sat idle and been thinking "Oh that job I got on is a doddle, it can wait..." and clicked on youtube and lol cats et al.

Well, delivery time is nearing, and he's rush rush rush up the product rate... Check in, check in.... No, one mass check in, so he has no structure showing in the revisions, he has no progress, there's just this big black hole of three odd months and then code poking out all over and its falling over left right and centre.

Folks, don't do this, let me tell you from long hard experience, break a task down, do a function at a time, prototype things, and when you've got them working DO go back and review them, break them down into functional nuggets, put a comment on them (I am very much in favour of comments, unlike some other programmers out there) and remember to keep on track don't get distracted.

And if, like this fella, you don't know 100% quite what is required, and no matter how you've asked you're getting no apparent input, then write it all down, or at worse mock it up in code, and run is past people.  Do not just wait until deadline and then try to hand over a god awful mess of code.

No comments:

Post a Comment