- Define system-level application architecture that includes high-level design, architectural policies and principles, design and programming guidelines, implementation risks and mitigation measures, software development and integration strategies, software configuration controls, etc.
- Maintain control over the architect throughout the entire software development lifecycle by continuously making critical adjustments to the architecture to ensure desired results are achieved.
- Involve in requirement analysis phase to ensure the implementation feasibility of functional specifications. Highlight requirement gaps, disproportional construction efforts, technical challenges and any other issues to business analyst teams.
- Provide technical leadership in the development through established design and development methodologies, to ensure system meets functional and system requirements.
- Engage customers to explain the rationale of architecture’s selection, or other technical issues.
- Ensure best practices, frameworks and re-useable components are employed in the development project.
- Troubleshoot technical problems faced by the project team.
- Contribution to organizational development through sharing best practices. Developing and conducting technical courses.
- Coach, train and mentor junior architects.
- At least 5 years experience with substantial project work in software design & development.
- Strong technical experience in system / applications architecture design.
- Experience in designing solutions using appropriate platforms and system technologies such as enterprise database design, web and application server and network technologies.
- Must have experience in developing enterprise business applications.
- Able and willing to deep-dive into code level when necessary.