Duties and Responsibilities:
- Design and define the architecture of software systems or IT infrastructures, ensuring alignment with business goals and technical requirements.
- Develop and maintain architectural documentation, including architectural diagrams, design patterns, and technical specifications.
- Evaluate and recommend technology stacks, tools, and frameworks that best fit the project’s needs.
- Collaborate with stakeholders, including product managers, developers, and other engineers, to gather requirements and define architectural solutions.
- Oversee the implementation of architectural designs, providing guidance and support to development teams.
- Ensure that the architecture supports scalability, performance, security, and maintainability.
- Conduct reviews of design and implementation to ensure adherence to architectural standards and best practices.
- Identify and address potential architectural issues or risks early in the development process.
- Stay updated with industry trends, emerging technologies, and best practices to inform architectural decisions and improvements.
- Provide mentorship and technical leadership to engineering teams, fostering a culture of continuous improvement and innovation.
Requirements and Qualifications:
- Bachelor? degree in Computer Science, Software Engineering, Information Technology, or a related field. A Master? degree or higher is preferred.
- Proven experience as a software or systems architect, with a strong track record of designing and implementing complex software or IT systems.
- In-depth knowledge of software architecture principles, design patterns, and best practices.
- Experience with various technology stacks, tools, and frameworks, including cloud computing platforms (e.g., AWS, Azure, Google Cloud).
- Strong understanding of system integration, data management, and security principles.
- Excellent problem-solving skills and the ability to make strategic decisions under pressure.
- Strong communication skills, with the ability to present technical concepts and solutions to both technical and non-technical stakeholders.
- Experience with Agile methodologies and DevOps practices is a plus.
- Ability to work collaboratively in a team environment and manage multiple projects simultaneously.