The Senior Software Engineer is a member of a highly-motivated team. This role will develop, enhance, and sustain innovative solutions to improve the customer experience. The Senior Software Engineer will also review designs and participate in meaningful collaboration sessions on how to solve customer problems and participate in determining scope for new projects. The Senior Software Engineer will own components of the architecture and direct the work of other team members.
Essential Duties and Responsibilities:
- Code, test, debug, document and maintain software applications using established coding standards and methodologies.
- Participate in Scrum activities, perform code reviews, contribute to a high performing, growing team.
- Own component(s) of the architecture and direct the work of other team members.
- Ensure new software meets quality standards through writing unit and automated tests.
- Troubleshoot, debug, resolve product issues as they arise.
- Assist in designing interfaces to improve the user experience.
- Support the application lifecycle (concept, design, test, release and support). Follow established development, documentation, testing and deployment processes.
- Gather requirements and suggest solutions; serve as an integrator between business needs and technology solutions.
- Collaborate with product development team to plan new features.
- Participate in planning and scoping meetings for future projects.
- Work cross functionally to resolve complex customer problems.
Education and Experience:
- Bachelor's degree from four-year college or university and 6 years’ experience, or Master’s Degree in Computer Science and 3 years’ experience; or comparable experience and/or training; or equivalent combination of education and experience. BS in Computer Science preferred.
- Experience in developing application based on TSAPI using C++
- Exposure to TAPI application development on windows platform
- Exposure to Cisco Finesse Application Programming Interface
- 6+ years’ experience in application or integration software development
- Deep experience in CTI system development using C/C++, .NET (VB6 a plus). This includes understanding call-flows, Contact Center API systems and all required applictions to complete the system.
- Deep experience on one or more of these APIs...Avaya: DMCC; CiscoGED-188, or Finesse, Unify ECMA-322, Alcatel CSTA
- Experience using configuration management tools such as SVN and, Git
- Experience with RabbitMQ and Consule
- Experience with Unit Testing
- Demonstrated ability to coordinate cross-functional work toward task completion
- Excellent communication skills, both verbal and written
- Experience working in an Agile development team
- Ability to identify, own, and solve problems independently or as part of a team