Position: Java Software Architect
Company: asd.team
Experience required: 5y
English level: upper

Required skills:
•  5-7 years of architecting and developing Java enterprise web applications, with focus on scalability, performance, and security;
• Minimum of 3 years of experience building high availability, high volume, distributed, scalable, multi-tier, transactional server applications;
• Solid object-oriented design and programming skills with a demonstrated background in successfully creating practical and supportable architectures and products;
• In-depth knowledge of software design concepts and patterns: MVC, GoF design patterns, dependency injection, streaming, etc...
• Strong knowledge of transactional server technologies, including transactions, persistence, fail-over, and data security services;
• Strong experience with frameworks such as Spring, Kafka, MyBatis;
• Experience with REST and SOAP web services;
• Knowledge of web servers such as Apache HTTPD, IIS;
• Knowledge of Java application servers such as Apache Tomcat;
• Experience with relational databases such as MySql, MSSQL;
• Proficient use of SQL;
• Experience using Maven, GIT, Eclipse, Jenkins, etc...
•Experience with AWS, Windows, Linux.

We offer:
•  Competitive salary;
• Interesting project and challenging tasks;
• Comfortable work schedule;
• Zero bureaucracy;
• Training and development, assistance in obtaining certifications;
• Modern and comfortable office;
• Free English classes.

Responsibilities:
•  Architect and develop a highly reliable, scalable, and secure software platform;
• Provide technical leadership and architectural oversight to the engineering team throughout; the development of the software platform in a complex and distributed environment;
• Develop and maintain architectural and coding standards to ensure quality, security, performance, extensibility of the software developed by the engineering team;
• Work closely with the product management team to develop both functional and non-functional product features requirements and product roadmaps;
• Successfully troubleshoot, research, and work through complex problems;
• Identify, resolve and communicate technical issues to all stakeholder;
• Evaluate new technologies, platforms, and tools to address the needs of the on-going innovation and development of the software platform.