We are looking for a bright, hardworking individual who is detailed oriented and thrives on developing applications that are used by some of the largest broadband service providers. The individual would contain a diverse set of skills and experiences in software development using C++ and Java. We are looking for someone who wants to learn and continuously improve their programming, networking and database skills so that they can improve the quality of our solution. The successful candidate will take on occasional project lead roles and architectural duties.
- Work in an agile team of developer to commit, deliver and a continuously improve
- Designing and distributed microservice based software systems which utilize message bus technologies
- Identify and champion exciting new technologies to improve existing solutions
- Developing and maintaining applications written in C++ and Java
- Design, improve and optimize noSQL and SQL based databases, specifically MongoDB.
- Create sufficiently detailed specifications as deemed necessary for the team
- Develop and maintain automated tests and the frameworks they use
- Ability to review, assess and maintain software previously developed by others
- Lead research, selection and development of technologies and productivity frameworks
- Training & mentor other developers in the selected frameworks
- Employee may be asked to perform other ancillary or related duties as required, to meet the ongoing needs of the organization.
- Possess a Computer Science degree or equivalent.
- 10 years developing and designing large applications with a strong dependency on databases
- 7 years of experience developing solutions in C++
- Extensive experience developing with Java
- Experience developing with MongoDB, an asset
- Experience and background in telecom operators or vendors
- Excellent knowledge and experience using Linux based operating systems
- Knowledge of network protocols (TCP/IP, IP, IP security, DHCP, VPN, DNS).
- Experience designing and troubleshooting distributed systems using various threading models
- Strong software design/methodology background and experience in server-side programming
- Experience designing and building distributed systems using Message Bus communication (specifically Apache Kafka)
- Excellent verbal and written communication skills with experience in creating clear and concise documentation
- Strong interpersonal skills and ability to gather input from technical and non-technical subject matter experts.
- Excellent people and management skills to interact with staff, colleagues and cross-functional teams, and third parties.
- Strong customer focus – able to identify and understand key customer needs and focus on creating solutions that meet them.
- Strong analytical and problem-solving capabilities.