Senior Software Backend Generalist - remote

Posted 3 years ago
Stack Overflow

Summary

The Senior Software Backend Generalist will maintain backend systems to work seamlessly with the rest of the Companion service -- including the device and Companion coach tools -- in order to deliver on Companion's goal of fostering the human-animal bond through training and engagement

Companion has created the first automatic two-way engagement device for animals. The Companion service includes access to this device and to the Companion coaches (Human coaches) through its mobile application(s). The applications provide rich media updates in addition to real-time communication and serve as the primary interface for the service with the user.

This position works closely with the Product, Animal Behavior and Engineering teams to deliver high quality software that runs in the cloud and on the Automated Dog Training and Engagement hardware device. This is very much a generalist role including devops, architecture, and writing high quality software in several languages.

Responsibilities

  • Work with Product and Engineering teams to define key features, performance and scaling requirements
  • Review and update cloud and device architecture
  • Work with the machine learning team to deploy and maintain ML models that recognize dog behavior
  • Identify issues in legacy systems and propose fixes
  • Propose and implement a variety of systems to improve software development and deployment to the cloud and device
  • Design and implement new features including:
    • Endpoints for automatic enrollment of customers
    • Shopping and payment processing
    • Video processing and sharing
  • Manage in house and outside contractors as needed to deliver and maintain services

Qualifications

  • Proven track record of deploying, maintaining and scaling cloud services to thousands of users
  • Experience writing production quality code in a variety of languages including at least one strongly typed language
  • Experience with secure handling of customer information
  • Experience with API and microservices deployments
  • Experience with video data storage and processing
  • Experience with SQL and NoSQL data storage systems

Preferred but not essential

  • Experience with low-level languages like C++ or Rust
  • Machine learning knowledge
  • Experience developing and software for IoT devices