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, Canada 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, and our engineering office in 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 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!
iOS developers at Carnegie are responsible for designing and building the mobile applications within Carnegie’s product portfolio. They primarily focus on our Network Convergence Platform client SDKs, which provide connection management, network quality monitoring, analytics, gapless handover, and bandwidth aggregation. They also build the sample applications that we use to demonstrate our technology, and assist our customers with integrating network convergence into their products.
- You’ll be primarily coding in Objective-C – and C++, which we use for cross-platform development
- You’ll spend a 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, design, and mentoring junior developers
- You’ll be a key member of our network convergence platform team, helping is to build the right features for our customers and get them into production
- 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 working out of our office in Kitchener-Waterloo, Canada, with frequent video calls with colleagues in our other offices
- 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 serious coding skills, particularly in Objective-C for iOS
- You have deep knowledge of mobile application architecture, including accessing web services, security, designing for battery and performance, designing for multiple screen sizes, internationalization, and device variations
- You have detailed knowledge of the iOS App Store, the limitations it imposes, and the process for releasing apps via the store
- You have experience developing for quality & reliability, and how it relates to mobile applications in particular
- You have some experience with front-end development – both in implementing from a UX/graphical design, and in doing a rough UI yourself
- You want to work in a small, fast-moving team with lots of responsibility
- You are excited at the prospect of gaining a first-hand knowledge of exactly how the Internet works