Embedded Software Engineer I – IV

Zepher Flight Labs

Embedded Software Engineer I – IV

Bingen, WA
Full Time
Paid
  • Responsibilities

    Embedded Software Engineer

    The Embedded Design Engineer is responsible for developing new firmware and writing drivers for a variety of applications and sensors. Data analysis and testing for robustness and effectiveness is essential. This responsibility covers the development, deployment, and maintenance of all embedded applications for vehicle command and control as well as peripheral systems. The Embedded Design Engineer will work closely with the Z1 technical team to ensure customer requirements and user experience are prioritized. A basic understanding of electronics and the ability to read and understand electrical schematics is preferred. The candidate should have all of the required skills and one or more of the preferred skills.

    Required skills:

    • Motivated and enthusiastic with a positive attitude
    • A self-starter with great time management skills
    • Willingness to learn, try new things, and wear many hats
    • Able to adapt to changing engineering standards
    • Engineering / science degree, or equivalent experience
    • Effective verbal communication skills
    • Strong attention to detail
    • Strong analytical and problem-solving skills
    • English fluency
    • Legally able to work in the USA

    Preferred skills (one or more):

    • Embedded programming in C, C++, and/or assembly (ARM Cortex-M3/M4, STM32, MSP430 using IAR / STCube / Code Composer Studio (eclipse-based IDE))
    • Desktop / GUI programming (e.g., Visual Studio C#, python, LabWindows/CVI/LabView)
    • Embedded web server development
    • RC building / piloting (e.g., DJI, Pixhawk, ArduPilot, servos, ESCs)
    • Experience with single-board computer development (e.g., Raspberry Pi, Arduino, BeagbleBone, Mbed)
    • Assist in tool development for testing and system integration
    • An ability to read electrical schematics and interface with hardware engineers and technicians.
    • Develop, enhance and debug new and existing real-time software in C and C++ in embedded Linux, RTOS, and “bare metal” environments (e.g., FreeRTOS, uCOS, embOS)
    • Revision control experience (e.g., Git, Subversion)
    • Drive software development for performance, scalability, modularity, robustness, and tight integration with the hardware
    • Network and system-level debugging and code optimization
    • Technical writing with skills in MS Office, Excel, PowerPoint (or Open Office equivalents)
    • IoT / cloud platform development (e.g., Amazon Web Services, Azure, Google)
    • BS or higher in Computer Science/Engineering, Electrical Engineering, Physics or proof of exceptional skills in related fields, with practical experience
    • Project management

    Nice-to-have:

    • PCB circuit design / schematic capture (e.g., Altium, Cadence OrCAD, DesignSpark, Eagle, Kicad, Protel, etc.
    • PCB layout (e.g., Altium, PADS (PowerPCB), Mentor Graphics, Cadence Allegro, Eagle, Kicad)
    • Soldering on PCB under microscope on surface mount packages down to 0402 sizes
    • Building cables (solder cup, crimping)
    • Network and system-level debugging and code optimization
    • Implement continuous improvements and best practices within the team, and larger organization
    • Drive software/hardware co-design for optimized solutions and schedules
    • Experience with wired and wireless networking and developing software for networked IoT products
    • Capable of delivering top-quality C and C++ code in multi-threaded and multi-process systems
    • Electrical simulation (e.g., PSPICE, HSPICE, LTSPICE, SPICE, Genesys)
    • Mathematical analysis and scripting (e.g., MATLAB, Octave)
    • MCAD / 3D model development (e.g., SolidWorks, AutoCAD, Autodesk EAGLE, Fusion 360, Inventor, SketchUp)
    • Reverse engineering experience (i.e., product teardowns)