
Principal Development Engineer
Diebold Nixdorf4 months ago
Mumbai, IndiaStaff+
Responsibilities
- Design, develop, and maintain scalable enterprise payments applications using Java/J2EE.
- Architect and implement RESTful and SOAP-based web services.
- Design and optimize Oracle/PostgreSQL database structures and queries, including performance tuning.
- Develop distributed, event-driven systems using Kafka and other messaging platforms.
- Implement asynchronous processing, message queues, and event-streaming pipelines.
- Lead code reviews, uphold code quality standards, and mentor junior engineers.
- Collaborate with architects, DevOps, QA, and product owners.
- Troubleshoot complex issues across application layers and improve system reliability.
- Contribute to system design, architecture decisions, and technical roadmaps.
Requirements
- 12–18 years of hands-on software engineering experience.
- Bachelor’s or master’s degree in Computer Science, Information Technology, or a related field.
- Strong proficiency in Java/J2EE, multithreading, collections, and design patterns.
- Hands-on experience developing REST APIs and SOAP services.
- In-depth knowledge of JPA, Hibernate, or other ORM frameworks.
- Strong Oracle and/or PostgreSQL experience, including SQL, PL/SQL, indexing, and performance tuning.
- Experience with Kafka, RabbitMQ, ActiveMQ, or other messaging systems.
- Solid understanding of microservices architecture and distributed systems.
- Familiarity with CI/CD tools such as Jenkins and GitLab CI.
- Experience with WebLogic, JBoss, or Tomcat application servers.
- Understanding of the payments and banking domain.
- Strong communication, documentation, analytical, debugging, and problem-solving skills.
- Ability to lead technically, work independently, collaborate effectively, mentor engineers, and take ownership.