About the job
We are looking for a Java Developer responsible for the development/coding and bug fixing. Your primary focus will be to implement in the form of an ERP, with a focus on performance. Your main duties will include creating new programs and components and integrating them with existing modules. Design documents will be shared and the same will be used to create the new programs. You have to work as front developer. A thorough understanding of all the components of our platform and infrastructure is required.
JSF (JAVA SERVER FACES) is must, candidate must have experienced between 2-5 years on Java/J2EE, Core Java (Strong) and knowledge on JSF (Must) ,Hibernate (Preferred) , EJB 3.0 (Preferred) application development .
· Delivering front-end programs to be integrated with the existing ERP.
· Ensure the technical feasibility of JSF page development and designs
· Build reusable code and libraries for future use
· Writing tested, idiomatic, and documented on webservices or classes
· Developing with the back-end developer in the process of building the REST/SOAP API
· Communicating with external web services
· Maintaining responsive design
· Optimize application for maximum speed and scalability
· Assure that all user input is validated before submitting to back-end
· Proficiency with Core Java, J2EE , and one ORM mapping tool
· Professional, precise communication skills
· Deep knowledge of Core java and hand on J2EE application development practices and commonly used modules based on extensive work experience
· Creating self-contained, reusable, and testable modules and components
· Ensuring a clear dependency chain, in regard to the app logic as well as the file system
· Ability to provide good design pattern solution
· Extensive knowledge of J2EE.
· Thorough understanding of the responsibilities of the platform, database, API, caching layer, proxies, and other web services used in the system
· Validating user actions on the client side and providing responsive feedback
· Writing non-blocking code, and resorting to advanced techniques such as multi-threading, when needed
· Creating custom, general use modules and components which extend the elements and modules of core java
· Documenting the code inline using Java Doc or other conventions