Mobile Applications Lead Developer

At Carnegie Technologies, we are a strong technical team that builds communications products for the multitude of networks available today.  Whether that’s combining LTE and Wi-Fi together for better-quality VoIP calls that aren’t disrupted when you switch networks, aggregating networks together for smoother video streaming, giving your smartphone the ability to place calls over satellite from anywhere on the planet, or constructing end-to-end IoT systems that take advantage of the latest wireless protocols, we’re always looking for ways to get the best experience at the lowest operational cost.

We come from many different backgrounds and levels of expertise – but to all of 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.

Our Kitchener-Waterloo office is the heart of our software engineering team, and works closely with the hardware and operations teams from our company headquarters in Austin, Texas.  You’ll have the opportunity to work with our super talented team of people, from experts in networking, machine learning, and applications to some of the pioneers of Wi-Fi itself. You might even get your name on a patent!

Our technology stack is carefully chosen to give our developers a great development experience – you’ll spend your time building quality software, not on repetitive tasks.  We’ve built tools to ensure our code is consistently formatted, to release after commit, and to automate documentation; and we rely on a shared set of engineering principles when reviewing every line of code we write.  Common technologies we use are:

  • Mobile apps: Java (Android), Objective-C (iOS), Ionic/Cordova (cross-platform), C++ (cross-platform)
  • Servers: Node.js (with TypeScript), React (web), C++ (traffic handling), Cassandra (db)
  • Build & Deploy: Git, Jenkins, Docker, Kubernetes, HockeyApp

Come join us!


The Role

The Mobile Applications Lead will be responsible for designing and building the mobile applications within Carnegie’s product portfolio. From voice and messaging through connection management and Internet of Things, you’ll be management the development of a whole family of applications across Android, iOS, Windows, and macOS.

  • You’ll be primarily coding in TypeScript, Java, and Objective-C, using frameworks like Ionic and Cordova
  • You’ll spend a good chunk of your time coding - and code-reviewing others to ensure we maintain a high standard of quality
  • You’ll spend the rest of your time on architecture, requirements, design, and coordinating development activities
  • You’ll be working closely with our web & network services teams, product/project management, and operations to build the right products for our customers
  • You’ll be pushed by your colleagues to deliver quality products in a reasonable timeframe – and trusted to seek input from then take the best action
  • You’ll be working out of our office in Austin, Texas or Kitchener-Waterloo, Canada, with occasional travel to the other office


About You

  • You have a wide knowledge of computer science/software engineering – through a related degree or diploma, but we also recognize practical experience
  • You are comfortable programming full-stack applications, and have been coding – professionally or personally – for years
  • You have experience working on a common codebase with multiple platform targets, either through a combination of native + platform code, through HTML5 + Cordova/PhoneGap, or via Xamarin
  • You have serious coding skills, in multiple languages – a Unix focus is OK, but some experience with Windows would be useful
  • You have deep knowledge of mobile application architecture, including accessing web services, security, and designing for battery and performance
  • You have wide knowledge of mobile topics, including designing for multiple screen sizes, internationalization, and device variations
  • You have detailed knowledge of the various mobile app stores, the limitations they impose, and the processes for working with them
  • You have experience developing for quality & reliability, and how it relates to mobile applications in particular – automated testing, performance benchmarking, multi device testing, and continuous integration
  • You have some experience with front-end development – both in implementing from a UX/graphical design, and in doing a rough UI yourself
  • You have some experience leading a development team and shipping products
  • You want to work in a small, fast-moving team with lots of responsibility (and few roadblocks to getting things done)