Telecom developer lead

At Carnegie Technologies, we are a strong technical team that focuses on building premium alternatives to expensive operator systems.  We develop real, revenue-generating communications products that take advantage of the fundamental shifts in the communications technology ecosystem and create new market categories.

Our team is filled with innovators - we use new technologies and techniques to replace the unimaginative status quo.  And we come from many different backgrounds and levels of expertise, from those that have years of experience to those that are just getting started in telecom.

To us, craft and functionality are equally important.  We constantly learn and hone our skills and incorporate those experiences into every line of code.  We don’t ship “fast” solutions – we ship the right ones for our customers.  We’re also leaders that create quiet time to solve hard problems and the space to focus on the best result.

Ubiquitous access across licensed and unlicensed networks is becoming a critical element of service provider strategies to improve customer experience, reduce churn, support new revenue streams and reduce costs. Carnegie Technologies’ Network Convergence Platform provides the critical factors for success: a smooth user experience with our industry leading True Gapless Handover, Bandwidth Aggregation and Network Quality Analytics.

The Kitchener-Waterloo office builds intelligent connectivity software that improves and optimizes wireless networks. Our software is used on connected vehicles – where we seamlessly move traffic between networks, combine LTE and Wi-Fi for faster downloads, share smartphone data into the car, and secure network traffic – as well as on smartphones and tablets, where we monitor network quality, auto-login to Wi-Fi, switch between mobile networks, and advise on the best available network for web, video, and VoIP.

You’ll also have opportunities to work with our global development centers in Austin, Texas and Belgrade, Serbia on the other aspects of our Network Convergence Platform, including our Hi-Fi Voice and Messaging clients and other in-development products.

Our technology stack currently includes C/C++ (on Linux, Android, Windows), Java (Android), Objective-C (iOS), Bash, and Javascript (browser and server).

We were recently selected for an Automotive Supplier Innovation Grant that enables us to rapidly grow our team – come join us for this exciting stage in our growth!

Job Responsibilities

The Telecom Lead will be responsible for designing and building services within Carnegie’s Network Convergence Platform that communicate with telecom systems via standardized 3GPP/3GPP2 interfaces.  This includes services that share policy, CDRs, network traffic, media, and more.

We build our network services in native C++ using a blend of standardized and custom protocols.  We’re seeking an individual with broad experience in telecom to lead our efforts in this area. Specific skills include:

  • Experience with many different telecom protocols, including ones like ANDSF, IMS, SIP, and RADIUS/DIAMETER
  • Deep understanding of the design of a 3GPP mobile network, including components like ePDG, eNB, HLR, VLR, PCRF, OCS
  • Serious C/C++ coding skills – with a Unix focus
  • Deep knowledge of network service architecture, including networking, security, load balancing, caching, virtualization, and containers
  • Experience with developing for quality & reliability, and how it relates to network services in particular – automated testing, performance benchmarking, load-balancing, multi-site availability, GeoDNS, and “Chaos Monkey”-style approaches
  • Some experience with the inner workings of the fundamental Internet protocols (TCP, UDP, DNS, and HTTP)
  • Some experience with operations and deployment – enough to set up your own server and work with our operations team to deploy, scale, and monitor service availability

This is a development lead role, so your days will consist largely of coding and code reviews – though you’ll also be spending some time each week architecting new components, refactoring old ones, releasing code to production, mentoring junior developers, managing external contractors, and planning new features with our product team.