Principal Software Engineer
Location: Salt Lake City, UT
About the Team
The inContact media services team writes the software that powers over 6 billion customer phone calls per year. As an experienced team accustomed to real-time communication, we use SIP, RTP, C++, C#, REST and Windows Server to process the world 20ms at a time as we handle over 75,000 simultaneous voip calls. We are an entrepreneurial team that frequently investigates and adopts new technology to help us do things faster and better.
What We're Looking for in a Principal Software Engineer:
Passion and an entrepreneurial spirit for finding simple and sustainable solutions to complex problems. Ability to work within an Agile-inspired methodology to own and continuously deliver cloud-native software that is responsive, scalable, testable, automated, and sustainably managed. We are looking for engineers who are pragmatic and objective in their selection and use of technology frameworks and languages (i.e. best tool for the job); technology platform diversity and ability to rapidly apply engineering value to/with any platform is highly desirable. Finally, as a Principal Engineer, we want experts who are also teachers and mentors leaders that think beyond organizational or geographical borders to raise the excellence bar for the company.
What to Expect as a Principal Software Engineer:
The opportunity to own one or many critical components of the overall technology platform which includes working with technical program management peers to understand and define the product backlog and break the work down into commercially prioritized and viable units that can be engineered using a design that you have largely conceived. This likely involves filling a technical supervisory role over other software engineers. The bullets:
Participate and drive design discussions and produce standard design artifacts for collaboration with team members and other stakeholders. Examples of design artifacts include (but are not limited to): UML-notated diagrams, data models (e.g. Entity-Relationship), API contract specifications, et cetera.
Conduct and perform consistent design and code reviews providing tangible and actionable feedback.
Participate in the definition and influence component Product Backlogs; influence Milestone/Sprint Backlog planning and detailed technical work breakdown and estimation exercises; participate in daily Scrum meetings and produce daily increments of software.
Coding > 70% of your time in an Integrated Development Environment writing beautiful code designed for scale and performance, implemented with best practices and patterns, and quantifiable through tests.
Work closely with QA, System, Network, and Voice engineers and architects to ensure a complete and sustainable software release that meets our technical standards for design and quality.
Present content and mentor other engineers in technology trends, technology, patterns and practices; strive to be a go-to expert and trusted advisor within the global organization
Qualifications and Desired Experience:
Bachelor's degree in Computer Science, Business Information Systems or related field or equivalent work experience is required
10+ years of experience in producing software
Extensive C++ background and reasonable C# experience
Experience with realtime processing, including multi-threading and interrupts
Solid understanding of IP networking; VOIP, SIP, RTP, and Wireshark experience helpful
Interest in VOIP
Qualifications and Desired Experience:
2-4 years as a leading Senior or Principal level software engineer or Architect
VOIP experience, including media streaming, SIP signaling, and RTP
Credible experience in the public cloud; AWS preferred
Familiarity with machine learning/artificial intelligence
Passion for quality software, including testability, automation, and test code coverage
RESTful service design, documentation, and implementation experience
Practiced understanding of microservices architecture
Experience developing and deploying applications in Docker containers and scaling them in production
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 #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.