You are viewing a preview of this job. Log in or register to view more details about this job.

Manufacturing Software Developer

The role is for a software developer working on device side code to support three areas of responsibility of hardware testing. The first area is the functional testing of hardware in the devices at the factory where they are built. The second aspect is the design verification of the hardware via at bench testing by hardware team members or via automated reliability testing performed by the hardware team in lab environments.And the third aspect is supporting the hardware team as they work with the software running on the device either for factory, reliability and the final product software that runs on the device in the vehicle.

For the factory, the team delivers software that interacts with hardware drivers to execute test commands and send responses back to a PC station.The team works in close collaboration with hardware teams, various device software teams for drivers and the factory-manufacturing specialists who are designing the tests.This software will interact with all of the various hardware that is part of the device. This can be simple GPIOs and extends to working with audio, accelerometers, interprocessor communications, CAN bus communications, Bluetooth, Wi-Fi, cellular radios, I2C, GPS, USB, etc.

For the bench and reliability testing, the team needs to support additional requirements for the specifics of those tests that extend what is supplied to the factory. The team members will also need to work in cooperation with the hardware team members to root cause issues seen to determine if these are hardware or software issues exposed during the extreme conditions and/or multiple repetitions of the tests.

The device software depending on the processor, operating system and requirements is written using C++ object oriented code, C and LUA scripting.The software developer requires knowledge of GitHub, Linux OS, QNX OS, hardware and software debugging tools, and embedded software architectures. The software developer will use these tools and environments to create and deliver high quality factory and reliability software.

The Factory team works very closely with thehardware team who are collocated with the Factory Team members in Sunrise, FL. The Factory team works with the hardware teamto provide device configuration and software loading support on behalf of domains teams. The Factory team debugs software/hardware interface issues side-by-side with the hardware team. Thesoftware developer needs to understand hardware block diagrams, schematics, hardware IC specifications, software programming specifications, and real time software drivers operation for effective debugging and development.

The Factory team works in a distributed environment. Various teams and third party vendors are geographically spread in different locations and time zones. The Factory team works with numerous Domain Teams that have unique expertise and knowledge. The software developer needs to assimilate knowledge from these domains teams in order to effectively support the hardware team. This position will also require travel to factory builds in remote locations to support factory processes and solve issues in real time.

Responsibilities

  • Review and develop understanding of requirements for manufacturing tests
  • Investigation of software solutions for hardware design validation in cooperation with hardware and software team members
  • Design, develop and test of software for manufacturing to meet requirements
  • Hardware/software debugging in cooperation with hardware designers
  • Technical debugging, troubleshooting, and log analysis to determine causes for software failures during manufacturing runs
  • Bug fixing and configuration changes to resolve problems identified from analysis
  • Assist HW Team in device Configuration and SW Test Setup
  • Design, develop and test of software for HW Team to meet requirements

Basic Qualifications
  • Bachelor's Degree in Electrical Engineering, Computer Engineering, Computer Science, Mathematics or related degree
  • 2+ years of experience with Embedded Software Development (coursework allowed)

Preferred Qualifications
  • Proven embedded software development skills with QNX and/or Linux
  • Experience in multi-threaded programming
  • Experience in scripting languages
  • Development experience with C & C++ and object oriented programming
  • Familiar with object-oriented design principals and patterns
  • Excellent analytical and problem solving skills
  • Good verbal and written communication skills
  • Demonstrated ability to thrive in a fast-paced environment with time critical projects
  • Motivated to work in a quality oriented innovative environment
  • Clear understanding of writing time critical software
  • Experience working cross functional solutions/problems working remotely with distributed team members
  • Prior experience with hardware debugging
  • Experience working with TestStand
  • Debugging on multi-processor hardware architecture
  • Wireless technologies (GSM, LTE, GPS, NFC, Bluetooth, and WLAN)

Join our team as we create tomorrow! We believe in putting people first, working together, and facing challenges head-on, because we are Built Ford Tough. We are one team striving to make people's lives better while creating value, delivering excellence and ultimately going for the win.

Candidates for positions with Ford Motor Company must be legally authorized to work in the United States on a permanent basis. Verification of employment eligibility will be required at the time of hire. Visa sponsorship is not available for this position.

Ford Motor Company is an equal opportunity employer committed to a culturally diverse workforce. All qualified applicants will receive consideration for employment without regard to race, religion, color, age, sex, national origin, sexual orientation, gender identity, disability status or protected veteran status.