About the role
As a Principal Software Developer, you'll play a pivotal role in shaping the future of cloud IP telephony services (VoIP) within our UCaaS platform. Your primary responsibility will be to envision, design, and implement next-generation cloud systems that prioritize both reliability, cost efficiency and supportability. As part of Intermedia’s Voice Service team, you'll own feature development, architectural modeling and testing for our core IP telephony services (VoIP) platform including Softswitch, SBC and application infrastructure.
Responsibilities
1. Architect and design software for Intermedia IP telephony services (VoIP) Platform.
2. Development of modules for the VOIP Service and its Components (new features, security, and compliance)
3. Write technical documentation (architecture, services description)
4. Optimize software to improve system robustness, performance and security.
5. You will collaborate with Intermedia’s Architecture team and all Voice Platform teams to understand requirements and design features and work closely to ensure design correctness.
Required Skills
6. Bachelor or Master’s degree in Computer Science, Electrical Engineering, Computer Engineering, or equivalent related work experience
7. 10+ years as a Software Developer with proven experience in OOP languages (C++, Java, etc)
8. Experience debugging, measuring, optimizing and identifying failure modes in a large-scale distributed system.
9. Good understanding of SOA and Microservices architectures and design patterns
10. Experience with Telcom and VoIP technologies including SIP, RTP, SRTP, G.722, G.711, G.729A protocols
11. Experience with TCP and UDP networking protocols
12. Experience in multi-threaded programming
13. Experience working in a UNIX/Linux environment, using virtual machines and containers
14. Strong knowledge of Git version control System (GitLab, Bitbucket, etc)
15. Good Analytical skills
16. Outstanding communication skills (English), proactive, problem solver, team player
Desired Skills & Experience
17. Knowledge and experience in C++ (C++11/C++14) including stl and boost
18. Knowledge and experience in Java 8 or greater
19. Experience with MySQL
20. Experience in developing high-load applications
21. Experience with Network technologies and peer-to-peer communication (NAT, ICE, STUN, TURN)