Web Services Lead (node.js or Go)

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 apps: Java (Android), Objective-C (iOS), Ionic/Cordova (cross-platform), C++ (cross-platform)
  • Servers: Node.js (with TypeScript), Go, React (web), C++ (traffic handling), Cassandra (data), Kafka (data)
  • Build & Deploy: Git, Jenkins, Docker, Kubernetes, Helm

Come join us!

The Role

The Web Services Lead will be responsible for building a new product within Carnegie’s product portfolio.  This product will combine IoT devices, voice assistants, back-end web services, machine learning, and a mobile application to target a growing market segment in a new way.  You’ll be leading the development team building the product, from the overall architecture to hands-on coding to mentoring and organizing the team.

  • The product has both front-end and back-end elements; you’ll be coding primarily on the back-end, but may work on the front-end as well if you have an interest & experience
  • On the back-end, you’ll be coding in TypeScript or Go, with technologies like node.js, Kubernetes, Docker, Prometheus, Cassandra, and RabbitMQ
  • On the front-end, you’ll be coding in TypeScript, with technologies like React and React Native
  • 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, coordinating development activities, and hiring
  • You’ll be developing on Linux – we like Visual Studio Code, but you have your choice of IDE
  • You’ll be working closely with our product/project management, QA, and operations teams to build the right products for our customers – products that work reliably, every time
  • 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

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 modern web services using tools like Go, node.js, JavaScript, or TypeScript
  • You have serious coding skills, in multiple languages
  • You have experience running services on AWS, Azure, or Google Cloud
  • You have some experience working on single-page web applications using tools like React, React Native, Angular, Ember, or Vue
  • You have some experience working with web-scale backend technologies like Cassandra, RabbitMQ, Redis, Postgres, and Docker
  • You understand HTTP headers, authentication, caching, websockets, and the limitations of REST
  • You understand developing for mobile first, including responsive design and using device APIs
  • You have experience developing for quality & reliability – automated testing, performance benchmarking, secure design, high-availability architectures, and continuous integration
  • Your have some experience in (or are excited to work with) analytics and machine learning tools like scikit-learn or TensorFlow
  • 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)