- Work with Business Analysts (BA) and Product Managers (PM) to design use case diagrams used to produce the WBS
- Lead application design workshop sessions involving developers, QA, BA/PM, identify, document and catalogue existing or similar patterns that can be shared, harvested, or leveraged
- Ensure compliance with security and governance policies for data in flight and at rest
- Co-team with the Solution Architecture Manager to produce development standards and guidelines
- Co-team with the otherarchitecture team members to present each project global design
- Lead proof of concept projects to show case specific solution to our business stakeholders
- Participate in design, documentation and delivery efforts with the otherarchitecture team members maintain the documents in order to keep them as current as possible
- Provide assistance to the development team in term of debugging, good practice, performance monitoring and tuning
- Prepare training materials and deliver the training to developers or BA on specific area of technical expertise
Required Skills, Knowledge and Experience:
- B.S. degree in Computer Science, Software Engineering or equivalent preferred
- 8+ years OO development with multiple languages such as Java, C#/ C++, Perl, Python, Ruby and PHP
- 3+ years prior experience in an architect role
- Advanced experience with RDBMS, especially Oracle (RAC, SQL, etc.)
- Advanced experience with Spring JTA, JDBC, Hibernate and MyBatis
- Advanced experience with SOA (SOAP, RESTful, etc.) and related data formatting (XML, JSON)
- Extensive knowledge of the Java language, its core libraries, and many 3rd party or open-source frameworks such as spring framework, hibernates etc.
- Working on multiple project types (B2B, B2C), and integrated e-commerce projects.
- Deep knowledge of SOA principles, message-oriented software patterns, design patterns, and enterprise integration architectures
- Advanced listening and patience skills
- Strong presentation and communication skills
- Significant working experience in agile environment – Agile certification is a plus
- Working knowledge of application software security best practices and tools for web, mobile applications and Cloud.
- Ability to negotiate trade-off between business features (quantity) and scalability of the solution
- Real production exposure to high availability issues (such as clustering)
- Experience with message queue tools and concepts (JMS interface)
Preferred but not required:
- Knowledge Microservices architecture and design principles
- Experience Data Streaming tools such as Apache Kafka.