Allworx is an award-winning maker of VoIP communication systems for small- and medium-sized businesses and is a wholly-owned subsidiary of Windstream. Allworx provides a complete portfolio of VoIP systems, IP phones, network switches and advanced software options to help businesses create solutions tailored to meet their unique needs.
Essential Duties and Responsibilities (other duties may be assigned):
Collaborates with other Senior Software Engineers on the team to define the detailed interfaces between modules and sub-systems and providing guidance and direction to the Product Software Engineers on the team.
Definition of tasks to be completed by Software Product Engineers on the Team.
Develops sub-system functional requirements based on higher level product requirements and subjective input from sales & marketing.
Conducts design and code reviews of one’s own work product and participation in design and code reviews of other team members’ work product.
Suggests improvements to software, processes and procedures such that these improvements may be incorporated into the team’s process and future versions of the product software.
Leads and directs activities related to problem diagnosis and resolution of product issues based on interactions with product test teams and customer support teams. This responsibility involves working closing with Product Software Engineers, Test Engineers and Customer Support engineers who require timely solutions to field problems.
Assists in the gathering and composition of detailed design requirements based on a High-Level Requirements Documents.
Investigates and evaluates evolving technologies, protocols and algorithms that may be applicable to product and learn to apply them to future implementations.
Develops and tests software in all areas of the product.
Self directed learning of needed data structures, algorithms and programming languages that may be required as the product line evolves.
College degree in Engineering or a related field and 5-7 years professional level experience with 0-2 years supervisory experience for roles with supervision; or 9+ years professional level related Engineering/Technical experience with 0-2 years supervisory experience for roles with supervision; or an equivalent combination of education and professional level related Engineering/Technical experience required.
Master of Science Degree in Computer Engineering, Electrical Engineering or Computer Science.
Eight (8) or more years of professional experience.
Some level of specialization or expertise in one or more of the following areas: Multi-threaded embedded programming, Communications and protocol stacks (TCP/IP, Web/Internet protocols, etc), embedded control systems, telecommunications, SIP and VoIP, device drivers, Linux, board support packages, device drivers, firmware.
Desired Work Traits & Skills:
This position requires mainly self directed management of ones own time and estimation of schedules for assigned tasks and definition of tasks of others.
Must be comfortable working in an entrepreneurial team focused environment and a quick learner of new skills and technologies.
Position requires travel less than 10% of the time.