Skills And Tools:
- To work with the Chief Architect and other stakeholders to capture, evolve, and define the scope and the high-level requirements.
- To fully understand the architecture of the product, the technology, the technical capabilities and limitations, and to be able to offer technical consultancy for the project/product manager and the implementation team when needed.
- To supervise and conduct software solution/product related technical researches.
- Producing end-to-end designs for the software solution/product based on specific business requirements.
- Defining the software solution/product architecture and design standards.
- Being responsible for the production of the technical road-map of the software solution/product and ensuring it is always up-to-date.
- Providing continuity in all major application solution decisions.
- Designing the software solution/product sub-systems and components interfaces and integration specifications.
- Mentoring the software solution/product development team and ensuring that architecture and design standards are followed throughout the development cycle.
- Ensuring the software solution/product is designed to be re-used, maintainable and extensible.
- Owning the high level technical documentation of the software solution/product.
- To act as a technical reference for the software solution/product team by providing technical guidance.
- Monitors and recommends changes to improve the reliability, scalability, extensibility, security and performance of developed systems.
- Bachelor degree in Computer Science or Computer Engineering.
- Over 8 years of experience, with at least 3 years of experience in relevant position.
- A very good knowledge in designing and implementing n-tiers and microservice enterprise solutions/products.
- A deep knowledge and experience in Microservice architecture
- A very good knowledge and experience in Design Patterns.
- A good knowledge in Applications Architecture.
- A good knowledge of documenting software solution using UML & design tools
- A very good knowledge of the Software Development Life Cycle (SDLC) using Agile approaches.
- A deep knowledge of designing and implementing web solutions.
- A very good knowledge of database modelling.