Research processes and technologies the development team should use, troubleshoot coding problems and collaborate with other experts to produce full-stack software systems.
Design high-performance complex, multi-tier application infrastructure which is secure, available, reliable, scalable and maintainable.
Evaluate application requirements and make architectural recommendations for implementation, deployment, and provisioning applications.