diff options
Diffstat (limited to 'martin-miller-resume.tex')
-rw-r--r-- | martin-miller-resume.tex | 97 |
1 files changed, 49 insertions, 48 deletions
diff --git a/martin-miller-resume.tex b/martin-miller-resume.tex index 730a4bd..0e7cb04 100644 --- a/martin-miller-resume.tex +++ b/martin-miller-resume.tex @@ -39,68 +39,68 @@ \begin{rSection}{Experience} -\begin{rParSubsection}{Ford Motor Company}{November 2022 -- Present}{World Model Software Supervisor}{Dearborn, MI} +\begin{rParSubsection}{Ford Motor Company}{November 2022 -- Present}{World Model Software Supervisor}{New York, NY (Remote)} - Lead the world model team's efforts to develop a map API for ADAS feature developers. We develop production-ready C++ code for a next generation autonomy platform. Provide technical leadership on the world model scrum and build a team of software developers. I plan the team's work to achieve short term goals while building a foundation for longer term deliveries. I established an agile work process on the team, scheduling retrospectives, demos, and standups. I established standards for high quality code: test driven design, pair programming, and an emphasis on good design. I personally participate in coding with junior developers to set norms for high quality code. I investigate upcoming technical goals and constraints and mentor developers to understand the ``why'' of our work so that they can become self-sufficient. Lead hiring effort for three robotics software engineers. + The World Model team develops software for distributing HD maps from the cloud to embedded applications and provides a C++ API for working with map and realtime pereception data in a unified manner. - As a manager: - \begin{itemize} - \itemsep -0.5em \vspace{-0.5em} % Compress items in list together for aesthetics - \item Established agile practices - \item Coordinate with other groups - \item Schedule and plan work to meet priorities and build a foundation for future development - \item Hiring new talent to build team - \item Communicate to the team what we are doing and why in order to grow the capability on team - \item Communicate to customers what we are doing and why in order to get feedback and set priorities - \item Host an agile reading group to improve our development practice - \end{itemize} +I am involved in all aspects of software development from individual code contributions to setting the development roadmap to meet our department goals. I use my technical expertise to mentor developers on the team and establish best practices for production software development. - As a technical lead \begin{itemize} \itemsep -0.5em \vspace{-0.5em} % Compress items in list together for aesthetics - \item Identify solutions to technical challenges. E.g. static graph, B-Splines - \item Establish practices for producing production code: test driven design, pairing - \item Write production quality C++ code for automotive embedded platform. Conform to style guide, clang-tidy, and MISRA - \item Share design tips from sources such as a Clean Code +\item Create software roadmap +\item Designing and implementing a C++ API for accessing HD maps for use in online and offline applications. +\item Designing and implementing pipeline for retrieving and distributing map data in real time on embedded hardware +\item Manage a team of six developers +\item Establish test driven development as a best practice on the team +\item Participate in pair and mob programming with the team +\item Provide thorough review for junior developers +\item Mentor developers to take on design and review responsibilities. +\item Organize a book club for skill development +\item Apply agile approaches to development and planning +\item Work with management to establish goals and timelines for work +\item Work with other teams to prioritize deliverables to meet department goals +\item Share development best practices with other teams +\item Designing a B-spline library \end{itemize} \end{rParSubsection} -\begin{rParSubsection}{Ford Motor Company}{December 2021 -- November 2022}{Localization Mapping and Odometry Research Supervisor}{Dearborn, MI} +\begin{rParSubsection}{Ford Motor Company}{December 2021 -- November 2022}{Localization Mapping and Odometry Research Supervisor}{New York, NY (Remote)} - Led a team of 10 advanced driver assistance system (ADAS) engineers on - research projects for localization and mapping algorithm development. This was - an established team, familiar with its role, and performing at a high level. I - focused on identifying useful projects, setting priorities, and creating - leadership opportunities for the team. I consolidated the team onto two - focused projects: a ROS2-based framework for next generation hardware and a - metrics framework for analyzing algorithm performance. These were agile teams - and I grew the team's interest in agile by hosting a reading group. + Supervised a team of ten advanced driver assistance system (ADAS) engineers on + research projects for localization and mapping algorithm development. - The ROS2 group developed visualization, logging, and data conversion tools - that were later adopted by other teams. - - The metrics team developed a generic framework that enables other algorithm - teams to execute custom metrics and analysis scripts in a unified environment. - The framework runs in parallel on an HPC and provides a browser-based - visualization. This work is being continued by a production team. + \begin{itemize} + \itemsep -0.5em \vspace{-0.5em} % Compress items in list together for aesthetics +\item Provided high level guidance to a high performing team. +\item Consolidated the team onto two focused projects: The first was a ROS2-based research framework for in-vehicle and desktop based algorithm development. The second was an algorithm metrics framework. +\item Provided leadership oppportunities to engineers. Delegated scrum leadership to engineers and let them lead each other in the day-to-day work. +\item Established regular demos with stakeholders to solicit feedback and drive development priorities +\item Hosted an agile book club + \end{itemize} \end{rParSubsection} \begin{rParSubsection}{Ford Motor Company}{October 2017 -- December 2021}{Driver Assistance Research Engineer}{Dearborn, MI} Worked primarily in C++ to develop and improve ADAS sensing algorithms. - Engaged in in-vehicle testing, data collection, and metrics development to - drive the improvement of our algorithms. Actively pursued improvements to the - software development process to increase code quality and development speed. - - Led a multiyear project to re-implement our research occupancy gridmapping algorithm for production. - This is an algorithm that fuses radar, ultrasonic sensors, and computer vision - inputs to provide spatial information to ADAS features for use in obstacle - avoidance and path planning. The porting effort was a total rewrite of the - code to meet the hardware and software constraints of the target embedded - platform. The resulting codebase was one of the largest in-house C++ projects - delivered by our department. I played a key role in the software architecture, - implementations, validation, and optimization. + + \begin{itemize} + \itemsep -0.5em \vspace{-0.5em} % Compress items in list together for aesthetics +\item Wrote multithreaded software for embedded targets. + \item Performed in-vehicle testing, data collection, and metrics development to drive improvements to our + algorithms. + \item Actively pursued improvements to the software development process + that increase code quality and development speed. + \end{itemize} + + Led a multiyear project to re-implement our research occupancy gridmapping + algorithm for production. This is an algorithm that fuses radar, ultrasonic + sensors, and computer vision inputs to provide spatial information to ADAS + features for use in obstacle avoidance and path planning. The porting effort + was a total rewrite of the code to meet the hardware and software constraints + of the target embedded platform. The resulting codebase was one of the largest + in-house C++ projects delivered by our department. I played a key role in the + software architecture, implementations, validation, and optimization. Awards: @@ -117,6 +117,7 @@ \begin{rSubsection}{Aerospace Robotics and Controls Lab}{June 2013 -- July 2017}{Graduate Research Assistant}{Urbana, IL} \item Researched simultaneous localization and mapping (SLAM) techniques for a river environment. Fused camera and IMU data using an extended Kalman Filter (EKF). \item Extended SLAM vision measurement model to incorporate reflections of objects in a river. +\item Implemented multithreaded SLAM algorithm in C++ using Eigen and OpenCV. \item Used campus computing cluster to tune EKF parameters. \item Defined the requirements for the data collection platform's vision needs and identified hardware for purchase. \item Designed and constructed a custom trigger circuit for synchronizing the data collection platform's GPS and camera units. @@ -173,12 +174,12 @@ Bachelor of Arts in Middle East Studies \\ \begin{rSection}{Skills} \begin{tabular}{ @{} >{\bfseries}l @{\hspace{6ex}} l } -C++ & Daily usage of C++11 idioms and object-oriented programming. \\ +C++ & Daily usage of C++17, object-oriented programming, templating and Eigen. \\ \textsc{Matlab} & Frequent usage for writing metrics and analysis scripts \\ Docker & Test builds in Jenkins, setup ROS environment, server deployment. \\ Linux & Expert. Daily professional and personal use. \\ Python & SLAM algorithm development using SciPy and OpenCV. \\ -Camera calibration & Monocular, stereo and infrared. \\ +In-Vehicle Testing & Collect data, troubleshoot, validate sensor calibrations. \\ \end{tabular} \end{rSection} |