Resume Score

Check how well your resume matches this job before you apply.

Sign in to check score

About the role

  • Senior Software Engineer in Ford developing and supporting flashing tools for ECUs. Involved in software delivery lifecycle and mentoring junior engineers.

Responsibilities

  • Design and development of core features and functionalities for internal Ford flashing tools, primarily utilizing Golang.
  • Lead the integration of flashing tools into modern, cloud-based (GCP) Continuous Integration/Continuous Deployment (CI/CD) pipelines to enable automated software-in-the-loop (SIL) and hardware-in-the-loop (HIL) validation.
  • Read, understand, and analyze existing codebase (including legacy systems), identifying areas for improvement, refactoring, and integration of new features.
  • Collaborate with ECU software development teams to understand their requirements and translate them into tool capabilities.
  • Actively participate in all aspects of the Agile software development lifecycle, including daily stand-ups, sprint planning, backlog refinement, and sprint reviews.
  • Develop and implement unit, integration, and end-to-end tests to ensure the robustness, accuracy, and performance of the flashing tools.
  • Create and maintain clear, concise technical documentation for developed features, APIs, and system architecture.
  • Provide technical support and troubleshooting for issues related to flashing tools across the release.
  • Guide, mentor, and coach junior and mid-level software engineers, establishing and championing best practices.

Requirements

  • Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a closely related field of study.
  • 7+ years of professional software development experience, with a proven track record of delivering production-grade developer tools or system-level software.
  • Expert-level programming proficiency in Go.
  • 5-7 years of experience in system design and software architecture, particularly in how software interacts with embedded systems and physical hardware.
  • 5-7 years of experience mentoring other engineers and leading technical projects or workstreams.
  • Deep expertise in automotive diagnostic and flashing protocols (e.g., UDS ISO 14229, DoIP ISO 13400, ODX, or AUTOSAR standards).
  • Extensive experience with in-vehicle network communication protocols (e.g., CAN, CAN-FD, LIN, and Ethernet).
  • Experience using and automating automotive hardware interface tools (e.g., CANalyzer, ValueCAN, etc).
  • Experience architecting and maintaining CI/CD pipelines (e.g., Jenkins, GitHub Actions) for hardware-reliant software.
  • Active participant in Agile/Scrum development methodologies, with experience driving sprint planning and technical backlog grooming.
  • Exceptional diagnostic, problem-solving, and communication skills, with the ability to translate complex technical concepts to both technical and non-technical stakeholders.

Benefits

  • Health insurance
  • Paid time off
  • Professional development opportunities
  • Bonuses

Job type

Full Time

Experience level

SeniorLead

Salary

CA$105,000 - CA$155,000 per year

Degree requirement

Bachelor's Degree

Tech skills

CloudGoogle Cloud PlatformJenkinsGo

Location requirements

HybridWaterlooCanada

Report this job

Found something wrong with the page? Please let us know by submitting a report below.