We are seeking an experienced, motivated, and creative Software Engineer to join our Cognitive/AI Automation development team to work on existing and new applications, microservices, integrations, conversational AI solutions, and deployment automation supporting our 450+ market-leading customers.
The role requires a balanced combination of Java software development, DevOps and CI/CD, conversational AI / Dialogflow, and application deployment lifecycle knowledge. The candidate should be capable of understanding requirements, developing and integrating solutions, configuring conversational flows, supporting deployments, troubleshooting application issues, and contributing to continuous improvement.
This role requires a high degree of independent execution, ownership, and responsibility for customer success. The engineer is expected to be highly resourceful and able to execute development and deployment tasks swiftly while maintaining high-quality engineering standards. This is a varied role that offers exposure to a wide range of technologies.
A commitment to collaborative problem solving, sophisticated design, quality delivery, automation, continuous learning, and effective use of modern AI-assisted development tools is essential.
Key Duties and Responsibilities
- Develop, maintain, and enhance applications using Java, Spring Boot, Microservices, and REST APIs.
- Design and implement scalable backend services and integrations with databases, CRM, customer platforms, and other backend systems.
- Develop and configure conversational solutions using Google Dialogflow, including intents, entities, fulfillment, webhooks, NLU, and conversational flows.
- Develop domain-specific datasets/configuration and optimize conversational solutions for better understanding and user experience.
- Design and maintain efficient conversational flows while addressing disambiguation, errors, and edge cases.
- Understand business and technical requirements and translate them into effective technical solutions.
- Work across the complete SDLC, including design, development, testing, deployment, and production support.
- Design, configure, maintain, and troubleshoot CI/CD pipelines using Jenkins, Bitbucket Pipelines, and similar tools.
- Knowledge of AWS/cloud, Docker, Kubernetes, or similar technologies is an added advantage.
- Independently perform required application and middleware setup across development, testing, UAT, and production environments.
- Work with DevOps and infrastructure teams on application builds, deployments, configurations, releases, and environment management.
- Use Linux/Unix OS commands, application logs, monitoring tools, and debugging techniques to investigate and resolve issues.
- Proactively identify bottlenecks, bugs, deployment issues, integration issues, and performance problems and devise appropriate solutions.
- Develop and maintain code quality, organization, automation, and reusable components.
- Participate in peer code reviews and promote coding standards and engineering best practices.
- Use AI-assisted development tools for coding, debugging, documentation, testing, and code review activities.
- Maintain project and technical documentation using Jira, Confluence, and similar tools.
- Collaborate with developers, QA, DevOps, business analysts, SMEs, and other stakeholders.
- Prepare effort/cost estimates which consistently demonstrate minimum deviation from plan.
- Be accountable and responsible for meeting project timelines and quality expectations.
- Work with minimum guidance from senior resources and take ownership of assigned deliverables.
- Proactively contribute to and shape quality deliverables, particularly during the design phase.
- Practice and encourage knowledge sharing with a focus on establishing best practices.
- Be open to learning and working with new programming languages, frameworks, cloud technologies, and AI technologies.
- Be willing to work in flexible time zones as per client requirements.
Qualifications and Experience Required
- Bachelor’s degree in Computer Science is required; a master’s degree is preferred.
- 4–6 years of software development experience.
- Strong hands-on experience with Java, Spring Boot, Microservices, and REST APIs.
- Good understanding of CI/CD, DevOps practices, application deployment, and release lifecycle.
- Experience with Jenkins, Bitbucket Pipelines, or similar CI/CD technologies.
- Good understanding of Git/Bitbucket and source-control practices.
- Knowledge of or experience with Google Dialogflow, including intents, entities, fulfillment/webhooks, NLU, and conversational flows.
- Excellent written and verbal communication skills, with the ability to communicate effectively across all levels of the organization regarding all aspects of project solutions with managers, clients, and project teams.
- Strong interpersonal skills and the ability to collaborate across teams.
- Ability to think creatively and provide innovative designs and solutions to problems.
- Experience with or knowledge of the complete software development lifecycle process / SDLC.