Software Engineer

R&D / Engineering Pune, India


Description

------------

The NICE CXone CCaaS Platform API team is responsible for the public API Gateway of the CXone cloud-based CCaaS platform, handling more than a billion API calls per day. The core of this public interface is the Kong open-source microservice API gateway, which is extended via Lua-based plugins to provide access to the entire family of CXone public APIs. Our services run in Docker containers hosted in AWS, and our team is responsible for defining and maintaining our Docker containers, our AWS infrastructure, and our test and deployment pipelines written in Jenkins. Involves use of networking concepts so much as to understanding infrastructure concepts to help design and implement solutions for distributed micro-services.          

 

 

The Platform API team also provides API governance support for the entire CXone development organization.  We provide Swagger-based API management tools which include pipeline-based standards enforcement, and we consult with teams on how to make our APIs consistent throughout the organization.

 

During a typical workday, an engineer on the Platform API could expect to:

 

  • Coordinate with Architect and Network Engineering to understand and develop Platform Architecture
  • Develop a Dockerized api-proxy solution built on the Kong API Gateway written with and using Lua best practices
  • Work with CloudFormation templates to extend and refine our AWS infrastructure. Including, but not limited to:
    • Utilizing auto-scaling with Docker containers running on EC2
    • Develop and manage the entire AWS stack and all its components
      • RDS, Elasticache, etc
  • Understand and define performance level needs for the platform
  • Design, implement, execute, and report performance testing results
  • Define Cloudwatch logs, alarms, troubleshoot them and fix issues in a defined release cadence
  • Integrating with third party products integrating with Cloudwatch
  • Manage IAM permissions and work with DevOps to maintain “least privilege” 
  • Coordinate with consumer teams of the platform components to provide API contract guidance and implement routing for their microservices
  • Develop and refine Jenkins CI/CD pipelines to deploy code, run acceptance tests, and monitor environment health
  • Effectively collaborate with cross geographical team (R&D team working from India-Pune and USA-Salt lake City) and willing to stretch at times
  • Effectively collaborate with TS/TAM/NOC to address queries and concerns


To Land This Gig You'll Need:

  • Bachelor’s degree in Computer Science, Business Information Systems or related field or equivalent work experience is required.
  • 2+ years of experience in Software Development
  • Experience in one or more of the following software languages: Java, C#, JavaScript, Scripting Languages (Python, Scala, Lua etc..)  (or other established languages)
  • Experience designing, developing, deploying and supporting RESTful APIs.
  • Experience with developing services, clients and multi-threaded software.
  • Experience developing with SQL Server or equivalent
  • Experience with DevOps tools and processes
    • Jenkins, Git, Docker
    • Scripting: Unix, Shell, Groovy, Python
    • Sonarqube
  • Working knowledge of unit testing and test automation
  • Working knowledge of user stories and use cases
  • Working knowledge of object-oriented software design and design patterns.
  • Comfortable working in a fast-paced environment.

 

Bonus Experience:

  • Experience with AWS technologies (VPN, Route53-DNS,VPC,ALB, Multi-region,Multi-Area)
    • AWS Developer / AWS Arch Certifications
  • nginx experience could be good to (or any sort of reverse proxy type stuff)
  • Microservice architecture knowhow
  • Familiarity with Swagger
  • Familiarity with authentication methods
  • Experience(s) as a technical or team lead or equivalent experience
  • Experience with telecommunications/telephony
  • Experience with call centers
  • Experience working in a CI/CD Environment
  • Experience with Jira
  • Experience with automation/testing tools
  • Experience with/knowledge of agile development processes

 

NICE is committed to provide an environment based on equal opportunity for all qualified applicants and employees. It is the policy of NICE to afford equal employment opportunities to qualified individuals, regardless of age, race, color, creed, religion, citizenship, ancestry, national origin, sex, gender, pregnancy, mental or physical disability, marital status, veteran status, service in the Armed Forces, sexual or affectional orientation, atypical hereditary cellular or blood traits, genetic information, status as a victim of domestic or sexual violence, and/or any other status protected by any applicable federal, state and/or local statute or regulation.