Sr. Software Engineer Location: Salt Lake City, UT
The 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.
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 Architecture 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 and alarms
Integrating with third party products integrating with Cloudwatch
Manage IAM permissions and work with DevOps to maintain "least privilege"
Coordinate with other teams 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
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.
6+ years experience in software development
Experience with DevOps tools and processes
Experience in one or more of the following software languages: Java, C#, JavaScript, Scala, Lua, Python (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
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 Jira
Experience with automation/testing tools
Experience with/knowledge of agile development processes
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 AWS technologies
ABOUT NICE inContact: NICE inContact makes it easy and affordable for organizations around the globe to provide exceptional customer experiences while meeting key business metrics. NICE inContact provides the world's No. 1 cloud customer experience platform, NICE inContact CXone™, combining best-in-class Omnichannel Routing, Workforce Optimization, Analytics, Automation and Artificial Intelligence on an Open Cloud Foundation. NICE inContact is a part of NICE (Nasdaq: NICE), the worldwide leading provider of both cloud and on-premises enterprise software solutions.