Are you saying it is not possible to both be good at programming and have a good understanding of the business?
Of course there are compromises, but when you know both domains you make better compromises and trade-offs.
Are you saying it is not possible to both be good at programming and have a good understanding of the business?
No, I'm saying that what's merely possible doesn't matter, it's whats possible AND probable that's important.
That is, don't aspire to be THE exception that's excellent at both, first try to be adequate at both. This way, excellence at either or both, if it ever cames, won't have left you crippled at the other skill. Plus, it might never come anyway, in which case being adequate can get you a long way itself.
Also, my dichotomy (and what the original article talks about) doesn't concern merely "being good at programming", but about being preoccupied with excellence at programming -- the perfect architecture, masterful application of design patterns etc.
Most people I work with are well aware of why we write software. I can't think of anybody that is so preoccupied with the programming side of things that they disregard the business side.
So it's simply not a problem I encounter, but maybe your experience is different.
You've obviously never been in any debate involving promises vs callbacks, semicolons vs no semicolons, FP vs OO, emacs vs vim, android vs ios, R vs python, etc...
Comments
Because humans tend to be obsessed with one or the other, humans have limited capacity, humans tend to go overboard.
At the end of the day you have to learn to make compromises, and that you can't always have "both".
Are you saying it is not possible to both be good at programming and have a good understanding of the business? Of course there are compromises, but when you know both domains you make better compromises and trade-offs.
No, I'm saying that what's merely possible doesn't matter, it's whats possible AND probable that's important.
That is, don't aspire to be THE exception that's excellent at both, first try to be adequate at both. This way, excellence at either or both, if it ever cames, won't have left you crippled at the other skill. Plus, it might never come anyway, in which case being adequate can get you a long way itself.
Also, my dichotomy (and what the original article talks about) doesn't concern merely "being good at programming", but about being preoccupied with excellence at programming -- the perfect architecture, masterful application of design patterns etc.
Most people I work with are well aware of why we write software. I can't think of anybody that is so preoccupied with the programming side of things that they disregard the business side.
So it's simply not a problem I encounter, but maybe your experience is different.
You've obviously never been in any debate involving promises vs callbacks, semicolons vs no semicolons, FP vs OO, emacs vs vim, android vs ios, R vs python, etc...