Software Development Technical Lead

Farm is looking for Software Development Technical Lead to join our team. The successful candidate will help develop and build Farm's software and electrical engineering team and work closely with internal and external resources in the development of electro-mechanical medical devices and systems. The position will receive general direction from the site General Manager, but work with minimal supervision and is expected to exert independent action and initiative.

Here is a glimpse of what you’ll do…
  • Lead the design & development of new software products in compliance with defined processes and industry standards.
  • Perform embedded firmware development in C/C++. Development includes driver development for different MPU / MCU platforms and complex algorithms (including control systems).
  • Create functional, interface and performance specifications for software subsystems.
  • Develop software architecture from requirements.
  • Develop software design specifications from requirements specifications and architecture.
  • Collaborate and manage external Systems / Software and Hardware Engineering team during development to develop cross-functional solutions.
  • Work with project team to integrate software with electronic and mechanical hardware.
  • Manage outside suppliers for software engineering services.
  • Provide accurate, well-defined, and articulate verbal and written presentations to clients.
  • Interact with the design and human factors disciplines to develop good processes, close working relationships, and successful products.
  • Work with business development teams to help communicate Farm’s software engineering capabilities to prospective clients.
Here is some of what you’ll need (required)...
  • Bachelors or Master’s degree in Computer Engineering, Electrical Engineering or Computer Science.
  • 10+ years of embedded software development experience.
  • Experience in developing and architecting systems and devices from the ground up.
  • Demonstrated proficiency in embedded software design including:
    • C/C++ programming.
    • Embedded programming for common microcontrollers such as ARM, PIC
    • Use of software tools for embedded applications (compiler, linker, boot loader, debugger, code management).
    • Design and development of multi-threaded, modular and efficient embedded applications.
    • Experience with motion control and signal processing.
    • Inter-system communication (SPI, I2C).
    • Wired communication (USB, Ethernet, Serial) & Wireless communication (ZigBee, Bluetooth/BLE, Wi-Fi).
    • Must have prior relevant experience in medical device design.
Here are a few of our preferred experiences…
  • Strong background in (embedded) Linux internals (kernel, drivers etc.).
  • Linux development experience with uBoot, USB Host, Wi-Fi, TCP/IP.
  • QNX (or equivalent) development experience with BSP, IPL, Driver, TCP/IP.
  • Experience working with sensor technologies and electromechanicals preferred.
  • Experience in consulting/working with a diverse amount and types of projects a plus.

Join Our Team