The Application Architect may be responsible for the implementation of new technology. The architect should have a deep knowledge of modern technology, stacks, and tools. The architect needs to understand current business applications.
Your Responsibilities:
- Own the quality of the product, from code architecture to end-user quality.
- Influence the technology and design choices for applications and solutions.
- Work closely with the Architecture team to ensure the development teams are on the right path.
- Works with the Enterprise Architect to create reference architectures following completion of Proof-of-Concepts.
- Liaising with applications development and operation engineering teams to learn about current processes and flows.
- Communicating design overviews to enterprise architect and technical management
- Guiding development teams and provide design patterns. These architects usually have a more hands-on approach, working with enterprise architect on defining design patterns, and best practice standards to follow.
Qualified Candidate Profile:
- 15+ years of overall software development experience with a proven track record of developing enterprise grade web-based applications
- 8+ years of experience working as Java architect in complex processing environments
- Successfully delivered software products from ideation through to implementation and support
- Hands-on coder, in the past, in Java, C#, SQL, JavaScript or any major OO language
- Strong Java application architecture designing and building SOA applications
- Experience with developing microservices, and APIs in Middleware Java stack
- Experience with ESB, BPM, MQ, BPEL, workflow, and automation management tools.
- Experience with APIs Gateway and Securing Web Services.
- Experience working with data steaming and real-time processing using Kafka, Spark, Akka, and NoSQL.
- Experience in engineering practices like pair programming, TDD, ATDD, CI/CD, and Refactoring techniques
- Familiar with creating Data Services, virtual data layer, and data in-memory.
- Knowledge of when to intervene and when to let the team struggle
- Understand how to be a partner in the Agile estimation process
- Strong team player and leader with excellent planning and managerial skills