Salesforce Technical Architects (TA) should know:
1) How to code in Apex
2) Advanced Object-Oriented Design Patterns to help the team build decoupled architectures
This doesn't mean a TA should be able to roll up their sleeves and start coding if a developer is out sick, but it means:
1) They should be able to orient the team on the proper architectural considerations for a given Apex code implementation
2) Flag anti-patterns or tradeoffs that may not be obvious to the development team.
To be able to do this, a TA must have been a developer at some point, even if just for a couple of projects.
This is not just my opinion. These are part of the skills a CTA should have as per the official guide
- Experience with object-oriented design patterns
- Awareness of platform-specific design patterns and limits
- Experience developing code on the Force.com platform
If you are a TA and don't have these skills, I encourage you to spend some time refining them. Here are some excellent books I recommend: