Embedded Software Engineer
Aquabyte - san francisco, CA
Apply NowJob Description
Our mission Aquabyte is on a mission to revolutionize the sustainability and efficiency of aquaculture. By making fish farming cheaper and more viable than livestock production, we aim to mitigate one of the biggest causes of climate change and help prepare our planet for impending population growth. Aquaculture is the single fastest growing food-production sector in the world, and now is the time to define how technology is used to harvest the sea and preserve it for generations to come. We are a diverse, mission-driven team that is eager to work alongside kindred spirits. If this vision makes you smile, gives you goosebumps, or otherwise inspires you please get in touch. Our product We are currently focused on helping salmon farmers better understand their fish populations and make environmentally-sound decisions. Through custom underwater cameras, computer vision, and machine learning we are able to quantify fish weights, detect the health status, and generate optimal feeding plans in real time. Our product operates at three levels: on-site hardware for image capture, cloud pipelines for data processing, and a user-facing web application. As a result, there are hundreds of moving pieces and no shortage of fascinating challenges across all levels of the stack. Watch a short documentary on Aquabyte with Amazon's CTO at a Norwegian fish farm here! About The Edge Systems Team: Edge engineering is responsible for the hardware and software orchestrating the hardware installed at fish farms around the world. Our goals are to create autonomous, reliable, bandwidth-light, long-lasting, robust, remote-debuggable, fail-safe, and easily deployable underwater cameras and sensors. We work with world-class mechanical engineering firms and optical consultants to spec the underwater equipment we deploy. The edge engineering team writes software and procedures to make quality testing of these cameras as easy as possible for the field team in Norway. The types of tests we orchestrate are hardware burn-in, optical quality testing in-air and in-water, sensor calibration and verification, and stereo camera calibration. The edge team also writes software to make it easy for the field team to successfully deploy and configure our hardware at the farm. As it's often rainy in Norway and the Internet may not yet be set up, our debugging tools need to operate wirelessly and allow a field technician to interface with the hardware from their phones. The edge team is responsible for designing the network, cellular backup system, and mesh network of devices at a farm. We plan for failure, and build in redundancies where possible. Internet can go out for hours and there's only so much data we can uplink. Boats may park between our antennas. As Aquabyte evolves, more products will be built on-top of the pixel and sensor data we collect. In order to scale, these algorithms need to live on the edge. We work closely with the machine learning team to help move their algorithms safely from the cloud to the edge. We are responsible for our own Linux build process and the process of safely deploying software to the devices in the field. This role is flexible and is based out of our Bay Area office and involves occasional travel to Norway and Chile. Job Responsibilities Interface with sensors; cameras; mesh, wireless, and cellular networks to create robust, reliable, and remote data collection and processing systems Develop on ARM-based embedded platforms using C, C++, python, golang or rust Improve our embedded Linux build and deployment process Develop software to automate hardware testing procedures Build diagnostic and configuration tooling to enable our field team to interface with our hardware wirelessly from their phones. Enable our research team to try new machine learning models on real hardware Participate in hardware specifications for our next generation equipment Participate in on-call for diagnosing and fixing device issues remotely and implementing procedures and tooling to help enable the field team to self-diagnose and fix issues themselves Qualifications Engineering or CS degree. Software development on an embedded device Experience writing and building software. Professional experience with C, C++, Golang, Python or Rust. Desired but Not Required Solid understanding of TCP/IP Real-Time Operating Systems (RTOS) Buildroot, Yocto Project, toolchains, uBoot, UART, SPI, I2C interfaces Experience with WiFi, BLE, LoRaWAN, Mesh Networking, Cellular Networks Selecting hardware targeted for harsh environmental conditions Ability to read a schematic Experience with cloud environments such as AWS. Experience deploying to off-site hardware. Professional experience working with cameras. Build and maintain fleet operations tools for monitoring, notifications, trending, and analysis. Experience at a small & quickly growing startup Benefits Competitive salary Potential travel Evolve in a fast-paced environment Be able to shape a business in its early days Get ideas, feedback, and suggestions from other best-in-their-field colleagues $120,000 - $160,000 a year Aquabyte is a private company headquartered in San Francisco, and is supported by NEA, Costanoa Ventures, and many other respected investors. At Aquabyte, we admire interesting people with a unique background. We strongly encourage you to apply even if you don't satisfy all the requirements, and we will get back to you as soon as possible!
Created: 2024-11-05