Design the overall architecture of the software system, including components, their interactions, life cycles with additional focus on security and performance.
Choose appropriate and frameworks/ tools that align with the current requirements and long-term goals.
Deep understanding of tools and technologies including overall system integration using standard design principles.
Strong programming background especially in data structures, algorithms and design patterns, distributed architecture, and system design.
Strong understanding for Authentication, Authorization models for web apps. Should be able to tailor security flows according to the product's need.
Document application designs effectively using modern modeling / documentation tools.
Stay up to date with the latest tools & technologies and design trends, assess their suitability for the problem in hand.