17 Oct
|
QPC UK (India team Technos Consultancy)
|
Bengaluru
17 Oct
QPC UK (India team Technos Consultancy)
Bengaluru
About QPC
QPC is a UK-headquartered contact centre technology company. QPC gives contact centres a real-time view of their operations. It collects events from major CX platforms such as Genesys, Amazon Connect, NICE, Avaya and Talkdesk and brings them into one platform for live reporting, workforce management and AI-driven insight. QPC has offices in Europe, the Middle East, Africa, North America, India and Australia.
Role Summary
We are hiring a Java developer to work alongside QPC's India team in Bangalore to build and maintain the event adapters that convert contact centre platform events into QPC's normalised event model. In general, you will work from a clear, pre-written design produced by our Event Adapter Analyst, which defines the incoming record structure, the events and attributes that matter, and the sequences needed to track a contact. Your job is to turn that design into robust, well-tested Java that fits into our existing collection service.
Collecting data from the source platform (APIs, polling, streams, webhooks) is a separate concern from converting it into events. Where collection has been decoupled, your adapter simply receives events from a queue such as NATS JetStream and does not need to worry about how they got there.
We work AI-first. You will use AI coding tools as a core part of how you build, not as an add-on: to understand the existing codebase quickly, to turn the Analyst's design into working code, to generate unit and integration tests, to review and refactor, to diagnose defects, and to write and maintain documentation. The aim is to deliver adapters faster and with fewer defects. You remain the engineer: you will review the output, understand it, test it, and own its quality in production.
This is a mid-level role as part of the wider Contact Centre Software Engineering team. It suits someone who likes focused, hands-on Java development in a specific area, enjoys turning a well-defined requirement into reliable production code, and is keen to work in a modern, AI-assisted way.
Key responsibilities
- Adapters: Design, develop and support Java event adapters that map source-system records into QPC events, working within the existing collection service and using AI coding assistants to accelerate implementation.
- Designs: Implement adapters from the Analyst's event mapping design (record structure, event sequences, attributes), using AI to trace requirements through to code,
and raise questions or gaps back to the Analyst promptly.
- Collection: Receive events from queues (for example NATS JetStream) and, where an adapter still connects directly to a source, handle that connection cleanly and keep it separate from the conversion logic.
- Event behaviour: Handle real-world event behaviour: out-of-order or duplicate events, transfers, conferences and consult chains, reconnects and resynchronisation.
- Concurrency: Use multi-threading appropriately, for example separate threads for collection and processing, or one thread per stream, and avoid the bottlenecks and race conditions that come with it, critically reviewing any AI-generated concurrency code.
- Testing and quality: Write unit and integration tests, using AI to extend coverage, that prove expected behaviour, event edge cases and concurrency. The Analyst carries out acceptance testing against the requirements and you turn around their findings quickly, but you remain responsible for the quality of your own implementation.
- Documentation: Produce and maintain clear, AI-assisted documentation for each adapter, covering behaviour, configuration and known limitations, kept in step with the code.
- Diagnostics: Use AI to review code, explain unfamiliar legacy modules, investigate logs and speed up root-cause analysis.
- Tools: Build reusable AI prompts, templates and tools that help with development and support, such as replay utilities, sample-event generators or diagnostic helpers.
- Knowledge sharing: Share knowledge across the team so that routine changes never depend on one person.
- Azure DevOps: Utilise Azure DevOps for work items, change control, pipelines and time tracking.
- AI practice: Contribute to how the team uses AI: share what works, flag where tools get things wrong, and help improve our AI-assisted engineering practices.
Required skills and experience
- Java: Professional object-oriented software development in Java (Java 17+), ideally 3–5 years' experience.
- AI coding tools: Regular, hands-on use of AI coding assistants (for example Claude Code,
GitHub Copilot or Cursor) in your day-to-day development, with the skill to review, test and correct their output.
- Concurrency: Experience developing multi-threaded, headless (service-style) applications, with a good understanding of concurrency pitfalls.
- Testing: Unit and integration testing (for example JUnit 5), including tests for event edge cases such as duplicate or out-of-order events, and for concurrency behaviour.
- Communication: Positive written communication, able to read a design document, ask precise questions and document your own work.
- Problem-solving: Excellent problem-solving skills.
- Teamwork: Able to work autonomously, while being a positive, collaborative member of a team.
Desirable
- Agentic AI: Experience with agentic AI development workflows, for example AI agents working across a codebase, running tests or preparing changes for review.
- AI workflows: Experience writing effective prompts, project instructions or reusable AI workflows for repeatable development tasks.
- IDE and build: Experience in NetBeans IDE and Maven.
- Contact centre: Experience integrating with contact centre or telephony platforms (for example Amazon Connect, Genesys Cloud, NICE CXone, Avaya, Cisco).
- Legacy Java: Experience of Java 8+ and ANT for support of existing libraries and modules.
- Messaging: Experience consuming from message queues or streaming systems (NATS JetStream, Kinesis, SQS or similar).
- Integration: Working knowledge of webhooks, WebSockets and REST APIs.
- Networking: Understanding of networking and socket connections.
- Databases: Database application experience (MS SQL Server, Oracle and MariaDB).
- DevOps: Version control (Git or similar such as SVN) and CI/CD or DevOps practices.
- Other languages: Exposure to other languages or paradigms.
- Cloud: Experience with AWS services (for example Kinesis, CloudWatch, IAM) and containerised deployment.
Pay: ₹1,000,000.00 - ₹2,200,000.00 per year
Benefits:
- Flexible schedule
- Health insurance
- Provident Fund
- Work from home
Ability to commute/relocate:
- Bengaluru, Karnataka: Reliably commute or planning to relocate before starting work (Preferred)
Application Question(s):
- Current Salary and Expected Salary
Education:
- Bachelor's (Preferred)
Experience:
- Java: 3 years (Preferred)
Work Location: Hybrid remote in Bengaluru, Karnataka
📌 Java Developer (Bengaluru)
🏢 QPC UK (India team Technos Consultancy)
📍 Bengaluru