Role Summary :
We are looking for a Java EE Developer with experience in building high-performing, scalable, enterprise-grade applications.
You will be part of a talented software team that works on real-time applications. We need someone who is self-motivated, a quick learner, detail oriented and who also has a solid understanding of Big Data, Java EE design and Micro services architectures.
We use agile software development and all the latest and greatest technologies. If you are passionate about development, we are looking for you!
Essential Responsibilities :
Effectively work with the team to analyze the product and technology requirements.
Prepare Object oriented design and analysis on software components and systems.
Translate application storyboards and use cases into functional applications
Write well designed, testable, efficient code.
Ensure periodic code review and provide necessary corrections and guidance to the junior developers to deliver the best.
Identify bottlenecks and bugs, and devise solutions to these problems
Ensure participation in Project Planning for task identification, estimation, dependencies and risk analysis.
Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review
Document code consistently throughout the development process by listing a description of the program, special instructions, and any changes made in database tables on procedural, modular and database level.
Qualifications / Requirements :
Proficient in Java, with a good knowledge of its ecosystems and hands on experience in designing and developing applications using Java EE platforms
Profound insight of Java and JEE internals (Classloading, Memory Management, Transaction management etc)
Familiar with various design and architectural patterns
Experience working on spring boot microservices
Experience working in atleast one NoSQL database like Cassandra or MongoDB
Experience in developing web applications using at least one popular web framework (Struts, Spring MVC)
Should be proficient to create Junit test suites.
Basic understanding of JVM, its limitations, weaknesses, and workarounds
Experience in developing work flow using standard BPM tools, JBPM preferred.
Basic understanding of UML diagramming techniques and application.
Strong Communication and reporting skills.
Bachelor’s Degree in Computer Science Engineering or equivalent with minimum of 6 plus years of application software development experience in Agile SCRUM Process
Desired Characteristics :
5-8 yrs experience.
Prior experience in Real-Time Systems
Self-motivated, team player, action and results oriented.
Experience in Rule Engines like Drools and BPMN 2.0 based Workflow Engines
Good Knowledge of Big Data Analytics
In-depth knowledge of architecture concepts for complex applications