Software Engineer, Real Time Communications Services/Clients
Fuze is a global, cloud-based unified communications platform that empowers productivity and delivers insights across the enterprise by enabling simplified business voice communications, flexible video conferencing and always-on collaboration. Fuze allows the modern, mobile workforce to seamlessly communicate anytime, anywhere, across any device.
Customers use our software across a variety of platforms including iOS, Android, Windows, OS X and the web. As a member of the Real-Time Communications team you will help build the heart of our product, the software stacks that power the audio and video communications for the platform. You will work across both the client and backend stacks. We believe strongly in modularity and code reuse.
To ensure our customers have the best experience, these microservices are built with scalability, resiliency and performance in mind. The things that you will build at Fuze impact the success of our customers and of the company.
What you'll do:
As a member of the Real-Time Communications team, you will build Linux-based microservices to provide audio, video, screen share, content, recording and interoperability gateway functions.
You will develop using open source technologies like WebRTC and where it makes sense, build custom software.
You will design the microservices using a combination of REST APIs and IETF standards based protocols to provide functionality to our desktop, mobile and web-based clients.
You will develop cross platform code -- sharing code across clients and sometimes between the clients and various backend services.
As you’re developing cross platform code that is often CPU intensive and performance critical, you will use C++ for code that requires portability between the clients and servers. For backend service, whenever that is not a concern, you will standardize on Go.
You will work with senior members of the team to develop key components of the client media framework and backend services.
You will be responsible for identifying and implementing innovative solutions to difficult problems.
You will learn and deliver at a fast pace.
You will quickly move on to bigger and more challenging problems and will take over ownership of components in our solution.
Who you are and what you have:
Expert C++ coding skills
Experience developing, debugging and optimizing Linux-based services
Experience developing networking software including working with socket level programming and UDP/TCP
Knowledge of and experience with WebRTC is a huge plus
Experience developing software for Windows, iOS or OS X is a plus
Experience with Go and/or Python is a plus
Any experience with VoIP, video compression, signaling protocols such as SIP, audio frameworks in OS X (such as audio units) or Core Audio in windows are desired but not required.
Drive, passion, dedication and a positive attitude
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.