Architecture and design of software solutions including
Technical solution & application architecture & design
Development, review & ownership of architecture & design artifacts (SAD, API Specification etc.)
Actively find ways (new technologies, tools, frameworks) to improve software solutions
Work with Product Management and Engineering to translate product use cases and requirements to industry-leading design, architecture and implementations. Set architectural direction by grooming and prioritizing architectural stories related to baselining software stack, realization of non-functional requirement etc. and critical domain stories. Influence the product owner to balance the business and technical priorities and the value of the architecture work.
Participate in code review of key functionalities or architectural aspects.
Execute and own the baseline architecture and design activities collaborating with Sr. Engineer & Engineering Team.
Regularly communicate with management about risk analysis and design tradeoffs.
Work on Pre SDLC or Discovery activities owning and contributing to assigned activities related to technical feasibility & assessment, providing responses.
Strong communication skills, with an ability to express and design ideas to a development team
Participate & contribute in Product kick off sessions & Requirement workshops for Direction and course correction w.r.t. domain based solutions, technology feasibility, competence requirements, resources requirements
Perform knowledge sharing and coaching, mentoring by
Tech Talks & Presentation session on specific topics of expertise
Technical writing and publishing - Articles, Blogs, References
Participate & contribute in talent acquisition and recruitment activities as follows:
Collaborate with hiring team to outline and execute strategy for recruiting technical folks
Records, reviews and provides inputs on Skill requirements
Takes up interview sessions for candidate positions including Technology consultants & Sr. Engineers (Level 2 if needed).
Provide guidance to teams on processes such as Agile, Lean, etc.
Provide guidance to teams on development standards, automation and tools
Establish design, architecture and coding standards for EMA solutions. Establish design and development methodologies (e.g.: Agile, SCRUM) to drive feature velocity, quality and predictability.
Software development, design & architecture experience in enterprise grade software solutions.
Detailed experience at designing enterprise grade distributed and reactive systems that involve
1. Software Architecture and Design Principles, Patterns, Methodology, Domain Concepts ( Architecture and Design Skills )
GOF, Java EE Blueprints, Software Architecture Patterns
Design Principles including SOLID, YAGNI, DRY and others.
2. Combination of more than one technology platform including
Mobile platforms Android or iOS, Mobile App Frameworks ( Mobile App Design & Technology Skills )
Java and Java EE platforms including Spring framework & components, Hibernate, JSP, Node JS or Express JS or similar, Web & Application Server ( Server App Design & Technology Skills ), Web Services, SOAP, WS-Security, REST ( Services Design & Technology Skills )
3. Application Security including Information security principles & realization, Mobile app security, OWASP & PCI DSS Compliance ( Security Design & Technology Skills )
Experience designing solutions for large scale deployments including large enterprises or service providers, banking or payment solutions
Good understanding & experience with software development processes such as Scrum, SAFe, Extreme Programming and/or Lean etc.
Experience working with multiple global customers
Experience with mobile application development, and internet-related cloud technology development. Deep understanding of, a practical experience with, one of Android or iOS
Considerable experience on device frameworks and device development is desirable.
Strong inter-personal skills and ability to work in a collaborative environment with cross-functional teams and select third parties
Formal training in systems analysis and computer programming
A deep understanding of technical solution and software patterns (including architectural & design patterns) at various levels.
Solid experience of working in project teams
Desire to stay abreast of new development tools and methods