Ian Anderson, Developer in Windsor, ON, Canada
Ian is available for hire
Hire Ian

Ian Anderson

Verified Expert  in Engineering

Embedded Software Developer

Location
Windsor, ON, Canada
Toptal Member Since
December 18, 2023

Ian is a creative and skilled developer who specializes in the development of software for embedded devices. He has 16 years of industry experience in the automotive sector in the Metro Detroit area. He holds a degree in electrical engineering, focusing on computer and software engineering. Ian has experience writing production-quality, saleable embedded software sold at high volumes on the consumer market.

Portfolio

General Motors
Embedded C, C++, Embedded Systems, AUTOSAR, Git...
General Motors
Software Testing, Software QA, Python 3, Windows PowerShell, C#...
General Motors
C#, .NET 4, ASP.NET, Web Development, HTML, CSS, JavaScript, IIS, Unit Testing...

Experience

Availability

Part-time

Preferred Environment

Windows 10, Visual Studio Code (VS Code), CMake, Visual Studio, GCC, C, C++, Python 3

The most amazing...

...project I have contributed to is a production-quality embedded software for an automotive infotainment system, now present in millions of vehicles globally.

Work Experience

Embedded Software Engineer

2018 - 2023
General Motors
  • Developed production-quality embedded software in C for six generations of automotive infotainment systems.
  • Implemented new Unified Diagnostic Services (UDS) diagnostics features and enablers in the embedded software using C.
  • Supported multiple product launches by providing solutions for critical issues in the vehicle assembly plants.
  • Proposed and implemented improvements to team processes for overcoming problems encountered during development.
  • Led team initiatives for unit testing and hardware virtualization.
Technologies: Embedded C, C++, Embedded Systems, AUTOSAR, Git, Real-time Operating System (RTOS), Unit Testing, C, CMake, Make, CAN Bus, UDS Diagnosis, Embedded Software, Python 3, Test-driven Development (TDD), Jira, Serial Peripheral Interface (SPI), ISO 14229, Infotainment, C#, Visual Studio, Visual Studio Code (VS Code), LIN Bus, Linux, Debugging Tools, IBM RTC, Jenkins, Virtualization, Embedded Hardware, .NET, C#.NET, C#.NET WinForms

Embedded Software Engineer (DevQA)

2017 - 2018
General Motors
  • Performed testing of embedded software targeting the automotive infotainment system while working closely with software developers.
  • Championed software quality through creative testing strategies and test plan development.
  • Practiced and promoted new approaches to software testing within the team.
  • Organized and oversaw the execution of software release testing plans.
  • Reduced testing time by several working days for each release cycle by creating and employing a new test automation system.
Technologies: Software Testing, Software QA, Python 3, Windows PowerShell, C#, Embedded Systems, Embedded Hardware, .NET, C#.NET, C#.NET WinForms

Software Engineer

2011 - 2017
General Motors
  • Developed software tools for the validation of automotive telematics and infotainment systems.
  • Created and deployed a custom, server-based software test tool to validate the over-the-air software update capabilities of the telematics and infotainment systems.
  • Built and deployed a server-based back-office simulator for use during telematics and infotainment validation. This tool has been continuously used for over 11 years by development and validation engineers globally.
  • Reduced administrative burden and human error by creating web-based applications to automate business processes.
Technologies: C#, .NET 4, ASP.NET, Web Development, HTML, CSS, JavaScript, IIS, Unit Testing, Test-driven Development (TDD), ASP.NET MVC, Java, Python, .NET, C#.NET, C#.NET WinForms, SQL, IIS SQL Server

Requirements Management Engineer

2010 - 2011
General Motors
  • Developed and maintained the human-machine interface (HMI) user requirements for the automotive telematics system.
  • Built a software tool in Visual Basic .NET, which provides a realistic interactive simulation of the user's experience with the telematics system based on written HMI requirements.
  • Demonstrated proposed engineering changes to HMI requirements using the interactive HMI requirements simulator.
