Full-Stack Software Engineer - Gunshot Detection
AmberBox is the industry leader in gunshot detection and response technology. We help Fortune 100 corporations, schools, hospitals, government departments and airports protect their staff and visitors from the threat of workplace violence, automating the emergency response process in an incident. AmberBox is a Silicon Valley VC-backed, rapidly scaling company, and we are looking for individuals that share our vision and experimentative approach.
Who We Are
AmberBox is the industry leader in gunshot detection and response technology. We help Fortune 100 corporations, schools, hospitals, government departments and entertainment venues protect their staff and visitors from the threat of workplace violence, automating the emergency response process in an incident. AmberBox is a Silicon Valley VC-backed, rapidly scaling company, with 1000s of devices deployed across the globe, and we are looking for individuals that share our vision and experimentative approach to work with us in Nashville, Tennessee.
About The Job
As a Gunshot Detection Full-Stack Software Engineer, you will be responsible for undertaking multiple hands-on product improvements as well as implementing new projects, with the freedom to choose the best languages, tools, and frameworks to create a stable and intuitive experience for our clients.
Get involved in exciting projects including:
- Building scalable backend infrastructure to configure, monitor and manage thousands of gunshot detectors across multiple continents and time zones
- Building client web and mobile apps to view and share active shooter event data in real time
- Scaling notification infrastructure to connect emergency responders across the globe with client personnel by phone, SMS, email and other integrations
- Working with machine learning team to implement the latest in machine learning algorithms for a variety of detection types
- Testing systems using a healthy mix of automated end-to-end approaches and in-field live gunfire exercises!
- Bachelor’s Degree in Computer Science or a related field (or relevant experience)
- Full understanding of OOP concepts
- Experience in a typed language (i.e. Java, Kotlin, C++, C#, TypeScript, etc.)
- Experience with common front-end development tools such as NPM, Webpack, and Babel
- Knowledge of modern authorization mechanisms, such as JSON Web Tokens and SSO
- Experience with either Angular 2+, Vue.js, or React.js with popular React.js workflows (such as Flux or Redux)
- Experience in one or more back-end frameworks (such as Spring, Symfony, Lavarel, Rails, Django, or Inversify/Express/typeORM)
- Ability to work in an Agile environment (Scrum)
- A drive for writing and maintaining quality and readable code (experience with code reviews, code style practices, linting, etc.)
- Experience using testing and mocking frameworks (Cucumber, Sinon, JUnit, Mockito, Jest, Mocha, Chai, or Lab)
- Must have an appetite for breaking, shooting, and destroying things to test the system!
- Software architecture knowledge (SOLID, design patterns, etc)
- Experience designing RESTful APIs
- Experience with Kubernetes/Helm/Terraform
- Experience with modern cloud providers (GCP/AWS/Azure)
- Experience with relational and non-relational databases such as PostgreSQL, MySQL, MariaDB, MongoDB
- Experience with JVM-based languages such as Kotlin or Scala
- Mobile application development (iOS or Android)