Position: Application/Solution Architect
Company: Symphony Solutions
Category: Lead
Experience required: 5y
English level: upper

We are looking for talented, passionate people to work with a American client that is developing a unique product - part entertainment TV, part social engagement, part online gaming – all blended in to one unique experience.

The high-quality production and unique format- which has received 17 utility patents including Europe, China, the United States, Macau, Australia, Japan, Singapore, and South Korea - is destined to become a disrupter and a great developer opportunity.  

Our team is responsible for architecture and developing from scratch all components of the game which include clients for table and remote users, backend services, streaming and admin interfaces.
You’ll be working in cross-functional, multicultural and distributed teams which will be using best practises of Agile development.

Job Requirements: 
- At least 10+ years of experience developing highly available applications, with at least 4+ years as applications/solutions architect  
- Experience in designing and developing applications with 99%+ availability.  
- Experience in designing easy to operate applications and solutions 
- Experience with NodeJS, JavaScript, TypeScript. 
- Applying best practices and design patterns to ensure that code is maintainable and scalable. 
- Experience with microservices architecture and containerization (Docker, Kubernetes). 
- Experience with serverless architecture (AWS Lambda)
- Experience with AWS cloud technologies. 
- Experience with NoSQL database technologies (DynamoDB, MongoDB). 
- Experience with Agile methodologies (Scrum, Kanban). 
- Strong communication and interpersonal skills. 
- Ability to work as part of a team when directions are provided by Engineering Director.  

Responsibilities: 
- Design and develop scalable, efficient, and maintainable applications using NodeJS and React technologies. 
- Design and develop solutions that span multiple subsystems and components 
- Design solutions with high availability and 99.9% uptime 
- Design solutions that are easy for SRE teams to to ensure that solutions are easy to operate and maintain 
- Collaborating with other architects, tech leads, and stakeholders to design and implement solutions.  
- Establish architectural and design patterns for applications.  
- Identify and address performance and scalability issues.  
- Develop and maintain documentation for the application architecture. 
- Staying up to date with new technologies and best practices in the industry, and applying this knowledge to improve project architecture. 
- Develop company technical standards and ensure their adoption across teams.  
- Drive technology initiatives/features implementation and monitor their results (present solution to the team, open be ready to answer questions about solution, make sure that implemented results much with presented solution)
- Mentoring technical leads in areas of application architecture (tech design).