Live and let code
Two blog entries have made me come back from work induced blog hibernation. First, Chris bloged about how Coding skills are no longer enough in his daily blog. In response, John Reynolds says that "If you learn to communicate with your business people, and you treat them with respect... your odds of keeping your job will dramatically improve (and you might even make a few more friends)."
Hmm true and true. However here is my take.
Which programming job doesn't require you to understand the problem domain? And by learning the problem domain, aren't you understanding the business? I would be very very surprised if I were to walk into an interview and be expected to know everything about the company's business models. Even within the same vertical markets, each business does things differently. So the idea that there were programming jobs earlier which didn't require the programmer to understand the business is perhaps naively incorrect. All jobs require specialization.
IMHO pure programming (is there such a thing?) has never been a commercial selling point, except perhaps for graduates. It's a means to an end and what really differentiates a good and an average programmer is the ability to transform programming skills to analytical skills to solve business problems.
I am a classic case of a person who cannot remember every little programming detail or API. Yet, increasingly, interviews require me to dig into my feeble memory bank and remember the last little API or language feature. This interview was a case in point. What I have now learned is that I have to showcase my experience in the industry as a selling point, rather than cram the Sun Certified programming guides overnight. The businesses that are ready to accept this are happy with that, and I am happy with them. It's a true symbiotic relationship. I don't fully pretend to understand what they do, while they don't pretend to tell me how to code.
Ok ... sometimes, the business people tell me to simply add a new 'flag' to the table to implement the new feature... I tell them that the business really does not need the new feature. As I said, a true symbiotic relationship.