Senior C++ Software Engineer
Senior C++ Software Engineer
Vail Systems is seeking a Senior C++ Software Engineer to develop next generation enterprise communications solutions designed for SaaS/Cloud, traditional premise-based, and hybrid architectures. As a member of the Engineering Team, you will design, develop, and deploy application solutions for the company’s expanding list of Fortune 500 clients using advanced speech and VoIP technologies including Session Initiation Protocol (SIP) and Real-time Transport Protocol (RTP). You would primarily support Vail’s FreeClimb product, a voice and messaging telephony API, by adding new features as well as maintaining, improving, and extending the platform.
The ideal candidate will have a strong C++ programming background and experience in the full software development lifecycle which includes design, development, documentation, unit testing, integration, debugging, and deployment. They should also have experience working with product teams to translate business needs into technical requirements and be able to communicate product status updates effectively with internal and external stakeholders. The candidate will also require knowledge of Kubernetes and Docker or similar container orchestration systems and deployment processes.
What you’ll do:
- Develop and test software in a Linux environment using C++ (including C++14/17), as well as Boost and STL libraries for implementation of telephony services.
- Utilize Git for version control.
- Work with continuous integration pipeline tools like Jenkins/CloudBees.
- Debug source code using GDB debugger and Valgrind.
- Perform interprocess communication using various methods including shared resources and communication protocols like TCP and UDP.
- Support scaled services architectures using multithreaded programming.
- Design and implement APIs using REST principles.
- Refactor existing code to enhance functionality and scaling.
- Utilize data structures and ensure data integrity in multi-threaded environments.
- Monitor performance of applications to ensure they meet required specifications.
Minimum qualifications:
- A Bachelor’s degree in Computer Science, Engineering, Mathematics, or a related field, or equivalent experience.
- 4+ years of experience in a software development role using C++.
- A strong background in Object-Oriented Programming.
- Experience in event-driven programming.
- Experience designing and debugging in a multi-threaded/concurrent environment.
- Experience with data structures such as lists, trees, etc.
- Experience building RESTful web services.
- Experience with Linux and Linux tools.
- Experience with UNIX command line and shell programming.
- Experience with GDB debugger.
- Experience with Docker and Kubernetes.
Preferred qualifications:
- Experience working with telephony networks and related technologies such as Computer Telephony Integration (CTI), Interactive Voice Response (IVR), and VoIP (SIP/RTP).
- Experience with relational databases and SQL.
- Experience with NoSQL databases, such as MongoDB.
- Experience with build tools such as CMake.
- Familiarity in a JVM language, such as Java or Scala.
- Familiarity with source control technologies such as Git, or cvs.
- Familiarity with HTTP and JSON.
- Familiarity with Golang.
- Familiarity with a scripting language such as JavaScript or Python.
- Familiarity with ticketing systems such as Jira.
About Us
The human voice is capable of conveying nuances and meaning that just can’t be expressed through clicks and text messages. And for that reason, voice interactions have always had a special power to shape your perception and experiences. At Vail, we believe in the unique power of voice interactions to create more expressive, more intimate, and more efficient interpersonal interactions. Our experts work with Fortune 500 companies to help them serve their customers more efficiently and effectively through the use of various voice technologies. From basic network services, to state-of-the-art IP telephony, to cutting edge real-time analytics, Vail technology makes millions of voice interactions better every day.
Organizational Culture
At Vail Systems we strive to cultivate a supportive culture of continuous learning where employees are encouraged to achieve both personal and team goals by providing innovative telephony solutions that enhance customer contact center experiences. We entrust our employees to work autonomously and also encourage contribution to the decision-making process in a highly collaborative environment where open communication is fostered amongst teams. Product development is centered around the end user to ensure Vail’s products are efficient, productive and add value for our clients.