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 software engineering team is spread across our offices in Kitchener-Waterloo, Canada; Austin, Texas; and Romsey, UK. 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: Java (Android), Objective-C (iOS), C++ (cross-platform)
- Front-End: React, Angular 2+ (with Ionic/Cordova)
- Back-end: Node.js (with TypeScript), Go, RabbitMQ, Postgres, Cassandra, Kafka
- Build & Deploy: Git, Jenkins, Docker, Kubernetes, Helm, Prometheus
Come join us!
Android developers at Carnegie work on the mobile applications that make up network convergence platform. From connection management through link aggregation, you'll be working with protocols, networks, and the intricate details of the Android platform to enable a better user experience for mobile devices.
- You’ll be primarily coding in Java, with specific focus on managing the Android operating system from a store-compliant application
- You’ll spend most 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, and design
- You’ll be working closely with our client & web 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 code in a reasonable timeframe – and trusted to seek input from then take the best action
- You'll be entrusted with ownership over key features
- You'll act as a mentor to the more junior developers to help them write stable, maintainable apps
- You have a wide knowledge of computer science/software engineering – through a related degree or diploma, but we also recognize practical experience
- You are formidable with Java, and know how to architect effective Android applications and libraries
- You have developed software for Android, know its quirks, know how to make it do what you want it to do even when Android doesn't make it easy, and know how to get things done despite Google's poor documentation
- You are comfortable programming mobile applications, and have been coding – professionally or personally – for years
- You understand networks, in well enough detail to understand the practical differences between Wi-Fi and LTE
- You are comfortable in Linux, and working on the command line is no big deal
- You want to work in a small, fast-moving team with lots of responsibility (and few roadblocks to getting things done)
- You are excited at the prospect of gaining a first-hand knowledge of exactly how the Internet works – or sharing your existing knowledge with the team here