Outstanding developers wear many hats. Most would agree that it’s important for technologists to understand the technology. That idea may sound like, well duh… But I read one time that the average physician is about 800 years behind on reading so I think it speaks to the pace of new technology innovation and change. There’s a lot to understand and it is always changing. Correctly understanding the requirements is probably as important as anything and now, that being said, I would also make the point that a seasoned technologist also knows how to speak the language… Coupling, Cohesion, Marshalling, Cardinality and many concepts are fundamental to the profession and transcend specific technologies and trends. When I entered the profession, some time ago, I worried, even back then, that computers might become smart enough to not require humans. But now I would suggest that we’re a long way from computers designing business processes and my core argument for that has to do with the fickle nature of attaining customer satisfaction.
There are a couple of activities relating to developers finding solution success. Of course, there are some roles that are pure coding and some that are pure architecture. But I’d argue that the best developers know how to artfully blend a few activities.