I don't think it's possible to become excellent at both being a designer and a developer but I do think it's possible to become an excellent designer/developer and the distinction is important.
First of all, I think there's been a devaluation in the term "excellent"; every startup is hiring "the best people" and all teams are "A+". Under the current, debased meaning of the word, it's trivial to be excellent at both.
But, to me, to achieve excellence requires becoming the embodiment of the craft. An excellent engineer, when they have a spare moment of the day, they're thinking about an engineering problem; when they encounter a problem, they analyze it like an engineer; when they cook dinner, they cook as an engineer would. They don't just merely work as an engineer, they live as an engineer.
And because of this, you cannot serve two masters. Once you become excellent at engineering, you can't become excellent at design because to get to an level of excellence would require doing things which your engineering brain is screaming at you are wrong to do.
What is possible, is to become excellent as a designer/developer which is, instead, to focus on the embodiment of the inter-relationship between the two. To look at all problems as a fundamental tension between the two world views and an appreciation of how to thread the middle path.
First of all, I think there's been a devaluation in the term "excellent"; every startup is hiring "the best people" and all teams are "A+". Under the current, debased meaning of the word, it's trivial to be excellent at both.
But, to me, to achieve excellence requires becoming the embodiment of the craft. An excellent engineer, when they have a spare moment of the day, they're thinking about an engineering problem; when they encounter a problem, they analyze it like an engineer; when they cook dinner, they cook as an engineer would. They don't just merely work as an engineer, they live as an engineer.
And because of this, you cannot serve two masters. Once you become excellent at engineering, you can't become excellent at design because to get to an level of excellence would require doing things which your engineering brain is screaming at you are wrong to do.
What is possible, is to become excellent as a designer/developer which is, instead, to focus on the embodiment of the inter-relationship between the two. To look at all problems as a fundamental tension between the two world views and an appreciation of how to thread the middle path.