The differences are the following:
- The purpose of a Software Architect is to provide a solution to a set of needs in terms of products and services or a problem, which includes technical and functional research, impact analysis, system design, IT designs, decisions, vendor management, financial analysis and project planning. They are absolutely needed if you want to succeed in delivering medium to very complex projects/programs/epics if you want to be on time, within scope and budget, and meet quality requirements and make sure you deliver the expected value. They operate at a cross-team level and generally speaking belong to an Architecture Team.
- A tech lead will be the one in charge of leading a squad (or a few squads) from a technical perspective. Typically it will be the most senior engineer, who has excellent knowledge about the applications in his scope or in the domain and has very good IT industry knowledge so that she/he can guide other developers and analysts in the choices they make at the detailed implementation level. They are generally the ones bringing new technologies and practices. Tech Leads are also great partners to
- Solution Architects, because they have deep expertise in their space
- Product Owners, because when a PO needs a new feature, they are capable of immediately visualizing how complex it will be to be put in place in their system. However, because the scope of impact may be broader, this is where a Solution Architect will be needed.