Core competency :
- Bachelor or Master Degree in Computer Engineering/ Computer Applications with 6-8 years’ experience.
- Experienced In Java based software development for enterprise applications.
- Clear understanding of OOP concepts and best practices.
- Working experience on REST/JAX-RS, Jersey.
- Strong understanding of Java/J2EE design patterns, ORM/persistence technologies
- Contribute in all phases of the development lifecycle.
- Code review, follow/enforce best practice for coding and maintaining high quality.
- Proven ability to analyze problems and implement solutions that are optimized for performance, scalability, quality, and maintainability.
- Proficient understanding of OWASP security principles.
- Knowledge and understand fundamental concepts of Continuous Integration (CI) / Continuous Delivery (CD), Automated Testing (GUI and backend), User Acceptance Testing is highly desired.
- User authentication and authorization between multiple systems, servers, and environments.
- Integration of multiple data sources into one system.
- Strong knowledge of Application Servers
- Strong knowledge of Integration technologies and Web-Services, REST etc..
- Desire to work in an Agile-Scrum engineering environment.
Other aspects :
- DS, Algorithms & strong problem solving & analytical skills.
- Understanding fundamental design principles behind a scalable application.
- Proficient in Java, with a good knowledge of its ecosystems.
- Basic understanding of JVM, its limitations, weaknesses, and workarounds.
- Write well designed, testable, efficient code.
- Commitment to collaborative problem solving, sophisticated design, and product quality is essential.
- Ensure the best possible performance, quality, and responsiveness of the applications.
- Identify bottlenecks and bugs, and devise solutions to these problems.
- Implementing automated testing platforms and unit tests.
- Awareness in QA Automation
- Any of SCMs like SVN, GIT etc.
- Excellent communication skills
Good to have:
- Familiarity with Spring basics.
- Familiarity with build tools such as Ant, Maven.
- Familiarity with continuous integration environment and build server software (Jenkins/Hudson/Bamboo) is desired.