SE are usually just a code peasant building up the module, SSE usually are code peasant with better understanding in OOP, design pattern knowledge and following design principle better. And SA are the one who deciding what to do and how to do, in charge of the higher level design, basically are the guidance for all the SE/SSE.
Role of SA could be vary depending on the company, here are the role of SA of the 2 companies I've worked with b4.
#1st. Deciding the stack to use for company, making sure the company system and dev flow are up to date (e.g. migrate to CI/CD), introduce new tech to enhance current system, when tech lead/SSE got something complicated needing assistance, SA are the 1 they will look for. Sometimes on serious production issue SA have to help even without the product knowledge.
#2nd. SA(s) will have their internal meeting and decide the tech stack and system design of the entire system will be use in the future. SSE will propose solution on the new application they are going to implement, and SA are going to review it, advise for further enhancement, or any component that could be reuse (since they are the 1 who supervise the entire architect, so they have more knowledge on the existing component), the development only can start with SA approval on the design. SA would need to review all the code that's under his care.
When you first started as SA, what are some of the challenges you face? How's the stress level switching from SE to SA?