Part of the controversy with this article is that it is combining two separate ideas into one concept, blurring the differences.
Implementing software is something you can absolutely get better at with experience, discipline, and practice. You only need to look at your old code for evidence of this.
Designing software takes imagination and creativity. Experience and practice may give you a tool chest of preconceived ideas to use when designing your own software, but it isn't going to help you conceive completely new ideas yourself. That requires thinking outside of the box, and it's not something you learn by studying the nuances of implementation. It's not even something you learn by studying programming. IMO this is what Atwood is talking about.
Implementing software is something you can absolutely get better at with experience, discipline, and practice. You only need to look at your old code for evidence of this.
Designing software takes imagination and creativity. Experience and practice may give you a tool chest of preconceived ideas to use when designing your own software, but it isn't going to help you conceive completely new ideas yourself. That requires thinking outside of the box, and it's not something you learn by studying the nuances of implementation. It's not even something you learn by studying programming. IMO this is what Atwood is talking about.