diff --git a/Dockerfile b/Dockerfile index 04d8826..ae6f1e0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,5 +25,5 @@ COPY . . # Expose Jekyll's default port EXPOSE 4000 -# Run Jekyll server with live reload and incremental builds -CMD ["bundle", "exec", "jekyll", "serve", "--host", "0.0.0.0", "--livereload", "--incremental", "--drafts"] +# Run Jekyll server with live reload +CMD ["bundle", "exec", "jekyll", "serve", "--host", "0.0.0.0", "--drafts", "--force_polling"] diff --git a/_layouts/work.html b/_layouts/work.html index c06425e..7c25683 100644 --- a/_layouts/work.html +++ b/_layouts/work.html @@ -5,7 +5,7 @@

Work/

-

{{ page.team }}

+

{{ page.title }}

{{ content }} diff --git a/_sass/main.scss b/_sass/main.scss index 759dbaf..7d588f2 100644 --- a/_sass/main.scss +++ b/_sass/main.scss @@ -61,6 +61,11 @@ img { object-fit: scale-down; } +figcaption { + text-align: center; + font-style: italic; +} + iframe { display: block; margin: 0 auto; diff --git a/_work/2022-Ford-Architect.md b/_work/2022-Ford-Architect.md index b99faae..76b046f 100644 --- a/_work/2022-Ford-Architect.md +++ b/_work/2022-Ford-Architect.md @@ -1,19 +1,166 @@ --- -title: Ford Model e +title: Ford Connected Vehicle Software company: Ford -team: Ford Model e +team: Connected Vehicle role: Software Architect start_year: 2022 -end_year: Current -description: Helping drive the automotive software revolution! Responsible for improving software quality through automation. +end_year: 2026 +description: Managed a team that created automated test frameworks and traceability tools for vehicle software. icon: ford.svg --- I joined Ford in late 2022 to help with the effort to revolutionize how the company -produces software! +produces software. It was an amazing experience learning about the automotive industry +and the unique software challenges of a real-time, safety critical, distributed systems +environment. -My team is involved with improving software quality through new automation investments. +
+ Ford F-150 Lightning, E-Transit, Mustang Mach-E +
+ When I joined in 2022 Ford had just started shipping their new EV lineup with the + F-150 Lightning, Mustang Mach-E, and E-Transit. +
+
-More to come! +# The Fully Networked Vehicle (FNV) Architecture -![Ford F-150 Lightning, E-Transit, Mustang Mach-E](/assets/images/work/2022-ford-electric-vehicles.jpg) \ No newline at end of file +Ford started developing the Fully Networked Vehicle architecture in ~2017 in response to competitors +like Tesla introducing vehicles that were designed to allow software to completely manage +vehicle systems. + +A software-driven architecture is capable of receiving over-the-air updates to +add functionality or address issues in the field, but also enables more advanced software features +such as SAE Level 3+ autonomous driving that were beginning to become more commonplace across +the industry. + +To help build the foundation for the Fully Networked Vehicle, Ford +[quietly acquired a large number of BlackBerry staff and facilities in 2017](https://apnews.com/general-news-8b09b589c7ed45a7867a2aa577d58830), +who quickly started cultivating a modern software development culture at Ford, and began +building several core FNV modules: + +- Telematics Control Unit (TCU) +- Enhanced Central Gateway Module (ECG) +- Infotainment Module (SYNC) +- Advanced Driver Assistance Module (ADAS) + +The 2021 Mustang Mach-E and F-150 were the first vehicles to ship with the new FNV2 architecture, +allowing for over-the-air updates to be delivered to nearly every module in the vehicle, and +eventually (with an update) providing Bluecruise hands-free self-driving. + +# My Role + +I joined Ford's testing organization, eventually re-branded to "Verification & Validation." + +My role was to help improve Ford's automated testing of software components by providing tools, +frameworks, and guidance to the teams responsible for testing both in-house Ford software as +well as software that delivered to Ford by suppliers. + +My team maintained a set of libraries and frameworks called "TAT" - "Test Automation Tools." +TAT's lineage traces back to BlackBerry, and helps abstract away things like CAN bus, +test environment configuration, logging, results reporting, etc. so that teams can focus +on writing tests and diagnostics tools. + +Along with TAT, my team also managed the infrastructure that ran tests during pull requests, +defending Ford's codebase against changes that would introduce defects. This involved maintaining +a sizable lab of physical ECUs, and maintaining tooling that orchestrates the deployment +and execution of tests for every pull request. + +A significant challenge for Ford is extending this style of fully automated testing to +their HiL (hardware-in-the-loop) labs. HiL labs wire together larger systems of physical ECUs +to simulate portions of a full vehicle in order to catch issues that may only occur in a system +environment. + +Traditionally, the HiL labs relied mostly on manual or semi-automated testing, where test steps +are documented in a test management system, and a human executes and verifies the result of +each step. TAT, in combination with new AI-enabled test tooling, is being leveraged to help +turn existing semi-manual test cases into fully automated test scripts that can be dynamically +executed against standard HiL benches, similar to how pre-submit manages testing at the ECU level. + +My team also enhanced traceability at Ford, building a system that synchronized data from the +various tools used for requirements, work tracking, release tracking, and test tracking. +With one uniform data model, we could generate reports that traced requirements through +implementation to test results, and determine the quality level of a particular software release, +and whether we had sufficient test coverage of the original requirements. + +# My Experience in Photos + +I was fortunate enough to have Ford fly me to several of their offices across North America +for an in-person introduction to my colleagues and the various development, manufacturing, and +testing facilities. Here are some photos of those experiences! + +
+ Me in the frunk of an F-150 Lightning +
My first time seeing an F-150 Lightning and its enormous "frunk."
+
+ +
+ Ford World Headquarters +
+ The view from my hotel of the iconic Ford World Headquarters building during + my very first trip to Dearborn. +
+
+ +
+ Ford GTBC Mexico +
+ The brand new Ford Global Technology and Business Center (GTBC) facility in Mexico City, + home to a large HiL (hardware-in-the-loop) testing lab and some stylish Pride Month stripes. + The building is enormous, extending far beyond the boundary of the photo. +
+
+ +
+ Inside of a partially assembled Mustang Mach-E +
+ The inside of a partially assembled Mustang Mach-E during my tour of the Ford Cuautitlán + Stamping and Assembly Plant (CSAP). +
+
+ +
+ A Mach-E in my garage with the frunk disassembled +
+ Flashing new software onto a test vehicle in my garage, before Ford had officially + established an office in our region. +
+
+ +
+ Ford test benches and vehicle testing hardware in the Seattle office +
+ The first test benches and vehicle testing hardware arrive in the brand new Seattle office! +
+
+ +
+ A close-up of Buddy's Detroit-style pizza +
+ I was introduced to Detroit-style pizza at Buddy's in Dearborn. Delicious! +
+
+ +
+ An Ottawa Senators hockey game with poutine in my hand +
+ Pretending I'm Canadian during my visit to the Ottawa office by watching an Ottawa Senators + hockey game while enjoying some poutine. +
+
+ +
+ A bright yellow Mustang Mach-E Rally +
+ The craziest car I've ever had the privilege to drive: A "grabber yellow" Mustang Mach-E + Rally edition. The Ford Management Lease program allowed me to drive a fancy new Ford + vehicle every year. +
+
\ No newline at end of file diff --git a/assets/images/work/2022-ford-buddys-pizza.jpg b/assets/images/work/2022-ford-buddys-pizza.jpg new file mode 100644 index 0000000..41e5154 Binary files /dev/null and b/assets/images/work/2022-ford-buddys-pizza.jpg differ diff --git a/assets/images/work/2022-ford-flashing-mach-e-in-garage.jpg b/assets/images/work/2022-ford-flashing-mach-e-in-garage.jpg new file mode 100644 index 0000000..8858963 Binary files /dev/null and b/assets/images/work/2022-ford-flashing-mach-e-in-garage.jpg differ diff --git a/assets/images/work/2022-ford-lightning-frunkie.jpg b/assets/images/work/2022-ford-lightning-frunkie.jpg new file mode 100644 index 0000000..010c3a6 Binary files /dev/null and b/assets/images/work/2022-ford-lightning-frunkie.jpg differ diff --git a/assets/images/work/2022-ford-mach-e-assembly.jpg b/assets/images/work/2022-ford-mach-e-assembly.jpg new file mode 100644 index 0000000..5f41293 Binary files /dev/null and b/assets/images/work/2022-ford-mach-e-assembly.jpg differ diff --git a/assets/images/work/2022-ford-mach-e-rally.jpg b/assets/images/work/2022-ford-mach-e-rally.jpg new file mode 100644 index 0000000..2080a09 Binary files /dev/null and b/assets/images/work/2022-ford-mach-e-rally.jpg differ diff --git a/assets/images/work/2022-ford-mexico-gtbc.jpg b/assets/images/work/2022-ford-mexico-gtbc.jpg new file mode 100644 index 0000000..1516e5c Binary files /dev/null and b/assets/images/work/2022-ford-mexico-gtbc.jpg differ diff --git a/assets/images/work/2022-ford-ottawa-poutine.jpg b/assets/images/work/2022-ford-ottawa-poutine.jpg new file mode 100644 index 0000000..922f930 Binary files /dev/null and b/assets/images/work/2022-ford-ottawa-poutine.jpg differ diff --git a/assets/images/work/2022-ford-test-equipment.jpg b/assets/images/work/2022-ford-test-equipment.jpg new file mode 100644 index 0000000..d361c34 Binary files /dev/null and b/assets/images/work/2022-ford-test-equipment.jpg differ diff --git a/assets/images/work/2022-ford-world-hq.jpg b/assets/images/work/2022-ford-world-hq.jpg new file mode 100644 index 0000000..b57e380 Binary files /dev/null and b/assets/images/work/2022-ford-world-hq.jpg differ