Location
Secunderabad | India
Job description
We are looking for a driven and experienced Java Developer to join our team, based at the NCR R&D site in Hyderabad. You will be a contributing member of a highly skilled and motivated Agile team of engineers, working on innovative solutions for the financial services market. This is a great opportunity for someone who wants to develop their career in a supportive environment with plenty of opportunity to further learn, grow and get mentorship from experienced team members.
NCR has been at the forefront in all aspects of the payments processing world for decades. NCR s footprint covers point of sale terminals, retail management systems through to global payments systems and ATMs etc. The industry is changing at an incredible rate with the arrival of new disruptive technologies and business startups. This is an exciting time to get involved in the new product ranges that NCR is developing for this rapidly changing world of financial systems including NCR s new products which connects ATMs to back office server applications, applying the latest technologies and development practices.
Responsibilities:
- Play a key role as a Lead SW Developer on newly formed scrum teams focused on developing NCR s Cloud Platform that will serve each of our major industries - Financial Services, Retail, Hospitality and Travel.
- Build and expand the services powering our API ecosystem, solving problems, and acting as a leader among a large community of fellow developers.
- 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.
Required skills:
- Bachelor s Degree in computer science or related field
- A minimum of 10+ years of experience in software design and development
- Java Full Stack design & development
- Java, Spring, Spring Boot,.
- Messaging frameworks such as RabbitMQ, ActiveMQ, JMS or Kafka.
- Docker and Kubernetes
- Database technologies including Cassandra, MySQL, Redis, ElasticSearch
- Cloud/SAAS Deployment into Google Cloud, AWS and Azure
- 5+ years integrating with REST APIs
- 2+ years experience working with Public Clouds (AWS, GCP, or Azure)
- 5+ years of experience using relational and non-relational databases
- 2+ years of experience with container technologies such as Docker.
- Experience leading or mentoring teams.
- API based design and development using REST & SOAP frameworks
- Experience with CI/AppSec tools - Sonar, Coverity, WhiteSource, Seeker, Aqua
- Prior experience with performance monitoring tools tracking CPU load, memory usage, and JVM monitoring
- Good hands-on database experience with SQL and NoSQL
- Expertise in design patterns like - MVC, Microservice architecture.
- Developing Design based on given requirements and architecture.
- Deep understanding of Software Development and Quality Assurance best practices
- Experience operating in an Agile environment, with a deep understanding of agile development principles.
- Mentoring junior engineers in the team.
- Demonstrated knowledge of:
- modern frameworks for building high-throughout, resilient microservices
- full SDLC and methodologies such as TDD, BDD, and tools and frameworks for automating the delivery pipeline
- distributed design patterns, message-driven architectures, high-volume data stores, and horizontal scaling techniques
Beneficial skills:
- Knowledge of software technologies:
- Test Driven Development or Behaviour Driven Development (e.g. JUnit, JBehave, Selenium)
- YML Scripting
- Subversion/Git
- Build and Deployment Pipeline technologies: Jenkins, Maven, Gradle, Chef, Docker, Nexus
- Experience of operating in an Agile development environment, familiarity with Agile principles and practices and Test or Behaviour Driven Development.
Job tags
Salary