Job Summary:
We are looking for a Senior Software Engineer with 5+ years of experience in Java 11, Spring Boot, API development (REST/GraphQL), multithreading, and SQL/NoSQL databases. The role involves building scalable, secure applications, working with CI/CD, cloud platforms (Azure/GCP), Docker/Kubernetes, and following Agile best practices. Strong debugging, design, and collaboration skills are essential; domain knowledge in retail/hospitality loyalty is a plus.
Responsibilities include:
-
Develop high quality software which meets requirements, promotes re-use of software components, and facilitates ease of support.
-
Diagnose, isolate, and implement remedies for system failures caused by errors in software code.
-
Identifies and implements process improvements in Engineering practices.
-
Utilize software-based system maintenance and tracking tools.
-
Provide input and technical content for technical documentation, user help materials and customer training.
-
Conduct unit tests, track problems, and implement changes to ensure adherence to test plan and functional/nonfunctional requirements
-
Analyze, design and implement software mechanisms to improve code stability, performance, and reusability.
-
Participates and leads code review sessions.
-
Create high fidelity estimates of their own work efforts.
-
Assist others in estimating task effort and dependencies, responsible for team commitments within the Sprint.
-
May be asked to lead and advise other Engineering resources as part of project activities.
-
Considered subject matter experts in their chosen field.
-
Participates with industry groups, stays current with technology and industry trends, disseminates knowledge to team members, forms best practices.
-
Communicate with Solution Management and other internal teams.
-
Participates in cross-functional collaboration within the organization.
-
Works with developers to assist detailed problem resolution for difficult problems which are proving difficult for Lead Developers to resolve.
-
Works on improving use of tools relating to NVL development/tools used.
BASIC QUALIFICATIONS:
-
Bachelor’s degree in computer science or related field
-
A minimum of 5 years of experience in software design and development
-
A minimum of 5 years of experience in preferred technology stack,
Must Have
-
Very strong development experience Java 11, Spring, Sprint boot.
-
API based design and development using REST API and Graphql
-
Multi-threading Concepts
-
Unit testing and integration testing frameworks like Junit5, Mockito
-
Messaging services.
-
Strong understanding and affinity towards building scalable and robust solutions.
-
Very strong understanding of NOSQL(MongoDB) and SQL DBS
-
In depth understanding of Design Patterns and ability to design a Class Model, Data Model for a given requirement.
-
Experience with CI/AppSec tools like – Sonar, Coverity, Whitesource etc.
-
Strong in Debugging, Memory Leaks, Profiling, Crashes, etc
Good to Have
PREFERRED QUALIFICATIONS:
Knowledge of software development standards and protocols: