Migrate professional experience to templates

This commit is contained in:
Sravan Balaji
2025-01-01 23:14:13 -05:00
parent c4eaa3d82b
commit 43157146e8
28 changed files with 959 additions and 1585 deletions

View File

@@ -3,6 +3,24 @@ module.exports = function (eleventyConfig) {
eleventyConfig.addPassthroughCopy("./src/assets");
eleventyConfig.addPassthroughCopy("./src/scripts");
eleventyConfig.addFilter('findProjectAssociatedWithExperience', function (projects, associatedExperience) {
return projects.filter(function(project) {
return project.data.associatedExperience == associatedExperience;
});
})
eleventyConfig.addCollection('professionalExperience', (collection) => {
return collection
.getFilteredByGlob('./src/portfolio/professionalExperience/*.md')
.sort((a, b) => (Number(a.data.displayOrder) < Number(b.data.displayOrder) ? 1 : -1));
});
eleventyConfig.addCollection('professionalExperienceProjects', (collection) => {
return collection
.getFilteredByGlob('./src/portfolio/professionalExperience/projects/*.md')
.sort((a, b) => (Number(a.data.displayOrder) > Number(b.data.displayOrder) ? 1 : -1));
});
return {
markdownTemplateEngine: "njk",
dataTemplateEngine: "njk",

View File

@@ -14,7 +14,7 @@ docker-build:
.
# Run development server
dev:
dev: docker-build
docker run \
-it \
-p {{HOST_PORT}}:8080 \
@@ -24,7 +24,7 @@ dev:
npx @11ty/eleventy --serve
# Build static site files
build-site:
build-site: docker-build
docker run \
-it \
-v ./src:/opt/app/src \

View File

@@ -1,4 +1,3 @@
<!doctype html>
{% extends "layouts/base.html" %}
{% block content %}

View File

@@ -0,0 +1,102 @@
<!doctype html>
{% extends "layouts/base.html" %}
{% block content %}
<div class="container-fluid px-md-6">
<div class="row align-items-center">
<div class="col-md-12">
<h1><a name="resume">Resume</a></h1>
</div>
</div>
<div class="row align-items-center">
<div class="col-md-12">
<p>
The latest version of my resume is hosted on
<a
href="https://github.com/balajsra/resume/blob/master/sravan_balaji_resume.pdf"
target="_blank"
>GitHub</a
>.
</p>
</div>
</div>
<div class="row align-items-center">
<div class="col-md-12">
<h1>
<a name="professional_experience">Professional Experience</a>
</h1>
</div>
</div>
{% for profExp in collections.professionalExperience %}
<div class="row">
<div class="col-md-6">
<div class="row">
<div class="col-md-4">
<a href="{{ profExp.data.companyUrl }}" target="_blank">
<img
class="img-fluid mx-auto d-block"
src="{{ profExp.data.companyLogo }}"
/>
</a>
</div>
<div class="col-md-8">
<h2><b>{{ profExp.data.companyName }}</b></h2>
<h3>{{ profExp.data.jobTitle }}</h3>
<h4>{{ profExp.data.workLocation }}</h4>
<h5><i>{{ profExp.data.startDate }} - {{ profExp.data.endDate }}</i></h5>
{{ profExp.content | safe }}
</div>
</div>
</div>
{% if collections.professionalExperienceProjects.length > 0 %}
<div class="col-md-6">
<div id="{{ profExp.data.id }}">
{% for project in (collections.professionalExperienceProjects | findProjectAssociatedWithExperience(profExp.data.id)) %}
{% set projectSlug = (profExp.data.id + '-' + project.data.name | slugify) %}
<div class="card section-bg">
<div class="card-header">
<a
class="card-link"
data-toggle="collapse"
href="#{{ projectSlug }}"
>
<b>{{ project.data.name }}</b>
</a>
</div>
<div
id="{{ projectSlug }}"
class="collapse"
data-parent="#{{ profExp.data.id }}"
>
<div class="card-body">
{{ project.content | safe }}
</div>
</div>
</div>
{% endfor %}
</div>
</div>
{% endif %}
</div>
{% endfor %}
<div class="row align-items-center">
<div class="col-md-12">
<h1><a name="education">Education</a></h1>
</div>
</div>
<div class="row align-items-center">
<div class="col-md-12">
<h1><a name="research">Research</a></h1>
</div>
</div>
<div class="row align-items-center">
<div class="col-md-12">
<h1><a name="projects">Projects</a></h1>
</div>
</div>
</div>
{% endblock %}

File diff suppressed because it is too large Load Diff

436
src/portfolio.md Normal file
View File

@@ -0,0 +1,436 @@
---
title: Portfolio
layout: "layouts/portfolio.html"
---
<!---------------------------------
EDUCATION
----------------------------------->
<div id="education">
<div class="row align-items-center">
<div class="col-md-12">
<h1><a name="education">Education</a></h1>
</div>
</div>
<!-- UNIVERSITY OF MICHIGAN -->
<div class="row align-items-center">
<div class="col-md-12">
<h2><b>University of Michigan</b> (Ann Arbor, MI)</h2>
</div>
</div>
<div class="row">
<div class="col-md-6">
<!-- MS ROBOTICS -->
<div class="row align-items-center">
<div class="col-md-4">
<a href="https://robotics.umich.edu/" target="_blank">
<img
class="img-fluid mx-auto d-block"
src="./assets/education/logo-robotics.png"
/>
</a>
</div>
<div class="col-md-8">
<h3>M.S. in Robotics</h3>
<h5><i>January 2021 - December 2021</i></h5>
<p>
<b>GPA:</b> 3.982<br />
<b>Focus:</b> Acting<br />
</p>
</div>
</div>
</div>
<div class="col-md-6">
<div id="graduate_coursework">
<div class="card">
<!-- 11. FALL 2021 -->
<div class="card-header">
<a class="card-link" data-toggle="collapse" href="#fall2021">
<b>11. Fall 2021</b>
</a>
</div>
<div
id="fall2021"
class="collapse"
data-parent="#graduate_coursework"
>
<div class="card-body">
<ul>
<li>
<b>AEROSP 584</b> - Navigation & Guidance of Aerospace
Vehicles
</li>
<li><b>ROB 501</b> - Math for Robotics</li>
<li>
<b>ROB 535</b> - Self Driving Cars: Perception and
Control
</li>
</ul>
</div>
</div>
<!-- 10. WINTER 2021 -->
<div class="card-header">
<a
class="card-link"
data-toggle="collapse"
href="#winter2021"
>
<b>10. Winter 2021</b>
</a>
</div>
<div
id="winter2021"
class="collapse"
data-parent="#graduate_coursework"
>
<div class="card-body">
<ul>
<li><b>ROB 550</b> - Robotic Systems Laboratory</li>
<li><b>ROB 590</b> - Directed Study</li>
<li><b>ROB 599</b> - Ethics for AI and Robotics</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<!-- BSE MECHANICAL ENGINEERING -->
<div class="row align-items-center">
<div class="col-md-4">
<a href="https://me.engin.umich.edu/" target="_blank">
<img
class="img-fluid mx-auto d-block"
src="./assets/education/logo-mechanical-engineering.jpg"
/>
</a>
</div>
<div class="col-md-8">
<h3>B.S.E. in Mechanical Engineering</h3>
<h5><i>September 2016 - December 2020</i></h5>
<p>
<b>GPA:</b> 3.776<br />
<b>Focus:</b> Controls<br />
</p>
</div>
</div>
<!-- BSE COMPUTER SCIENCE -->
<div class="row align-items-center">
<div class="col-md-4">
<a href="https://cse.engin.umich.edu/" target="_blank">
<img
class="img-fluid mx-auto d-block"
src="./assets/education/logo-computer-science.jpg"
/>
</a>
</div>
<div class="col-md-8">
<h3>B.S.E. in Computer Science</h3>
<h5><i>September 2016 - December 2020</i></h5>
<p>
<b>GPA:</b> 3.776<br />
<b>Focus:</b> Intelligent Systems<br />
</p>
</div>
</div>
</div>
<div class="col-md-6">
<div id="undergrad_coursework">
<div class="card">
<!-- 9. FALL 2020 -->
<div class="card-header">
<a class="card-link" data-toggle="collapse" href="#fall2020">
<b>9. Fall 2020</b>
</a>
</div>
<div
id="fall2020"
class="collapse"
data-parent="#undergrad_coursework"
>
<div class="card-body">
<ul>
<li>
<b>EECS 445</b> - Introduction to Machine Learning
</li>
<li><b>EECS 493</b> - User Interface Development</li>
<li><b>MECHENG 495</b> - Laboratory II</li>
<li><b>ROB 511</b> - Robot Operating Systems</li>
</ul>
</div>
</div>
<!-- 8. WINTER 2020 -->
<div class="card-header">
<a
class="card-link"
data-toggle="collapse"
href="#winter2020"
>
<b>8. Winter 2020</b>
</a>
</div>
<div
id="winter2020"
class="collapse"
data-parent="#undergrad_coursework"
>
<div class="card-body">
<ul>
<li><b>EECS 467</b> - Autonomous Robotics</li>
<li>
<b>EECS 496</b> - Major Design Experience
Professionalism
</li>
<li>
<b>MECHENG 561</b> - Design of Digital Control Systems
</li>
<li>
<b>ROB 530</b> - Mobile Robotics: Methods & Algorithms
</li>
</ul>
</div>
</div>
<!-- 7. FALL 2019 -->
<div class="card-header">
<a class="card-link" data-toggle="collapse" href="#fall2019">
<b>7. Fall 2019</b>
</a>
</div>
<div
id="fall2019"
class="collapse"
data-parent="#undergrad_coursework"
>
<div class="card-body">
<ul>
<li>
<b>EECS 492</b> - Introduction to Artificial
Intelligence
</li>
<li><b>MECHENG 335</b> - Heat Transfer</li>
<li><b>MECHENG 450</b> - Design and Manufacturing III</li>
<li><b>MECHENG 461</b> - Automatic Control</li>
</ul>
</div>
</div>
<!-- 6. WINTER 2019 -->
<div class="card-header">
<a
class="card-link"
data-toggle="collapse"
href="#winter2019"
>
<b>6. Winter 2019</b>
</a>
</div>
<div
id="winter2019"
class="collapse"
data-parent="#undergrad_coursework"
>
<div class="card-body">
<ul>
<li><b>EECS 201</b> - Computer Science Pragmatics</li>
<li><b>EECS 376</b> - Foundations of Computer Science</li>
<li><b>EECS 442</b> - Computer Vision</li>
<li><b>MECHENG 395</b> - Laboratory I</li>
<li>
<b>STATS 412</b> - Introduction to Probability &
Statistics
</li>
</ul>
</div>
</div>
<!-- 5. FALL 2018 -->
<div class="card-header">
<a class="card-link" data-toggle="collapse" href="#fall2018">
<b>5. Fall 2018</b>
</a>
</div>
<div
id="fall2018"
class="collapse"
data-parent="#undergrad_coursework"
>
<div class="card-body">
<ul>
<li><b>MECHENG 350</b> - Design and Manufacturing II</li>
<li>
<b>MECHENG 360</b> - Modeling, Analysis, and Control of
Dynamic Systems
</li>
<li>
<b>MECHENG 382</b> - Mechanical Behavior of Materials
</li>
</ul>
</div>
</div>
<!-- 4. WINTER 2018 -->
<div class="card-header">
<a
class="card-link"
data-toggle="collapse"
href="#winter2018"
>
<b>4. Winter 2018</b>
</a>
</div>
<div
id="winter2018"
class="collapse"
data-parent="#undergrad_coursework"
>
<div class="card-body">
<ul>
<li><b>EECS 281</b> - Data Structures and Algorithms</li>
<li>
<b>EECS 314</b> - Electrical Circuits, Systems, and
Applications
</li>
<li>
<b>EECS 370</b> - Introduction to Computer Organization
</li>
<li><b>MECHENG 320</b> - Fluid Mechanics I</li>
</ul>
</div>
</div>
<!-- 3. FALL 2017 -->
<div class="card-header">
<a class="card-link" data-toggle="collapse" href="#fall2017">
<b>3. Fall 2017</b>
</a>
</div>
<div
id="fall2017"
class="collapse"
data-parent="#undergrad_coursework"
>
<div class="card-body">
<ul>
<li>
<b>EECS 280</b> - Programming and Introductory Data
Structures
</li>
<li><b>MECHENG 235</b> - Thermodynamics I</li>
<li>
<b>MECHENG 240</b> - Introduction to Dynamics and
Vibrations
</li>
<li><b>MECHENG 250</b> - Design and Manufacturing I</li>
</ul>
</div>
</div>
<!-- 2. WINTER 2017 -->
<div class="card-header">
<a
class="card-link"
data-toggle="collapse"
href="#winter2017"
>
<b>2. Winter 2017</b>
</a>
</div>
<div
id="winter2017"
class="collapse"
data-parent="#undergrad_coursework"
>
<div class="card-body">
<ul>
<li><b>CLCIV 385</b> - Greek Mythology</li>
<li><b>EECS 203</b> - Discrete Mathematics</li>
<li>
<b>ENGR 100</b> - Introduction to Engineering: Solar
Energy and Self-Powered Wireless Systems
</li>
<li>
<b>MECHENG 211</b> - Introduction to Solid Mechanics
</li>
</ul>
</div>
</div>
<!-- 1. FALL 2016 -->
<div class="card-header">
<a class="card-link" data-toggle="collapse" href="#fall2016">
<b>1. Fall 2016</b>
</a>
</div>
<div
id="fall2016"
class="collapse"
data-parent="#undergrad_coursework"
>
<div class="card-body">
<ul>
<li>
<b>ALA 105</b> - Digital Research: Critical Concepts &
Strategies
</li>
<li>
<b>ENGR 151</b> - Accelerated Introduction to Computers
and Programming
</li>
<li>
<b>MATH 216</b> - Introduction to Differential Equations
</li>
<li><b>SOC 100</b> - Introduction to Sociology</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!---------------------------------
RESEARCH
----------------------------------->
<!-- <div id="research">
<div class="row align-items-center">
<div class="col-md-12">
<h1><a name="research">Research</a></h1>
</div>
</div>
<div class="row align-items-center">
<div class="col-md-3">
</div>
<div class="col-md-9">
</div>
</div>
</div> -->
<!---------------------------------
Projects
----------------------------------->
<!-- <div id="projects">
<div class="row align-items-center">
<div class="col-md-12">
<h1><a name="projects">Projects</a></h1>
</div>
</div>
<div class="row align-items-center">
<div class="col-md-3">
</div>
<div class="col-md-9">
</div>
</div>
</div> -->
<!-- </div> -->

View File

@@ -0,0 +1,27 @@
---
displayOrder: 3
id: "hughes-1"
companyUrl: "https://www.hughes.com"
companyLogo: "/assets/professional_experience/logo-hughes.jpg"
companyName: "Hughes Network Systems"
jobTitle: "Software Development Intern"
workLocation: "San Diego, CA"
startDate: "May 20, 2019"
endDate: "August 23, 2019"
---
**Hard Skills**
- Embedded Programming in C
- C# and .NET Framework
- GUI Design
- <abbr title="REpresentational State Transfer">REST</abbr> Requests & <abbr title="File Transfer Protocol">FTP</abbr>
- Network Communication
- <abbr title="Transmission Control Protocol">TCP</abbr> and <abbr title="User Datagram Protocol">UDP</abbr>
- <abbr title="MQ Telemetry Transport for Sensor Networks">[MQTT-SN](https://www.oasis-open.org/committees/document.php?document_id=66091&wg_abbrev=mqtt)</abbr>
**Soft Skills**
- Public Presentation
- Design Documentation
- Professional Communication

View File

@@ -0,0 +1,10 @@
---
displayOrder: 8
companyUrl: "https://www.metsci.com"
companyLogo: "/assets/professional_experience/logo-metron.jpeg"
companyName: "Metron"
jobTitle: "Software Engineer I"
workLocation: "Reston, VA"
startDate: "April 3, 2023"
endDate: "Present"
---

View File

@@ -0,0 +1,26 @@
---
displayOrder: 5
id: "mitre-1"
companyUrl: "https://www.mitre.org"
companyLogo: "/assets/professional_experience/logo-mitre.jpeg"
companyName: "MITRE"
jobTitle: "Graduate Navigation Intern"
workLocation: "Remote"
startDate: "May 10, 2021"
endDate: "August 20, 2021"
---
**Hard Skills**
- [Julia](https://julialang.org)
- [Python](https://www.python.org")
- Satellite Navigation
- Signal Processing
- Machine Learning
- Reinforcement Learning
**Soft Skills**
- Public Presentation
- Design Documentation
- Professional Communication

View File

@@ -0,0 +1,11 @@
---
displayOrder: 6
id: "mitre-2"
companyUrl: "https://www.mitre.org"
companyLogo: "/assets/professional_experience/logo-mitre.jpeg"
companyName: "MITRE"
jobTitle: "Associate Autonomous Systems Engineer"
workLocation: "McLean, VA"
startDate: "January 31, 2022"
endDate: "September 12, 2022"
---

View File

@@ -0,0 +1,12 @@
---
displayOrder: 7
id: "mitre-3"
companyUrl: "https://www.mitre.org"
companyLogo: "/assets/professional_experience/logo-mitre.jpeg"
companyName: "MITRE"
jobTitle: "Intermediate Autonomous Systems Engineer"
workLocation: "McLean, VA"
startDate: "September 12, 2022"
endDate: "March 31, 2023"
---

View File

@@ -0,0 +1,23 @@
---
associatedExperience: "hughes-1"
name: "Mobile Terminal Configuration Tool"
displayOrder: 1
---
**Problem**
Hughes sells mobile satellite terminals that provide internet and phone service to customers. Some customers who purchased terminals in bulk (~1000) required non-default settings. The configuration process of manually changing settings on each terminal was tedious and error-prone.
**Task**
My job was to develop a Windows 7 / 10 program that would automate the terminal configuration process.
**Result**
I designed and developed a GUI program in C# that detects which terminal model is connected and uses the available interface (<abbr title="REpresentational State Transfer">REST</abbr> <abbr title="Application Programming Interface">API</abbr> or <abbr title="File Transfer Protocol">FTP</abbr>) to copy the configuration of the *master* terminal. This can then be used to automatically configure subsequent terminals.
**Customer Feedback**
> "Btw the tool you sent us is helping a lot. Thank you so much."
>
> &mdash; <cite>Hughes Customer</cite>

View File

@@ -0,0 +1,17 @@
---
associatedExperience: "hughes-1"
name: "Location Based Services"
displayOrder: 2
---
**Problem**
Hughes mobile terminals allow customers to have internet and phone access in remote areas via a satellite connection. Some customers may find value in a GPS feature built into the terminal. In this situation, the terminal would send GPS coordinates to a server at regular intervals of time, distance, and/or velocity as configured by the end-user.
**Task**
My task was to investigate a way to minimize the data packet size of GPS coordinates and to update the terminal's software to send these data packets to a server configured by the end-user.
**Result**
This project was assigned to me after the completion of my previous project, which was intended to last the entire internship. I was able to determine that <abbr title="MQ Telemetry Transport for Sensor Networks">[MQTT-SN](https://www.oasis-open.org/committees/document.php?document_id=66091&wg_abbrev=mqtt)</abbr> was a good option as it simply sends a data packet to a server without checking for acknowledgement and the packet header is sufficiently small. I successfully implemented the packet structure and delivery to the server on the terminal software written in C. However, I was unable to get the server to recognize that it received the packet in my remaining time at Hughes. Using [Wireshark](https://www.wireshark.org), I confirmed the reception of the packet, but none of the open-source <abbr title="MQ Telemetry Transport for Sensor Networks">[MQTT-SN](https://www.oasis-open.org/committees/document.php?document_id=66091&wg_abbrev=mqtt)</abbr> brokers I used worked.

View File

@@ -0,0 +1,17 @@
---
associatedExperience: "mitre-1"
name: "PNT Defense & Threat Library"
displayOrder: 1
---
**Problem**
The <abbr title="Positioning, Navigation, and Timing">PNT</abbr> Defense & Threat Library is a framework implemented in [Python](https://www.python.org) for mapping out and visualizing the space of <abbr title="Positioning, Navigation, and Timing">PNT</abbr> threats & defenses. The user specifies defenses (and which threats they mitigate) and threats as well as the relationships between entries.
**Task**
We wanted a way to identify implicit mitigation links without the user having to specify every single relationship.
**Result**
Implemented a function to parse the library, look through the directed acyclic graph structure, and identify which threats are mitigated by a subset of selected threats.

View File

@@ -0,0 +1,17 @@
---
associatedExperience: "mitre-1"
name: "PNT Assurance"
displayOrder: 2
---
**Problem**
To aid in <abbr title="Positioning, Navigation, and Timing">PNT</abbr> Assurance work, we wanted to mathematically model the <abbr title="Position, Velocity, and Time">PVT</abbr> output by <abbr title="Positioning, Navigation, and Timing">PNT</abbr> user equipment under different classes of threats with different parameters.
**Task**
My task was to help the team improve the [Julia](https://julialang.org) script that performs the monte carlo simulation.
**Result**
I revamped and formalized the team's software development process to improve visibility and organization. Rather than working on separate remote repositories, everyone works on the same remote, but uses separate branches. This makes it easier for everyone on the team to see changes and make comments in merge requests before changes make their way into the main branch. I also pushed for the use of issue tracking so discussions around new features and bugs can all be collected in one place. We can also make references to specific commits / branches / changes rather than having disjointed conversations with changing line numbers. Finally, I created a wiki documenting how to use git and some best practices.

View File

@@ -0,0 +1,17 @@
---
associatedExperience: "mitre-1"
name: "AI Learning Track"
displayOrder: 3
---
**Problem**
The AI Learning Track was the first of two intern events I participated in. This was an 8 hour hackathon (spread over 3 days) with a team of 5.
**Task**
The goal is to classify URLs as malicious or benign using URL strings and information on the age of the domain and when the site was last updated.
**Result**
Our team went through the steps of feature engineering, training, validation, and testing. We generated new features like the length of the URL string, number of non-alphanumeric symbols in the URL, etc. that we read were good indicators of malicious URLs. We ran our training dataset through several models: Logistic Regression (LOGIT), Linear Support Vector Machine, Random Forest, eXtreme Gradient Boosting Trees (XGBoost), and a Simple Feed Forward Neural Network (FFNN). We found that the FFNN performed best and we were able to achieve an F1 score of 0.94 on the testing dataset.

View File

@@ -0,0 +1,17 @@
---
associatedExperience: "mitre-1"
name: "AWS DeepRacer"
displayOrder: 4
---
**Problem**
<abbr title="Amazon Web Services">AWS</abbr> DeepRacer was the second of two intern events I participated in. This involved the use of cloud computing resources (provided by Amazon Web Services) to train and simulate a Reinforcement Learning model for an autonomous vehicle.
**Task**
The goal was to train a model that would allow the autonomous vehicle to drive around a simulated track as quickly as possible. You would receive time penalties for driving off track. The vehicles have a camera for sensing the environment and can drive at speeds of 0.5 - 1.75 m/s.
**Result**
The model I trained finished 3rd in the first two events (same track as training) and finished 2nd in the final event (a more difficult, unseen track). This may indicate that my model was more generalizable and less overfit to the track that I trained on.

View File

@@ -0,0 +1,17 @@
---
associatedExperience: "rivian-1"
name: "Requirements Management and System Diagrams"
displayOrder: 1
---
**Problem**
Rivian needed an organized way of tracking interfaces between components and managing requirements.
**Task**
My job was to create system architecture models to help distribute and track requirements from the vehicle level to component level. Additionally, these requirements needed to be managed and distributed via DOORS Next Generation.
**Result**
I was able to speak with managers of various vehicle subsystems to understand cross-system signal interfaces. These conversations were translated to system architecture models so teams could understand what signals they are consuming and outputting. To aid in cross-team communication, I created custom report templates in DOORS Next Generation.

View File

@@ -0,0 +1,17 @@
---
associatedExperience: "rivian-1"
name: "Simulation Data Analysis Tool"
displayOrder: 2
---
**Problem**
Rivian had collected simulation test data and needed to see the effect of changing vehicle parameters on performance metrics, without re-running expensive tests.
**Task**
My job was to develop a tool that could translate the collected data into a simple user interface to analyze how to optimize vehicle performance.
**Result**
I designed and developed a GUI program in Java that provided the user with sliders for the input vehicle parameters. The tool would then interpolate the performance metrics from the collected points using a neural network determined multi-variate function. The GUI tool then outputs plots showing the effect of changing each input on the projected performance output.

View File

@@ -0,0 +1,17 @@
---
associatedExperience: "rivian-2"
name: "Bill of Materials Analysis"
displayOrder: 1
---
**Problem**
Rivian had an existing process for analyzing bill of materials data that needed to be further developed and maintained.
**Task**
My job was to communicate with project management to determine and implement improvements to mass and cost analysis.
**Result**
I improved the existing Excel Macro to check for inconsistencies between parent and child items so mass and cost was not double counted. Additionally, improved the user interface by adding macro buttons to allow for quick filtering of pivot tables and highlight potential discrepancies.

View File

@@ -0,0 +1,17 @@
---
associatedExperience: "rivian-2"
name: "Internal Website"
displayOrder: 2
---
**Problem**
Requirements management in [JAMA](https://www.jamasoftware.com) was very much a manual process to check for inconsistent relationships between the different types of requirements.
**Task**
I proposed an automated system that would enforce relationships set by the systems engineering team and highlight issues that required manual intervention.
**Result**
I designed and implemented an internal-use website that collected and displayed data from business systems like [JAMA](https://www.jamasoftware.com). This made use of [JAMA](https://www.jamasoftware.com)'s <abbr title="REpresentational State Transfer">REST</abbr> <abbr title="Application Programming Interface">API</abbr> to automatically pull requirements metadata and enforce the determined relational rules. Additionally integrated Bill of Materials analysis macro into website so users would receive the processed spreadsheet via email. Front-end design was written in HTML and back-end scripts were written in [Python](https://www.python.org) using the [Django Web Framework](https://www.djangoproject.com).

View File

@@ -0,0 +1,17 @@
---
associatedExperience: "rivian-2"
name: "IT Service Desk"
displayOrder: 3
---
**Problem**
Rivian's previous IT service desk in [KACE Systems Management](https://www.quest.com/products/kace-systems-management-appliance) had issues tracking the status of tickets resulting in an <abbr title="Service-level agreement">SLA</abbr> met percentage of ~75%.
**Task**
My job was to migrate the IT service desk to [Jira](https://www.atlassian.com/software/jira) and improve the ticket tracking process.
**Result**
I created custom automation rules to assign tickets based on request type and location. Created queues and reports to track response time, workload, request types, and other metrics. These efforts resulted in an <abbr title="Service-level agreement">SLA</abbr> met percentage of ~95%.

View File

@@ -0,0 +1,17 @@
---
associatedExperience: "rivian-3"
name: "Model-In-Loop Test Case Generation"
displayOrder: 1
---
**Problem**
Existing software components needed to be tested to ensure that requirements were being met.
**Task**
My job was to translate software component requirements into Model-in-Loop unit tests in Simulink.
**Result**
Created Model-in-Loop test cases for ~50 requirements using [Simulink Test](https://www.mathworks.com/products/simulink-test.html). I was able to identify and resolve 7 issues at the model level to prevent them from reaching in-vehicle testing. To improve testing, I created a script to automatically run all test cases and generate a report for easy identification of issues. Also created documentation in [Confluence](https://www.atlassian.com/software/confluence) to streamline future test case generation.

View File

@@ -0,0 +1,17 @@
---
associatedExperience: "rivian-3"
name: "Simulink Software Integration"
displayOrder: 2
---
**Problem**
Co-worker had developed a new algorithm that needed to be integrated into the Simulink environment for controls software.
**Task**
My job was to communicate with my co-worker to implement the algorithm using the existing signals, processing them, and resolving issues related to [Simulink Coder](https://www.mathworks.com/products/simulink-coder.html) C/C++ code generation.
**Result**
I was able to identify and suggest modifications to the algorithm to work within the limitations of [Simulink Coder](https://www.mathworks.com/products/simulink-coder.html). Learned about embedded systems, computing limitations, and how to increase software efficiency to prevent processing time delay.

View File

@@ -0,0 +1,17 @@
---
associatedExperience: "rivian-3"
name: "Testing Data Processing"
displayOrder: 3
---
**Problem**
Vehicle testing data needed to be processed to evaluate performance against requirements and determine controls parameters to tune.
**Task**
My job was to modify existing data processing scripts to work with new test data.
**Result**
I was able to map the signals from new test data logs to work with the existing scripts and manually calculate intermediate signals that were not recorded. This allowed me to generate plots that could easily be compared to previous test runs. From these plots, I identified potential issues that could be investigated by the controls team.

View File

@@ -0,0 +1,23 @@
---
displayOrder: 1
id: "rivian-1"
companyUrl: "https://rivian.com"
companyLogo: "/assets/professional_experience/logo-rivian.png"
companyName: "Rivian"
jobTitle: "Vehicle Integration Intern"
workLocation: "Livonia, MI"
startDate: "May 30, 2017"
endDate: "August 25, 2017"
---
**Hard Skills**
- Java
- Data Analysis
- Systems Engineering / Requirements Management
- IBM Rational DOORS
**Soft Skills**
- Design Documentation
- Professional Communication

View File

@@ -0,0 +1,25 @@
---
displayOrder: 2
id: "rivian-2"
companyUrl: "https://rivian.com"
companyLogo: "/assets/professional_experience/logo-rivian.png"
companyName: "Rivian"
jobTitle: "Business Technology Intern"
workLocation: "Plymouth, MI"
startDate: "May 7, 2018"
endDate: "December 7, 2018"
---
**Hard Skills**
- [Python](https://www.python.org") and [Django Web Framework](https://www.djangoproject.com)
- <abbr title="REpresentational State Transfer">REST</abbr> <abbr title="Application Programming Interface">API</abbr>
- Excel <abbr title="Visual Basic for Applications">VBA</abbr>
- Bill of Materials Analysis
- Atlassian Products - [Jira](https://www.atlassian.com/software/jira), [Confluence](https://www.atlassian.com/software/confluence), [Bitbucket](https://bitbucket.org/product)
**Soft Skills**
- Stakeholder Interviews
- Design Documentation
- Professional Communication

View File

@@ -0,0 +1,23 @@
---
displayOrder: 4
id: "rivian-3"
companyUrl: "https://rivian.com"
companyLogo: "/assets/professional_experience/logo-rivian.png"
companyName: "Rivian"
jobTitle: "ADAS Controls Intern"
workLocation: "Remote"
startDate: "June 1, 2020"
endDate: "August 21, 2020"
---
**Hard Skills**
- [MATLAB](https://www.mathworks.com/products/matlab.html)
- [Simulink](https://www.mathworks.com/products/simulink.html)
- Atlassian Products - [Jira](https://www.atlassian.com/software/jira), [Confluence](https://www.atlassian.com/software/confluence), [Bitbucket](https://bitbucket.org/product)
**Soft Skills**
- Public Presentation
- Design Documentation
- Professional Communication