Java Developer

You will be part of a talented software team that works on mission-critical applications. Java developer roles and responsibilities include managing Java/Java EE application development while providing expertise in the full software development lifecycle, from concept and design to testing.
Java developer responsibilities include designing, developing and delivering high-volume, low-latency applications for mission-critical systems.
Requirements:
The successful candidate will possess:

2+ years experience with Java development
Proven hands-on Software Development experience
Proven working experience in Java development
Hands on experience in designing and developing applications using Java EE platforms
Object Oriented analysis and design using common design patterns.
Profound insight of Java and JEE internals (Classloading, Memory Management, Transaction management etc)
Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate)
Experience in the Spring Framework
Experience in developing web applications using at least one popular web framework (JSF, Wicket, GWT, Spring MVC, Spring Boot)
Experience with test-driven development
Knowledge of Jasper Reports, and ability to design and implement Jasper Reports.
Critical thinking and problem-solving skills
Team-first attitude
Good time-management skills
Great interpersonal and communication skills

 
Duties & Responsibilities:

Contribute in all phases of the development lifecycle
Write well designed, testable, efficient code
Ensure designs are in compliance with specifications
Prepare and produce releases of software components
Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review
Collaborate with cross-functional teams to define, design, and ship new features
Work with outside data sources and APIs
Unit-test code for robustness, including edge cases, usability, and general reliability
Work on bug fixing and improving application performance
Continuously discover, evaluate, and implement new technologies to maximize development efficiency
Time management and self organization