The Lead VoIP Engineer will lead a team of software developers delivering high-volume, flexible, and performance systems in our best-in-breed enterprise and mission-critical fax and document exchange customers. The Lead will manage the coding practices of the team, perform code reviews, mentor team members, and coordinate with Quality Assurance, Technical Project Management, and Product Management peers to deliver high-quality code that solves important business problems in a predictable and repeatable manner.
* Full responsibility for delivering solutions into production (working through operations teams).
* Full responsibility for quality of code the team is responsible (either through personal review or thoughtful delegation).
* Coding is involved (this is not a pure management role).
* Responsible for training and mentoring developers on the team and recommending actions around hiring, firing and promotions.
* Responsible for architectural decisions with consultation from other members of engineering leadership
* Daily coordination of development activities with Product and Project Managers and other Lead Developers.
* Working closely with distributed development and QA resources in several countries.
* Assisting in the design and evolution of the company's software development process and ensuring your team's compliance with those processes.
* Designing and developing new features based on product specifications.
* Troubleshooting production issues and providing configuration or coding changes to fix them.
* Refactoring existing code to improve efficiency, extensibility, and maintainability.
* Identifying and evaluating new techniques, tools, and technologies to expand the team's capabilities.
* Reviewing test plans, test cases, and automated test scripts created by QA team members.
* Participate in the development and evangelization of the Java and/or Node.js coding standards within the organization.
* Displays solid fiscal responsibility by managing and adhering to budgets and always seeking out operating efficiencies and economies.
* Works with Technical Project Management to create and maintain the prioritized backlog and schedule for the team.
* Demonstrates an inclusive, roll-up-your-sleeves work ethic by showing a willingness to participate in daily workloads when needed to make deadlines.
* Contributes to team effort by accomplishing related results as needed.
* Minimum of 10 years of experience in telephony software development, focusing on the use of C and C++
* Ideally, 2+ years professional development experience with Node.js in a web application context
* 4+ years of experience in leading Development Teams
* 2+ years working within Amazon Web Services or similar cloud systems for development and production applications, with an emphasis on automated build and deployment, high availability, and scale
* 2+ years professional experience creating automated unit tests in Java and/or Node.js
* 4+ years troubleshooting computer telephony issues in a production environment
* Deep understanding of telephony technologies, especially fax transmission protocols, including SIP, TDM, XMPP, RTP, data transmission speed standards and their impact on call quality, T.38, etc.
* Professional experience coding against the Asterisk, FreeSWITCH soft-switch platforms
* Professional experience coding against the Kamailio or OpenSips SIP server
* Exposure to DevOps and Continuous Delivery Tools such as CodePipeline or Jenkins
* Proficient with Jira, Confluence, and git toolset
* Understanding of software development life cycle methodologies (particularly Agile). Hands-on experience with Agile/Scrum & Waterfall process environments
* Leading initiatives where teams were comprised of onshore and offshore resources
* Excellent communication skills
* Demonstrated experience successfully leading teams in a dynamic, fast time to market and customer focused environment.
* Consistently exhibits a personal accountability to outcomes to all team members, peers, and stakeholders.
* Strong organizational skills, including the ability to respond quickly in a fast-paced environment
* Able to prioritize and manage multiple projects simultaneously in order to meet deadlines
* Ability to work independently and manage the team in Agile environment
* Professional experience coding against Dialogic SR140 cards and drivers