A Software Architect makes high-level design choices and frame technical standards. This might include tools, software coding standards, or platforms to be used. To be effective, a Software Architect needs broad (and deep) technical knowledge to make good decisions.