Pointy-Haired Bosses and Pragmatic Programmers
The keynote at CodeMash this morning was really excellent. Venkat Subramanian
made some excellent points about testability, maintainability and outsourcing.
At one point he drew a correlation between exercise and unit testing. All of us
will admit that exercise is a “good thing” to do but when asked to actually
exercise we have any number of excuses why we don’t want to or can’t.
The same thing happens with unit testing. We’ll all admit that its a good thing
to do but we never have the time to do it.
One argument we make for why we don’t write tests is because our code “isn’t
testable.” Well the phrase “My code isn’t testable.” really just means “My
design sucks.”
He also talked about outsourcing and why the normal excuses for it just don’t
work anymore. Outsourcing 1.0 was basically the idea that you should hire
designers in American and lowly programmers in Asia. Think back to the .com boom
when we had the programmers and designers all in the same physical location and
how that worked out for us. Now add oceans in-between them and that should work
better, right? The real strategy you’re adopting by throwing more, albeit cheap,
people at a project is you fail-for-less.
Outsourcing 2.0 involves more than just simply hiring programmers in Asia, it
involves integrating them into the team. Sending people from America to Asia and
bringing the Asian programmers to America is what’s needed to integrate the team
and set yourself up for success. At that points it’s no longer a cost saving
measure, you’re adding team members for the perspective and talents.
Overall quite excellent. I hope they where taping that and that he posts his
slides. I’ll update the post if they do.
I also loved the keynote, especially “My code isn’t testable” == “My code sucks”.
Venkat’s talk on Scala just after that was also great. His energy and smarts are inspiring.
Aaron said this on January 9th, 2009 at 3:14 pm