code formating

Tuesday, February 7, 2012

Automate everything you can


Here is question: If I were the manager of the team I am on right now, what would I suggest to improve?
There are many things that come to my mind. "Change the language we use to X" I could say, or "Why dont we use Y methodoly?". Well given a chance  I would probably say "We should change the editor to E and the operating system to L and the version control to M and the web server to N and the database to P ...". Most of these options are very strong opinionated,  sometimes  even religiously defended.

The pragmatic programer book, it's a book I strongly recommend to any sotware programmer that whish to improve his/her programming habilities. The book tries to guide you without imposing specific choices and for the most part it manages well. However, one point on that book it's been carved deep on me this time. It's a point that objectively will help any development team. It is not a specific product and I believe it could work on any team. it's called software development proccess automation.

Automate the hell out of your softwaer building process. Even if your building proccess it's as simple as compile and publish to live, do it automatically.
We build programs to automate real life proceses and forget to automate our own software writing process.

You see, Douglas Adams quotes this "I am rarely happier than when spending entire day programming my computer to perform automatically a taks that it would otherwise take me a good ten seconds to do by hand"  from Last Chance to see. The problem here lays on the number of times we need to repeat that task. If we repeat it 10 X 6 X 24 times, we are already even. From them on, we'll be winning forever. And I should point out that I do not like the forever word but I use it to make a point.

So, you might argue about all the things I told you in the first paragraph but please, don't argue about the usefulness of sofware automation.

Programatically walk a CATIA tree in .NET

One of the most basic tasks when automating anything in CATIA, it's usually to walk the whole tree and apply some changes to objects in ...