- Mandatory Experience – Architect/Tech Lead/Technical Manager
- Around 8-12 years’ experience in Java/J2EE
- Architect, design and development of enterprise-grade web applications leveraging Java / J2EE technologies
- Strong understanding of design principles / patterns and application of the same
- Design and development of RESTful Web Services using any JAX-RS compliant implementation (Jersey / Apache CXF / Spring REST)
- Hands on database experience (Oracle / PostgreSQL / MySQL / SQLServer) including transaction management, SQL programming, database schema design / modeling (ER).
- Hands on experience with developing web applications leveraging Spring Framework (preferably x)
- Usage of static code analysis tools like PMD, FindBugs, Checkstyle,
- Strong knowledge in application profiling (JProfiler / JMeter / JMC / any profiling tool)
- Knowledge in Application Servers - JBoss / Tomcat
- Continuous Integration tools (Jenkins / Sonar)
- Ability to manage small teams – Around 10 (This is for Lead/Manager role – Rest should be common)
- Ability to communicate effectively in English, with good verbal and written skills
- Strong analytical, problem solving skills and technical troubleshooting
- Act as a Mentor / Guide for the team
- Strong believer and follower of SDLC principles with an emphasis on Quality & Standards based development
- Tech stack:
- Core Java - Generics, IO / NIO, Multithreading, Streams, Lambdas
- Spring Framework (4.x)
- Spring DI, Spring AOP, Spring MVC, Spring Security
- Spring Boot
- Spring Cloud (eureka, ribbon, zuul, hystrix, zipkin)
- Authorization Server
- Spring ORM / Spring Data JPA
Optional:
- Experience in cloud technologies (AWS / Azure / Google Cloud)
- Developing cloud-enabled applications
- Leveraging the managed services provided by the cloud provider
- HA & Elastic configurations
- Integration experience (Web Services or any of ESBs - Mule / Camel / WSO2)
- Hands on experience with developing micro services leveraging Spring Boot / Drop wizard / WSO2 / Mule.