Technologies: Visual Basic .NET (VB.NET), Visual Basic for Applications (VBA), User Requirements, Human-machine Interface (HMI), VB.NET

Test Development Engineer

2007 - 2010
General Motors
  • Designed and executed test plans based on written requirements for the automotive telematics system.
  • Authored several high-quality test plans for the validation of automotive telematics features.
  • Facilitated the analysis of automation test results by developing Excel Visual Basic for Applications (VBA)-based software tools.
Technologies: Software Testing, Visual Basic for Applications (VBA)

Subsystem Test Engineer

2007 - 2007
Aerotek Automotive (Contracted to General Motors and OnStar)
  • Contracted to General Motors and OnStar to perform system-level validation testing of automotive telematics features.
  • Engaged in both bench-level and vehicle-level testing of the automotive telematics system.
  • Uncovered functional defects with the automotive telematics system and logged them in an issue-tracking database.
Technologies: Software Testing

Embedded Software for Automotive Infotainment Systems

Automotive infotainment systems are familiar to all of us and are present in millions of vehicles worldwide. I contributed to developing production-quality embedded software for six successive generations of automotive infotainment electronic control units (ECUs). The ECUs contained an automotive-grade microcontroller, which maintained communication with the rest of the vehicle. The software targeting the microcontroller was written in Embedded C. I developed features and functions of the software related to the diagnostics domain, which are used throughout the vehicle's lifecycle for manufacturing and vehicle servicing applications. I supported several infotainment product launches. These systems are now on the road in millions of vehicles worldwide.

Back-office Simulator for Infotainment and Telematics Validation

A custom-designed, server-based test application developed in C# and ASP.NET targeting global infotainment and telematics validation teams. I co-developed, deployed, and maintained this test application, which simulates the back office's protocols to communicate remotely with the in-vehicle telematics system. It has enabled the validation of multiple successive generations of automotive telematics products. It has been in continuous use since 2012 by hundreds of engineers around the globe for product validation and field investigations.

Over-the-air Software Update Simulator for Validation

A custom-designed, server-based application developed in C# and ASP.NET targeting infotainment and telematics validation teams. Along with a small group of software engineers, I rapidly developed and deployed this software tool, which simulates the functionality of the back office to perform remote software and calibration updates over the air for in-vehicle electronic control units (ECUs). This tool has been a key enabler for successfully validating many generations of infotainment and telematics products. It has been in continuous use by development and validation teams worldwide since 2015.
2004 - 2007

Master of Applied Science (MAS) in Electrical Engineering

University of Windsor - Windsor, Ontario, Canada

2000 - 2004

Bachelor of Applied Science (BAS) in Electrical Engineering

University of Windsor - Windsor, Ontario, Canada

Languages

C, Embedded C, C#, C#.NET, C++, SQL, VB.NET, Python 3, HTML, CSS, JavaScript, Java, Python, Visual Basic .NET (VB.NET), Visual Basic for Applications (VBA)

Frameworks

.NET, Windows PowerShell, .NET 4, ASP.NET, ASP.NET MVC, Scaled Agile Framework (SAFe)

Tools

Git, C#.NET WinForms, CMake, Visual Studio, GCC, Make, Jira, IBM RTC, Jenkins, GitHub

Paradigms

Unit Testing, Test-driven Development (TDD), Software Testing, Agile Software Development, Design for Six Sigma

Other

Electrical Engineering, Computer Engineering, Firmware, Embedded Systems, Embedded Software, Windows 10, AUTOSAR, Real-time Operating System (RTOS), CAN Bus, UDS Diagnosis, Serial Peripheral Interface (SPI), ISO 14229, Infotainment, LIN Bus, Debugging Tools, Virtualization, Software QA, Web Development, IIS, User Requirements, Human-machine Interface (HMI), GPIO, I2C, ISO 15765, Embedded Hardware

Storage

IIS SQL Server

Platforms

Visual Studio Code (VS Code), Linux

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring