- Java Application Architect Job Summary:
Must sit in Bangalore
As an enterprise Architect, you will design solutions and lead a team of Senior Java Developers for your assigned workstream. Projects Below:
- Billing applications with 36 enterprise services across 8 applications. 4 Workstreams on OpenShift platform
- call center project, 4 applications, 4 workstreams on AWS Platform
Java Application Architect Requirements:
· 10+ years back-end Java Development experience as Architect, Technical Lead, User Interface Developer, Consultant, or Software Engineer.
· 7+ Years enterprise development, integration middleware development and strength in Microservices (Java, Spring Core, Spring Integration, Spring Boot, Spring MVC, Spring Security)
· Experience on cloud-based technologies (Preferred AWS or Kubernetes with OpenShift) and experience building cloud native applications.
· Knowledge in Front End technologies: Angular, HTML5 and CSS3; JavaScript development (including object-oriented development)
· Communication skills: clarity to answers, ability to answer questions in detail, ability to provide a solution to a given scenario – explain its configuration & what-if scenarios. Understand the detail of their understanding of technologies and implementations.
· Containers: Docker, Kubernetes
· Team Leadership - Experience driving and leading a team, self-sufficient to gather requirements, design and implementation.
· 3+ year experience with hands-on application architecture for large enterprise solutions.
- Proven ability to not only build technology solutions but explain your solution architecture / technology choices, to enterprise Architects and senior leadership.
- Application Architect is the same required Java Skills but a focus on design patterns, architecture, framework, forward thinking and team leadership. 60% Hands On, 40% Lead role. Must be someone who can drive the team.
- Needs to be able to take a business problem and solve it. and drive it to completion, no handholding.
Responsibilities:
- Lead the technical design, planning and manage development of both UI and back end services. Document and present architectural decisions to the team, peers and management. Provides architectural guidance to the development team.
- Work with the development team, project managers, business analysts, Quality Assurance and users across the organization and create agile, intuitive and easy-to-use software.
- Deliver prototypes, reusable and shared microservice components, advanced solutions, and implementations of application in Java.
- Drive the evolution of our technology platform and development standards to ensure that we deliver scalable software solutions to business requirements
- Work with developers and integration team to brainstorm and research new design patterns in creating reusable solutions that can be utilized across the organization.
- Develop complex RESTful services in a cross-functional and Agile development team.
- Perform code reviews and code merges from all team members.
- Follows best practices for test-driven development (unit testing and beyond)
- Designs functional/system integration tests and automation.
- Work with other groups within IT to foster the DevOps culture around automation of builds, testing, deploys and scaling.
- Contribute to the SOA standards for the company and Conduct impact analysis.
- Mentor and train developers and help to solve the technical challenges
- Pushes the envelope with innovative and creative thinking
- Provide modern and performant single page applications and address unique challenges in the interaction with various devices and input preferences.
Requirements
- Bachelor’s degree in Computer Science or foreign equivalent plus ten (10) years of experience as Architect, Technical Lead, User Interface Developer, Consultant, or Software Engineer.
- 10+ year experience and expert knowledge of Java (7+) enterprise development and integration middleware development.
- 3+ year experience with hands-on application architecture for large enterprise solutions.
- 7+ years of experience in each of the following skills: Java, Spring Core, Spring Integration, Spring Boot, Spring MVC, Spring Security.
- Strong understanding of Java concurrency, concurrency patterns, experience building thread safe application.
- Must have extensive web application experience in developing employee/customer facing high scale applications.
- Knowledge in Front End technologies: Angular, HTML5 and CSS3; JavaScript development (including object-oriented development)
- Advanced skills in implementing Service APIs (SOAP, REST) with the market leading API Management tools such as Apigee, API Gateway.
- Extensive experience delivering microservice based architecture leveraging APIs, containers and automation.
- Experience with web service technologies like JAX-RS, JSON, JAXB, JAX-WS, and WSDL.
- Advanced knowledge of highly efficient RDBMS SQL (e.g. DB2, Oracle) and Java integration with it using Spring Data, JPA, Hibernate.
- Experience with NoSQL implementations a plus (e.g., MongoDB, AWS Dynamodb).
- Experience on cloud based technologies (Preferred AWS or Kubernetes with OpenShift) and experience building cloud native applications.
- Extensive hands-on experience with AWS technologies like Lambda, SQS, EC2 and ECS is a plus.
- Expert knowledge in various data integration solutions (synchronous and asynchronous) messaging, Publish/Subscribe models, Middleware, and other related methodologies in a multi-user, multi-platform, multi-tier environment
- Experience with messaging products like IBM MQRabbitMQ, Kafka or ActiveMQ
- Experience in Continuous Integration (CI) / Continuous Deployment (CD) using tools such as Maven, Gradle, Git, Sonar, Jenkins, Jira.
- Hands On experience with TDD with expertise in Junit5 / Mockito.
- Strong analytical, communication and team collaboration skills
- Work as a multi-skilled professional practicing Agile/SCRUM methodologies.
- Ability to coach and mentor junior developers as well as teams adopting the platforms.