Software Designer/Engineer – Embedded SystemsStatus: Full-time Compensation Range: $TBD - $TBD + depending on experience Location: Hamilton, ON CANADA
Who We Are:
SHOTOVER Systems is headquartered in beautiful Boulder, CO, and designs and builds high-end gyro-stabilized airborne camera systems and augmented reality software used by airborne law enforcement agencies, firefighters, military, utilities, television stations, and cinematographers around the world. With additional locations in New Zealand, Canada, Switzerland, and the UK, we offer a seamless end-to-end solution of software and hardware solutions while delivering an unprecedented level of control, versatility, and ease-of-use in a compact package backed by world-class service and support.
Job Overview:
We are looking for an Embedded Systems Engineer to join our software engineering team in Hamilton, Ontario, working on a state of the art gyro-stabilized camera system. The development team is responsible for all embedded firmware and some associated PC tools which drive the stabilized gimbals. This role will be responsible for designing, implementing, and optimizing control systems to ensure the camera system performs accurately and reliably across its multiple modes of operation. Key tasks include conducting simulations, performing real-time testing, and collaborating with cross-functional teams to integrate control systems with sensors and actuators.
SHOTOVER combines the agility of a focused team with global recognition. We operate in an environment where individual contribution is paramount and supervision is minimal. We are looking for a self-directed professional who combines technical expertise with a results-driven mindset. If you are an engineer who thrives on taking initiative and solving complex problems with a positive attitude, you will fit right in.
Key Responsibilities
-
Design and implement gimbal control systems
-
Develop Embedded Linux software on application processors - write and port kernel drivers, edit device trees, and integrate userspace components
-
Bring up new boards alongside hardware engineers: turn schematics into a booting, working system
-
Debug across the stack with oscilloscopes, logic analyzers, JTAG, and kernel tracing
-
Work with software, hardware, and test engineers to develop new features and support new devices
-
Debug complex software to improve software quality
-
Profile and enhance software performance
Qualifications:
-
Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field, or equivalent experience
-
3+ years of experience working on microcontrollers or control systems for gimbaled positioning systems
-
Eligible to meet Controlled Goods Program requirements
Required Skills
-
Strong background in control theory, C++ and C programming, and an interest in camera systems
-
Experience with linear algebra, coordinate frames, rotations and projective geometry
-
System performance optimization and analysis, bode plot generation and analysis
-
Deep understanding of Ethernet/IP Networking including packet level debugging
-
Production experience with FreeRTOS on STM32 (or a closely comparable RTOS / Cortex-M platform)
-
Familiarity with CAN, SPI, I2C, USB, TCP/IP
-
Embedded C firmware and device driver development for microcontrollers and their peripherals
-
Experience with non-blocking, threaded programming
-
Real-time debugging with and without the use of a JTAG debugger
-
Strong skills in object-oriented design
-
Excellent communication, documentation, and people skills to support production and customer service departments
-
Ability to learn quickly, think on your feet and innovate
Desired Skills and Experience:
-
Experience with Linux, GNU & LLVM Tools
-
Strong C, with a working understanding of memory layout, concurrency, interrupts, and the constraints of resource-limited systems (Preferably Misra C experience)
-
Writing or porting kernel drivers, writing/editing device trees, and working with a build system like Yocto or Buildroot
-
Experience with ARM-based embedded linux systems (Nvidia Jetson or similar)
-
Motor control beyond the block-diagram level FOC, sensorless observers, space-vector modulation
-
Familiarity with networking concepts and protocols (IPv4, IPv6, Multicast)
-
Knowledge of version control systems (e.g., Git) and build tools (e.g., Make, CMake), as well as Jira
-
Experience with digital video - processing, encoding, and transmission
-
Knowledge of cameras and optics
-
Experience with GPS and inertial sensors
Schedule:
-
Monday-Friday with occasional evenings and weekends as required to accommodate project deadlines.
-
Travel within Canada and internationally during testing phases.
SHOTOVER performs background checks prior to employment as all applicants must be eligible for registration with the Controlled Goods Program and be able to maintain a positive security assessment.