Sr. Software Engineer

Teledyne Technologies  •  San Diego, CA

8 - 10 years experience  •  Business Services

Salary depends on experience
Posted on 08/08/17
8 - 10 years experience
Business Services
Salary depends on experience
Posted on 08/08/17

General Overview

The Sr. Software / Firmware Engineer is a member of the underwater robotics development team. This position requires an in depth understanding of computer software architecture, firmware best practices and electronic control systems. Projects include C#-VS.NET, C++ Embedded Linux, GUI Qt Widgets, and Arm / PIC / AVR programming. Assignments include Windows/Linux Applications, Multi-threaded programs on RTOS, or C/C++ state machines on bare metal. All projects rely heavily on experience with Ethernet and serial communications such as I2C, RS232/RS485, and SPI.

 

Essential Duties and Responsibilities include the following. Other duties may be assigned.

  • Development and implementation of software architecture using Agile methodologies.
  • Create Software Requirement Specifications, UML diagrams, and flowcharts.
  • Implement designs based on Software Design Patterns, Object Oriented Design, State Machine Design.
  • Robot Operating System (ROS), RTOS, Embedded Linux and Bare Metal C/C++ programming.
  • Development of Ethernet communication stacks using TCP and UDP for broadband communication systems.
  • Development of Digital Filters, and implementation of vector math sensor fusion for IMU GPS aided navigation.
  • Documentation of software interface specifications and module implementation.
  • Use of software project management systems for coordination of development efforts among team members implementing revision control, and code release.
  • Writing Code, testing, documentation and re-factoring.
  • Use of firmware development tools: Compilers, In-Circuit Emulators / De-buggers, Data Analyzers, Logic Analyzers.
  • Taking a project leadership role within a small work group consisting of firmware engineers, electronic engineers and outside consultants.
  • Development of test cases for Software Validation and Verification testing.
  • Technical support for the sales and production test engineering group.

Qualifications:

To perform this job successfully, an individual must be able to perform each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skill, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.

 

Education/Experience

  • Bachelor’s degree in Computer Science, ElectricalEngineering, Physical Science or other equivalent discipline. A Master’s degree is a plus.
  • Minimum 8years of directly related experience.
  • Experienced with Visual Studio.NET- C#, C/C++, MPLABX, KEIL (ARM) Compilers, Linux & Qt.
  • Knowledge of software management and revision control software including subversion.
  • Experienced with embedded Communication: Ethernet, USB, SPI, I2C, CAN, RS-485 and Asynchronous Serial.
  • Use of firmware development tools: Compilers, In-Circuit Emulators / De-buggers, Data Analyzers, Logic Analyzers, Wireshark, IPERF.
  • Use of electronic test equipment such as Oscilloscopes, Function Generators and DVMs.
  • Motion control design experience a plus (digital control, power, feedback) .
  • Working knowledge of broadband communication systems including GB Ethernet and VDSL using fiber optic and copper transmission media.
  • Strong analytical and applied math skills are required.
  • An engineer with a background or interest in robotics is ideal in this position.
  • Must possess U.S. citizenship or be a "U.S. Person". (A U.S. Person is defined as a person who is a lawful permanent resident “Green Card holder” as defined by 8 U.S.C. 1101 (a)(20) or who is a ”Protected Individual” as defined by 8 U.S.C. 1324b(a)(3).)

Requisition ID  2017-4399

Not the right job?
Join Ladders to find it.
With a free Ladders account, you can find the best jobs for you and be found by over 20,0000 recruiters.