1 of 12

Internship Learning Portfolio

Mariah Jacobs

August 21, 2020

Role: Technical Program Management &

Software Development Intern

Company: Akamai Technologies

2 of 12

Agenda

  • Introduction
  • Project: CHAPI/Cristal Integration
    • Technologies + Terms
    • Background, Problem Statement, & Project Overview
    • Key Features
  • Focus + Skills
  • Impact
    • Company
    • Personal

3 of 12

Introduction

Mariah Jacobs

Role: Technical Program Management & Software

Development Intern

School: University of Michigan - School of Information

Graduation: May 2021

Focus: Human-Computer Interaction/UX Agile Development

Prior Academic Experience: B.S. in Computer Science,

minors in Psychology and Philosophy

Prior Internship Experience:

Software Engineering Intern @ Intel (Hillsboro, OR)

Software Architecture Intern @ Intel (Hillsboro, OR)

Career Goal: UX/UI Engineer

4 of 12

Technologies + Terms

Cristal: a Flask web application that system engineers use when installing a software release on Akamai networks

Template: a blueprint from which one or more checklists are created in Cristal

Checklist: a procedure for running some portion of the install process in Cristal

Release: a bundle of software and configuration specifications to be rolled out to a network

CHAPI: Key Performance Indicator (KPI) checks API for monitoring network and alerting to degradation of health

5 of 12

Background + Problem Statement

Background:

  • Problem: Lessen the severity of incidents occurring during installs

  • Solution: Track KPIs (via CHAPI) and use them in install process

New Problem:

  • No existing integration of CHAPI in Cristal

  • Manual intervention required

  • Costs time, risks human error

6 of 12

Project Overview

Reduced manual intervention

Improves installation workflow, reduces risk of error/incidents and reduces time spent on install

Demonstrated

end-to-end workflow

From CHAPI template creation, to checklist creation, to schedule/fetch response cycle through Cristal UI

Integrated CHAPI into Cristal

Allows engineers to schedule, run, and fetch KPI checks via API calls on CHAPI-supported networks

7 of 12

Key Features

  • Front-end:
    • Editor UI for CHAPI steps
      • Two new step types
      • Linking CHAPI schedule and fetch steps

8 of 12

Key Features

  • Front-end:
    • View checklist UI with CHAPI steps
      • ‘Schedule Tests’ button triggers schedule API call
      • CHAPI responses populate textboxes

9 of 12

Key Features

  • Back-end:
    • Updates to postgresql database
    • Routing in Flask
    • Schedule and fetch controller functions
    • Cron job to manage CHAPI requests

10 of 12

Overview: Changes & Improvements

  • User has ability to select “CHAPI Schedule” or “CHAPI Fetch” when creating steps for a checklist

  • To schedule a CHAPI request during a release or install, a user clicks a button which triggers the API call to CHAPI

  • Automatically fetches KPI data and drops it into appropriate text box in the checklist

11 of 12

Focus + Skills

Focus:

  • Technical Program Management: documentation, requirements
  • Software Development: primarily front-end

Skills:

  • JavaScript/jQuery and AJAX: interactivity and transfer of data
  • HTML, Handlebars: structure of pages
  • CSS: styling
  • Flask/Python: framework, back-end

12 of 12

Impact

Company:

  • Successful integration of CHAPI scheduling and fetching into Cristal templates and checklists via API endpoints

Personal:

  • Increased familiarity with navigating, designing, and developing an application within a full-stack, production-scale codebase
  • Improved understanding of technical documentation process and collaboration between TPgMs and SWEs
  • Gained experience with remote-only work environment