Staff Software Developer - Team Lead

Added: April 26, 2024
Who We Are And What We Do

Mappedin Inc., headquartered in Waterloo, Ontario, is a global leader in indoor mapping and spatial data management. Our solutions power billions of square feet of indoor space and millions of people visiting malls, stadiums, offices, retail establishments, healthcare facilities, warehouses, colleges and universities to name a few. Our cutting-edge technology optimizes indoor spaces, enhances user experiences, and strengthens public safety through user-friendly digital mapping.

Guided by the ethos "One Map Everywhere," we envision indoor maps as commonplace as their outdoor counterparts. We are committed to creating accessible and user-friendly products, leveraging our extensive experience and Machine Learning for automated paper-to-digital floor plan conversion.


Who You Are And What You'll Do

You’re a developer that wants to lead a team building powerful tools for big customers and care if that means jumping into a front end application with React or a back end service with Node. What you do care about is clean code that works, covered with high quality automated tests, and making your team awesome.

You will lead a small team of developers responsible for building and maintaining Mappedin’s current Indoor Mapping Software solutions, including a web product, a directory, and custom applications as requested by customers

As the Team Lead this means you will:

  • Spend up to 50% of your time growing, managing, and supporting the members of your team, and collaborating with Product and Customer Success to plan and prioritize work
  • Spend the rest of your time using Test Driven Development to build new features and fix bugs

You should already have experience in, or be interested in learning about:

  • Front End Application Development using React
  • Back End Service Development using Node
  • TypeScript
  • Test Driven Development
  • Event-driven architectures
  • Map rendering frameworks such as, Leaflet, or MapBox GL JS
  • Leading a small team

What are some challenges?

We move fast and we sometimes change directions. We can’t always wait for all the information before we try something. If you want us to guarantee exactly what you’ll be working on three months from now, we can’t give you that. On the other hand, there is a lot of high value work to do, and it won’t be boring.

We follow the Test Driven Development methodology to write code that is testable, tested, and only does what it needs to do. We don’t expect you to be an expert in TDD when you start, but we do expect you to become one. You also own the quality of your own work, and we expect you to prove that with your own integration and end to end tests.

There is a lot of discovery work involved as we frequently do things that are ahead of current technology. We also encounter tough problems that require a lot of math. It’s not a requirement for this role, but if you enjoy solving interesting geometry problems, we’d love to have your input.

Behind the scenes

We run an agile development process designed to give our developers as much uninterrupted development time as possible. Most days the only meeting you’re looking at is the morning standup.

We use a variety of technology and tools that currently include TypeScript, React, Jest, Three.js, Webpack, Node.js, Postgres, Kafka, MongoDB, and Docker.

There’s a lot of trust here. We are a REMOTE company. If you’re local, there will probably be a few days a week when you can expect other people to be in the office, but this role could also be fully remote. We work flexible hours, have a flexible vacation policy and work to provide the hardware or office equipment you require to unleash your potential. We will do what it takes to get things done if we said we would do it. We stay curious, challenge opinions, take risks, and learn from mistakes. We’re competitive and we like to win together. We want you to join us.

We welcome applications from people with disabilities. We provide reasonable accommodations for candidates upon request through the recruitment process. For additional information, please email us at or call us at (519) 594-0102 and ask to speak to a member of the Human Resources team.