Product development expertise: PA should be seasoned in building large scale enterprise systems. PA must have architecture experience with building highly scalable products that have been placed into successful production and volume shipment. PA must have direct and recent successful experience in architectures and delivering high availability, high performance product application platforms.
Technology Expert: PA must be respected as a pioneering technology expert, more technologically advanced than any developer, and have a respected reputation in the marketplace. All Engineers, Tech Lead and Engineering Managers should be able to look up this person as being a reputed hard core technology expert who is intimately familiar with nuances of technology and can lend hand in solving most complex technology problems with ease. PA must have a clear sense of how technology is evolving and shape product roadmap accordingly. PA should be well versed with major shifts in technology trends and platforms, the underlying reason driving such shifts .
At a minimum, B.E. / B.Tech degree in Computer Science, Software Engineering, or equivalent preferred from IITs / NITs
13+ years of relevant architecture and design experience, with demonstrated achievements and progressive responsibilities
Experience architecting and designing multiple web/e-commerce and mobile applications that take performance, ability to work across multiple platforms, usability and user experience, and security into consideration.
Proven experience in Designing complex real time systems at the component level, make strategic technology choices, and directly supervise the quality of design and implementation in all products, services, and their components.
Computer Science Fundamentals: Deep computer science knowledge about databases, operating systems, compilers, languages, networking and distributed systems and extensive experience: Java, C++, open source, Data structures and algorithms, web technologies, Data mining and pattern analysis, Database internals.
Java, relational databases, NoSQL databases, Cloud architectures
Micro-services and their rationalization into coarser grained services that must be versioned and managed as products
Middlewareenterprise service buses, queues, notification/alert services, complex event processing, API management
DevOpscontinuous integration, deployment
Quality assurancetest driven design
Comfortably moves between highly varying levels of strategy, and high level technical design to detailed technical design and subsequent implementation.
Influences development/Engineering managers to insure appropriate levels of quality on owned architecture(s).
Collaborates effectively with peers to solve complex problems spanning their respective areas and resolves technological disagreement with informed, rational debate.
Influences and communicates effectively with non-technical audiences including senior product and business management.
Arbitrates disagreements among engineers and make decisions where needed without damaging relationships.
Coaches, mentors, and delegates to engineers to facilitate their technical skill development.