R&D Software Engineer

San Clemente, CA | Direct

Post Date: 08/04/2017 Job ID: HQ2779 Industry: Technical Pay Rate: Market
Our client is in search of a talented C++ Software Engineer to work on software including autopilots, autopilot simulation, and vehicle integration. The ideal candidate would have experience with software architecture including refactoring existing code for modularity and testability. Responsibilities would include interfacing autopilot core with hardware subsystems and simulation systems, as well as developing necessary tests and build infrastructure. The candidate would interface with electronics engineers and firmware engineers to integrate modular autopilot software to in-house avionics stack.

This individual will participate in all phases of technology development including concept development, trade studies, requirements development/analysis/allocation, mechanical system design/analysis, electrical systems design/analysis, software and hardware design/analysis, algorithm/controls design/analysis, systems modeling, risk management, manufacturing, integration, test and documentation.

R&D Systems Engineer Responsibilities and Essential Functions:
  • Support all levels of requirements development, management, and verification
  • Develop and maintain system and subsystem specifications, use cases, diagrams, ICDs, operational flow diagrams, and integration development
  • Conduct and lead team through documenting trade studies
  • Support maintenance and troubleshooting activities related to delivered systems
  • Support end-user documentation
  • Support development of technical proposals to acquire new contracts
  • Clear understanding of the engineering process and scheduling
  • Communicate ideas, test results, and design improvements verbally and in writing
  • Attend strategic conferences
  • Responsible for on-time, on-quality delivery of personal work
  • Responsible to bring innovation discussion to customers/industry
  • Interface to customer(s) as project turns in to production.
  • Candidates should also have strong verbal and written communication skills, strong team building skills, and be comfortable working on large teams with talented engineering from other engineering disciplines.

    Two Roads is an Equal Opportunity Employer: EEO/AA/M/F/Veteran/Disability
  • B.S. degree in Computer Science, or B.S Aerospace Engineering / other engineering discipline with equivalent CS experience
  • 2 to 4 years C++: Multithreaded / Preemptive software, Data Structures, GCC, MSV, Linux, Windows
  • Software Architecture: Good abstraction and design practices, Software library development (API definition, Organization, Documentation)
  • Software Testing: Unit Testing framework, Black Box & functional testing, Code Review, Regression testing
  • Documentation: Block diagrams, message sequence diagrams, State machine flow charts, Code documentation, Doxygen
  • Build Systems: Make, CMake, Build automation
  • Networking: TPC/IP, UDP/IP, client and server
  • System IPC and RPC: RPC systems such as JSON/RPC, XML/RPC, Protobuf/RPC, System message ICD, binary protocol parsing
  • Strong mathematics background including linear algebra, calculus
  • Strong physics background including equations of motion, dynamics, momentum, free body diagrams

    Desired Experience:
  • Controls
  • Signal Processing
  • Safety Critical Software
  • Real Time / Time Critical Software
  • Bare Metal Embedded Software: Microchip PIC32, NXP MPC57xx, ARM
  • Experience with embedded protocols: CAN Bus, SPI, I2C
  • Simulation
  • Aerospace
  • Mark Johnston

    Not ready to apply?

    Send an email reminder to:

    Share This Job:

    Related Jobs: