Description
Job Summary:
We are seeking a Software Architect to develop, implement, and ensure the quality of software architecture for complex projects, lead teams, and stay up-to-date with emerging technologies.
Key Highlights:
1. Development and implementation of complex software architecture
2. Leadership of development teams and project management
3. Requirements analysis and translation into technical solutions
?? Requirements:
\- Bachelor's degree in Computer Science, Software Engineering, or related field;
\- Proven experience as a Software Architect or in similar roles;
\- In-depth knowledge of at least one of the following programming languages: Java, Kotlin, C\+\+, .Net, Python, JavaScript, TypeScript;
\- Experience with Relational Databases, e.g., PostgreSQL, MySQL, SQL Server, Oracle;
\- Experience with NoSQL Databases, e.g., MongoDB, Cassandra, DynamoDB;
\- In-depth knowledge of DevOps (networking, cloud, CI/CD pipelines, containers, observability, terminal);
\- Familiarity with Observability tools (e.g., Prometheus, New Relic, Grafana, AppDynamics, DataDog, ELK);
\- Knowledge of design and architectural patterns, both code-level (MVC, MVVM, Clean Architecture, Hexagonal) and infrastructure-level (Layers, Microservices, Events, etc.);
\- Experience with cloud solutions and provisioning (AWS, GCP, Azure);
\- Experience designing software architecture including diagramming (C4, Sequence, ArchiMate);
\- Knowledge of software development methodologies;
\- Experience leading development teams and managing projects;
\- Strong communication and teamwork skills;
\- Excellent analytical and problem-solving skills;
\- Ability to quickly adapt and learn new technologies;
?? Responsibilities
\- Develop and implement software architecture for complex projects;
\- Ensure system design quality and integrity;
\- Analyze and evaluate client requirements and translate them into technical solutions;
\- Conduct code reviews and testing to ensure system efficiency and functionality;
\- Collaborate with the development team to ensure proper architecture implementation;
\- Identify and resolve performance and scalability issues;
\- Stay current with trends and emerging technologies in software architecture;
\- Manage and guide the development team, providing technical guidance and support;
\- Communicate effectively with clients to understand their needs and ensure delivery of high-quality solutions;
\- Structure and coordinate architectures across diverse programming languages.
Minimum Education: Bachelor's Degree
Desired Education: Computer Science, Bachelor's Degree