Ability to understand the architecture and create technical design of application components.
Hands on technical development of complex application features, both frontend and backend.
Ensure code quality and ensure testing guidelines are met.
Strong understanding of Java best practices, system scalability, and performance tuning.
Ability to look beyond the status quo and identify areas of constant change / improvements.
Ensure on-time delivery of software components to production, within their responsibilities.
Collaborate with product stakeholders to identify functional and non-functional requirements.
Showcase strong technical expertise and understand and follow best practices, procedures, and techniques.
Participate in open, frank discussions, especially in technical matters.
Work with Quality Assurance and Product Owner teams to ensure that software products meet functional and non-functional requirements.
Present and defend architectural, design, and technical choices to internal audiences.
Resolve production defects and issues.
Develop detailed technical analysis and design specifications based on functional requirements.
Create and execute integration level test plans.
Participate in and lead functional and technical specification reviews.
Requirements
Bachelor’s degree in computer science, Software Engineering, Computer Information Systems, Mathematics
5+ years of experience in Java/J2EE software development with hands-on experience with Agile/Scrum methodology
Experience in unit testing, unit testing frameworks, and unit testing methodologies.
Experience in a pattern-based approach to software design.
Good knowledge of software design patterns.
Able to interact comfortably with other developers, within and across teams.
Completely hands-on with coding and can demonstrate high level of problem solving.
Proactive and detail oriented, yet comfortable working in a dynamic environment with fast paced deliveries and changing requirements.
Highly motivated and able to work independently and apply own initiative.
Quality-oriented with focus on product delivery
Experience working with the following technologies: Java 8 and higher, Spring Framework, Spring Boot, Spring Data, JSP, Servlets, Javascript (preferably ES6), J2EE, Javascript framework Vue JS, React JS, Angular JS, Rest/SOAP API definition & implementation
Experience working on backend systems
Hands-on experience in technologies like, Docker, Rancher, Tomcat would be a plus