Senior Engineer, Java

Nagarro
Summary
Join our team as a Java Developer and leverage your expertise in Java, OOP, and design patterns to build robust and scalable applications. You will be responsible for writing clean, reusable Java code, working with various frameworks, and implementing automated testing. Experience with databases, code versioning tools (like Git), and build tools (like Maven or Gradle) is essential. A solid understanding of JVM concepts and continuous integration is also required. Your skills in creating database schemas and handling external/embedded databases will be highly valued. This role requires proficiency in Java concurrency patterns and familiarity with MVC, JDBC, and RESTful web services.
Requirements
- Proficiency in Java, with a good understanding of its ecosystems
- Sound knowledge of Object-Oriented Programming (OOP) Patterns and Concepts
- Familiarity with different design and architectural patterns
- Skill for writing reusable Java libraries
- Knowhow of Java concurrency patterns
- Basic Understanding of the concepts of MVC (Model-View-Controller) Pattern, JDBC (Java Database Connectivity), and RESTful web services
- Experience in working with popular web application frameworks like Play and Spark
- Relevant Knowledge of Java GUI frameworks like Swing, SWT, AWT according to project requirements
- Ability to write clean, readable Java code
- Basic knowhow of class loading mechanism in Java
- Experience in handling external and embedded databases
- Understanding basic design principles behind a scalable application
- Skilled at creating database schemas that characterize and support business processes
- Basic knowledge of JVM (Java Virtual Machine), its drawbacks, weaknesses, and workarounds
- In-depth knowledge of code versioning tools, for instance, Git
- Understanding of building tools like Ant, Maven, Gradle, etc
- Expertise in continuous integration
Responsibilities
Implementing automated testing platforms and unit tests