Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
de42646ae5 | ||
|
|
c543a78033 | ||
|
|
50f5741041 | ||
|
|
0c17821874 | ||
|
|
7079ad4b1d | ||
|
|
98c972cc90 | ||
|
|
2b19a1d2f8 | ||
|
|
86e5716d33 | ||
|
|
4a96954c2d | ||
|
|
9cfaae18d7 | ||
|
|
b128e9d6f5 |
@@ -79,4 +79,8 @@ spec:
|
||||
GITLAB_PAT: ${{ secrets.get("resume-gitlab-gitlab-breel-dev-token") }}
|
||||
shell: sh
|
||||
script: |
|
||||
bash ./deploy.firebase.sh
|
||||
export build_before=${{ build.before }}
|
||||
export build_after=${{ build.after }}
|
||||
if git --no-pager diff --name-only $build_before..$build_after | grep src.homebrew; then
|
||||
bash ./deploy.firebase.sh
|
||||
fi
|
||||
|
||||
17
README.md
17
README.md
@@ -1,17 +1,12 @@
|
||||
# Resume
|
||||
|
||||
1. open https://www.open-resume.com/resume-builder
|
||||
1. in browser, `inspect > storage > local storage > about:srcdoc`
|
||||
1. `cat ./open-resume.com.d/local*.json`
|
||||
1. paste into `about:srcdoc` `Value`
|
||||
1. refresh
|
||||
1. download resume as `./open-resume.com.d/resume.pdf`
|
||||
1. inspect iframe > `<html>` > copy outer HTML
|
||||
1. `pbpaste > ./open-resume.com.d/resume.html`
|
||||
1. `cd ./open-resume.com.d/; bash ./clean_resume_html.sh; cd ..`
|
||||
1. `bash ./deploy.firebase.sh`
|
||||
1. modify [homebrew.yaml](./src/homebrew/homebrew.yaml)
|
||||
1. generate `cd ./src/homebrew; bash ./homebrew.sh`
|
||||
1. `open ./src/homebrew/homebrew.html`
|
||||
1. `ctrl + p` and save as pdf
|
||||
1. commit + push
|
||||
|
||||
# Today
|
||||
## CICD
|
||||
|
||||
1. `gitness.inhome.blapointe.com` has a `./.harness` pipeline
|
||||
1. the pipeline
|
||||
|
||||
@@ -8,7 +8,7 @@ cd src
|
||||
|
||||
if which vale; then
|
||||
f=$(mktemp)
|
||||
cat open-resume.com.d/local-storage-about-srcdoc-open-resume.json | sed 's/"[^"]*":/"."/g' > $f
|
||||
cp homebrew/homebrew.yaml $f
|
||||
vale sync
|
||||
vale $f || true
|
||||
fi
|
||||
@@ -29,9 +29,8 @@ trap cleanup EXIT
|
||||
|
||||
rm -rf $outdir
|
||||
mkdir -p $outdir/public
|
||||
cp ./open-resume.com.d/resume.html.2 $outdir/public/index.html
|
||||
cp ./open-resume.com.d/resume.pdf $outdir/public/BreeLaPointeResume.pdf
|
||||
cp -r ./open-resume.com.d/fonts $outdir/public/
|
||||
cp homebrew/homebrew.html $outdir/public/index.html
|
||||
cp -r ./homebrew/fonts $outdir/public/
|
||||
|
||||
(
|
||||
if ! which woff2_compress; then
|
||||
|
||||
@@ -1,55 +1,310 @@
|
||||
<html>
|
||||
<header>
|
||||
</header>
|
||||
<body>
|
||||
<div name="name">
|
||||
<h1>Bree LaPointe </h1>
|
||||
<h4>Senior Software Engineer</h4>
|
||||
</div>
|
||||
<div name="contact">
|
||||
|
||||
<div style="display: inline-block">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width: 13pt; height: 13pt; fill: rgb(82, 82, 82);"><path d="M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"></path></svg>
|
||||
<a href="mailto:contact@blapointe.com">contact@blapointe.com</a>
|
||||
</div>
|
||||
|
||||
<div style="display: inline-block">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width: 13pt; height: 13pt; fill: rgb(82, 82, 82);"><path d="M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z"></path></svg>
|
||||
<a href="tel:3367016159">(336) 701 - 6159</a>
|
||||
</div>
|
||||
|
||||
<div style="display: inline-block">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width: 13pt; height: 13pt; fill: rgb(82, 82, 82);"><path d="M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z"></path></svg>
|
||||
<a href="<no value>">Provo, UT</a>
|
||||
</div>
|
||||
|
||||
<div style="display: inline-block">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width: 13pt; height: 13pt; fill: rgb(82, 82, 82);"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg>
|
||||
<a href="https://linkedin.com/in/lapoba16">linkedin.com/in/lapoba16</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
map[title:Skills what:[Languages: Golang, Bash, Python3 Platforms: Docker, Hashicorp, Linux/Unix, AWS, Jenkins, REST, Microservices, Git Datastores: MongoDB, Redis, S3, Couchbase, DynamoDB]]
|
||||
</div>
|
||||
|
||||
<div>
|
||||
map[headings:[map[headings:[map[title:Senior Software Engineer, Team Lead what:[Mentored entry and mid-level engineers on stability, clean code, and distributed systems. Hosted engineering book and white paper clubs for continuous improvement and cross-team experience sharing for 2 years. Recovered 98% of data lost in critical incident via coordinating cross team efforts and dissecting native database operation logs.] when:May 2022 - Present] map[title:Software Engineer II what:[Developed and owned highly available and reliable data storage and operational tooling. Mentored 2 interns, 2 new hires, and 3 mid-level cross team engineers on operational tools, maintainable software, and career development. Genericized AWS asset management tooling ahead of company-wide mass migration initiative. Championed disaster recovery by supporting training runs with documentation, tools, and live support across teams and enforced continuous compliance for 17 database clusters with monitoring and alerting. Lent expertise owning MongoDB across teams by advising on configuration and data models and genericizing disaster recovery tooling for 21 teams.] when:Oct 2019 - May 2022] map[title:Software Engineer I what:[Automated no-downtime system patching for 30 services and 25 database clusters by creating a modular and testable scripting framework. Raised backend service's availability to 99.99% and reduced hardware costs by 40% by selecting, training team on, and live migrating to a different datastore.] when:Feb 2018 - Oct 2019]] title:Qualtrics]] title:Work Experience]
|
||||
</div>
|
||||
|
||||
<div>
|
||||
map[headings:[map[title:Wake Forest University what:[Master of Science in Computer Science - 3.88/4.00] when:Dec 2017] map[title:High Point University what:[Bachelor of Arts in Computer Science - 3.91/4.00] when:Dec 2015]] title:Education]
|
||||
</div>
|
||||
|
||||
<div>
|
||||
map[headings:[map[title:Arabidopsis thaliana computationally-generated next-state gene interaction models what:[Refactored to correct bugs and improve efficiency by orders of magnitude] when:Jun 2018]] title:Publications]
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div name="headings">
|
||||
</div>
|
||||
</body>
|
||||
<footer>
|
||||
</footer>
|
||||
<head>
|
||||
<link rel="preload" as="font" href="./fonts/Lato-Regular.ttf" type="font/ttf" crossorigin="anonymous">
|
||||
</link>
|
||||
<link rel="preload" as="font" href="./fonts/Lato-Bold.ttf" type="font/ttf" crossorigin="anonymous">
|
||||
</link>
|
||||
<style>
|
||||
@font-face {font-family: "Roboto"; src: url("./fonts/Roboto-Regular.ttf");}
|
||||
@font-face {font-family: "Roboto"; src: url("./fonts/Roboto-Bold.ttf"); font-weight: bold;}@font-face {font-family: "Lato"; src: url("./fonts/Lato-Regular.ttf");}
|
||||
@font-face {font-family: "Lato"; src: url("./fonts/Lato-Bold.ttf"); font-weight: bold;}@font-face {font-family: "Montserrat"; src: url("./fonts/Montserrat-Regular.ttf");}
|
||||
@font-face {font-family: "Montserrat"; src: url("./fonts/Montserrat-Bold.ttf"); font-weight: bold;}@font-face {font-family: "OpenSans"; src: url("./fonts/OpenSans-Regular.ttf");}
|
||||
@font-face {font-family: "OpenSans"; src: url("./fonts/OpenSans-Bold.ttf"); font-weight: bold;}@font-face {font-family: "Raleway"; src: url("./fonts/Raleway-Regular.ttf");}
|
||||
@font-face {font-family: "Raleway"; src: url("./fonts/Raleway-Bold.ttf"); font-weight: bold;}@font-face {font-family: "Caladea"; src: url("./fonts/Caladea-Regular.ttf");}
|
||||
@font-face {font-family: "Caladea"; src: url("./fonts/Caladea-Bold.ttf"); font-weight: bold;}@font-face {font-family: "Lora"; src: url("./fonts/Lora-Regular.ttf");}
|
||||
@font-face {font-family: "Lora"; src: url("./fonts/Lora-Bold.ttf"); font-weight: bold;}@font-face {font-family: "RobotoSlab"; src: url("./fonts/RobotoSlab-Regular.ttf");}
|
||||
@font-face {font-family: "RobotoSlab"; src: url("./fonts/RobotoSlab-Bold.ttf"); font-weight: bold;}@font-face {font-family: "PlayfairDisplay"; src: url("./fonts/PlayfairDisplay-Regular.ttf");}
|
||||
@font-face {font-family: "PlayfairDisplay"; src: url("./fonts/PlayfairDisplay-Bold.ttf"); font-weight: bold;}@font-face {font-family: "Merriweather"; src: url("./fonts/Merriweather-Regular.ttf");}
|
||||
@font-face {font-family: "Merriweather"; src: url("./fonts/Merriweather-Bold.ttf"); font-weight: bold;}
|
||||
</style>
|
||||
</head>
|
||||
<body style="margin: auto !important; padding-bottom: .0em !important; width: 512pt; margin: 0; padding: 0; -webkit-text-size-adjust:none;">
|
||||
<div>
|
||||
<div class="frame-content">
|
||||
<document title="Bree LaPointe Resume" author="Bree LaPointe " producer="OpenResume">
|
||||
<page style="display: flex; flex-direction: column; color: rgb(23, 23, 23); font-family: Lato; font-size: 11pt;">
|
||||
<view style="width: 100%; height: 10.5pt; background-color: rgb(129, 140, 248);">
|
||||
</view>
|
||||
<view style="display: flex; flex-direction: column; padding: 0px 18pt;">
|
||||
<view style="display: flex; flex-direction: column; gap: 6pt; margin-top: 12pt;">
|
||||
<text style="color: rgb(129, 140, 248); font-weight: bold; font-size: 20pt;">Bree LaPointe
|
||||
</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Senior Software Engineer
|
||||
</text>
|
||||
<view style="display: flex; flex-flow: row wrap; justify-content: space-between; margin-top: 1.5pt;">
|
||||
|
||||
|
||||
<view style="display: flex; flex-direction: row; align-items: center; gap: 3pt;">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width: 13pt; height: 13pt; fill: rgb(82, 82, 82);"><path d="M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"></path></svg>
|
||||
<a href="mailto:contact@blapointe.com" style="text-decoration: none;" target="_blank" rel="noreferrer">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">contact@blapointe.com</text>
|
||||
</a>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row; align-items: center; gap: 3pt;">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width: 13pt; height: 13pt; fill: rgb(82, 82, 82);"><path d="M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z"></path></svg>
|
||||
<a href="tel:3367016159" style="text-decoration: none;" target="_blank" rel="noreferrer">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">(336) 701-6159</text>
|
||||
</a>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row; align-items: center; gap: 3pt;">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width: 13pt; height: 13pt; fill: rgb(82, 82, 82);"><path d="M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z"></path></svg>
|
||||
<a href="<no value>" style="text-decoration: none;" target="_blank" rel="noreferrer">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Provo, UT</text>
|
||||
</a>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row; align-items: center; gap: 3pt;">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width: 13pt; height: 13pt; fill: rgb(82, 82, 82);"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg>
|
||||
<a href="https://linkedin.com/in/lapoba16" style="text-decoration: none;" target="_blank" rel="noreferrer">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">linkedin.com/in/lapoba16</text>
|
||||
</a>
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<view style="display: flex; flex-direction: column; gap: 6pt; margin-top: 12pt;">
|
||||
<view style="display: flex; flex-direction: row; align-items: center;">
|
||||
<view style="height: 3.75pt; width: 30pt; background-color: rgb(129, 140, 248); margin-right: 10.5pt;">
|
||||
</view>
|
||||
<text style="font-weight: bold; letter-spacing: 0.3pt;">WORK EXPERIENCE</text>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
<view>
|
||||
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold;">Qualtrics</text>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Senior Software Engineer, Team Lead</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">May 2022 - Present
|
||||
</text>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: column; margin-top: 4.5pt;">
|
||||
|
||||
|
||||
<view style="display: flex; flex-direction: row;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.3; flex-grow: 1; flex-basis: 0px;">Mentored entry and mid-level engineers on stability, clean code, and distributed systems.</text>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.3; flex-grow: 1; flex-basis: 0px;">Hosted engineering book and white paper clubs for continuous improvement and cross-team experience sharing for 2 years.</text>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.3; flex-grow: 1; flex-basis: 0px;">Recovered 98% of data lost in critical incident via coordinating cross team efforts and dissecting native database operation logs.</text>
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Software Engineer II</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Oct 2019 - May 2022
|
||||
</text>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: column; margin-top: 4.5pt;">
|
||||
|
||||
|
||||
<view style="display: flex; flex-direction: row;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.3; flex-grow: 1; flex-basis: 0px;">Developed and owned highly available and reliable data storage and operational tooling.</text>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.3; flex-grow: 1; flex-basis: 0px;">Mentored 2 interns, 2 new hires, and 3 mid-level cross team engineers on operational tools, maintainable software, and career development.</text>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.3; flex-grow: 1; flex-basis: 0px;">Genericized AWS asset management tooling ahead of company-wide mass migration initiative.</text>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.3; flex-grow: 1; flex-basis: 0px;">Championed disaster recovery by supporting training runs with documentation, tools, and live support across teams and enforced continuous compliance for 17 database clusters with monitoring and alerting.</text>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.3; flex-grow: 1; flex-basis: 0px;">Lent expertise owning MongoDB across teams by advising on configuration and data models and genericizing disaster recovery tooling for 21 teams.</text>
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Software Engineer I</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Feb 2018 - Oct 2019
|
||||
</text>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: column; margin-top: 4.5pt;">
|
||||
|
||||
|
||||
<view style="display: flex; flex-direction: row;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.3; flex-grow: 1; flex-basis: 0px;">Automated no-downtime system patching for 30 services and 25 database clusters by creating a modular and testable scripting framework.</text>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.3; flex-grow: 1; flex-basis: 0px;">Raised backend service's availability to 99.99% and reduced hardware costs by 40% by selecting, training team on, and live migrating to a different datastore.</text>
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: column; gap: 6pt; margin-top: 12pt;">
|
||||
<view style="display: flex; flex-direction: row; align-items: center;">
|
||||
<view style="height: 3.75pt; width: 30pt; background-color: rgb(129, 140, 248); margin-right: 10.5pt;">
|
||||
</view>
|
||||
<text style="font-weight: bold; letter-spacing: 0.3pt;">EDUCATION</text>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
<view>
|
||||
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold;">Wake Forest University</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Dec 2017
|
||||
</text>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Master of Science in Computer Science - 3.88/4.00 GPA
|
||||
</text>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
<view>
|
||||
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold;">High Point University</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Dec 2015
|
||||
</text>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Bachelor of Arts in Computer Science - 3.91/4.00 GPA
|
||||
</text>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: column; gap: 6pt; margin-top: 12pt;">
|
||||
<view style="display: flex; flex-direction: row; align-items: center;">
|
||||
<view style="height: 3.75pt; width: 30pt; background-color: rgb(129, 140, 248); margin-right: 10.5pt;">
|
||||
</view>
|
||||
<text style="font-weight: bold; letter-spacing: 0.3pt;">PUBLICATIONS</text>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
<view>
|
||||
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold;">Arabidopsis thaliana computationally-generated next-state gene interaction models</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Jun 2018
|
||||
</text>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Refactored to correct bugs and improve efficiency by orders of magnitude
|
||||
</text>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: column; gap: 6pt; margin-top: 12pt;">
|
||||
<view style="display: flex; flex-direction: row; align-items: center;">
|
||||
<view style="height: 3.75pt; width: 30pt; background-color: rgb(129, 140, 248); margin-right: 10.5pt;">
|
||||
</view>
|
||||
<text style="font-weight: bold; letter-spacing: 0.3pt;">SKILLS</text>
|
||||
</view>
|
||||
|
||||
|
||||
<view>
|
||||
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Languages: Golang, Bash, Python3
|
||||
</text>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Platforms: Docker, Hashicorp, Linux/Unix, AWS, Jenkins, REST, Microservices, Git
|
||||
</text>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">Datastores: MongoDB, Redis, S3, Couchbase, DynamoDB
|
||||
</text>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</page>
|
||||
</document>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -8,9 +8,10 @@ if ! which gojq; then
|
||||
fi &> /dev/null
|
||||
|
||||
while sleep 1; do
|
||||
clear
|
||||
date
|
||||
cat ./homebrew.yaml \
|
||||
| gojq --yaml-input . \
|
||||
| tpl --file homebrew.tmpl \
|
||||
| tee ./homebrew.html
|
||||
> ./homebrew.html
|
||||
done
|
||||
|
||||
|
||||
@@ -1,27 +1,119 @@
|
||||
<html>
|
||||
<header>
|
||||
</header>
|
||||
<body>
|
||||
<div name="name">
|
||||
<h1>{{ range .resume.name }}{{ . }} {{ end }}</h1>
|
||||
<h4>{{ .resume.title }}</h4>
|
||||
</div>
|
||||
<div name="contact">
|
||||
{{ range .resume.contact.links }}
|
||||
<div style="display: inline-block">
|
||||
{{ .svg }}
|
||||
<a href="{{ .link }}">{{ .text }}</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ range .resume.headings }}
|
||||
<div>
|
||||
{{ . }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div name="headings">
|
||||
</div>
|
||||
</body>
|
||||
<footer>
|
||||
</footer>
|
||||
<head>
|
||||
<link rel="preload" as="font" href="./fonts/Lato-Regular.ttf" type="font/ttf" crossorigin="anonymous">
|
||||
</link>
|
||||
<link rel="preload" as="font" href="./fonts/Lato-Bold.ttf" type="font/ttf" crossorigin="anonymous">
|
||||
</link>
|
||||
<style>
|
||||
@font-face {font-family: "Roboto"; src: url("./fonts/Roboto-Regular.ttf");}
|
||||
@font-face {font-family: "Roboto"; src: url("./fonts/Roboto-Bold.ttf"); font-weight: bold;}@font-face {font-family: "Lato"; src: url("./fonts/Lato-Regular.ttf");}
|
||||
@font-face {font-family: "Lato"; src: url("./fonts/Lato-Bold.ttf"); font-weight: bold;}@font-face {font-family: "Montserrat"; src: url("./fonts/Montserrat-Regular.ttf");}
|
||||
@font-face {font-family: "Montserrat"; src: url("./fonts/Montserrat-Bold.ttf"); font-weight: bold;}@font-face {font-family: "OpenSans"; src: url("./fonts/OpenSans-Regular.ttf");}
|
||||
@font-face {font-family: "OpenSans"; src: url("./fonts/OpenSans-Bold.ttf"); font-weight: bold;}@font-face {font-family: "Raleway"; src: url("./fonts/Raleway-Regular.ttf");}
|
||||
@font-face {font-family: "Raleway"; src: url("./fonts/Raleway-Bold.ttf"); font-weight: bold;}@font-face {font-family: "Caladea"; src: url("./fonts/Caladea-Regular.ttf");}
|
||||
@font-face {font-family: "Caladea"; src: url("./fonts/Caladea-Bold.ttf"); font-weight: bold;}@font-face {font-family: "Lora"; src: url("./fonts/Lora-Regular.ttf");}
|
||||
@font-face {font-family: "Lora"; src: url("./fonts/Lora-Bold.ttf"); font-weight: bold;}@font-face {font-family: "RobotoSlab"; src: url("./fonts/RobotoSlab-Regular.ttf");}
|
||||
@font-face {font-family: "RobotoSlab"; src: url("./fonts/RobotoSlab-Bold.ttf"); font-weight: bold;}@font-face {font-family: "PlayfairDisplay"; src: url("./fonts/PlayfairDisplay-Regular.ttf");}
|
||||
@font-face {font-family: "PlayfairDisplay"; src: url("./fonts/PlayfairDisplay-Bold.ttf"); font-weight: bold;}@font-face {font-family: "Merriweather"; src: url("./fonts/Merriweather-Regular.ttf");}
|
||||
@font-face {font-family: "Merriweather"; src: url("./fonts/Merriweather-Bold.ttf"); font-weight: bold;}
|
||||
</style>
|
||||
</head>
|
||||
<body style="margin: auto !important; padding-bottom: .0em !important; width: 512pt; margin: 0; padding: 0; -webkit-text-size-adjust:none;">
|
||||
<div>
|
||||
<div class="frame-content">
|
||||
<document title="{{ range .resume.name }}{{ . }} {{ end }}Resume" author="{{ range .resume.name }}{{ . }} {{ end }}" producer="OpenResume">
|
||||
<page style="display: flex; flex-direction: column; color: rgb(23, 23, 23); font-family: Lato; font-size: 11pt;">
|
||||
<view style="width: 100%; height: 10.5pt; background-color: rgb(129, 140, 248);">
|
||||
</view>
|
||||
<view style="display: flex; flex-direction: column; padding: 0px 18pt;">
|
||||
<view style="display: flex; flex-direction: column; gap: 6pt; margin-top: 12pt;">
|
||||
<text style="color: rgb(129, 140, 248); font-weight: bold; font-size: 20pt;">{{ range .resume.name }}{{ . }} {{ end }}
|
||||
</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">{{ .resume.title }}
|
||||
</text>
|
||||
<view style="display: flex; flex-flow: row wrap; justify-content: space-between; margin-top: 1.5pt;">
|
||||
|
||||
{{ range .resume.contact.links }}
|
||||
<view style="display: flex; flex-direction: row; align-items: center; gap: 3pt;">
|
||||
{{ .svg }}
|
||||
<a href="{{ .link }}" style="text-decoration: none;" target="_blank" rel="noreferrer">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">{{ .text }}</text>
|
||||
</a>
|
||||
</view>
|
||||
{{ end }}
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
||||
{{ range .resume.headings }}
|
||||
<view style="display: flex; flex-direction: column; gap: 6pt; margin-top: 12pt;">
|
||||
<view style="display: flex; flex-direction: row; align-items: center;">
|
||||
<view style="height: 3.75pt; width: 30pt; background-color: rgb(129, 140, 248); margin-right: 10.5pt;">
|
||||
</view>
|
||||
<text style="font-weight: bold; letter-spacing: 0.3pt;">{{ .title }}</text>
|
||||
</view>
|
||||
|
||||
{{ if .what }}
|
||||
<view>
|
||||
{{ range .what }}
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">{{ . }}
|
||||
</text>
|
||||
</view>
|
||||
{{ end }}
|
||||
</view>
|
||||
{{ end }}
|
||||
|
||||
{{ range .headings }}
|
||||
<view>
|
||||
{{ if .headings }}
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold;">{{ .title }}</text>
|
||||
{{ else }}
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold;">{{ .title }}</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">{{ .when }}
|
||||
</text>
|
||||
</view>
|
||||
{{ end }}
|
||||
|
||||
{{ range .what }}
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">{{ . }}
|
||||
</text>
|
||||
</view>
|
||||
{{ end }}
|
||||
|
||||
{{ range .headings }}
|
||||
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">{{ .title }}</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal;">{{ .when }}
|
||||
</text>
|
||||
</view>
|
||||
|
||||
<view style="display: flex; flex-direction: column; margin-top: 4.5pt;">
|
||||
|
||||
{{ range .what }}
|
||||
<view style="display: flex; flex-direction: row;">
|
||||
<text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.3;">•</text>
|
||||
<text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.3; flex-grow: 1; flex-basis: 0px;">{{ . }}</text>
|
||||
</view>
|
||||
{{ end }}
|
||||
|
||||
</view>
|
||||
{{ end }}
|
||||
|
||||
</view>
|
||||
{{ end }}
|
||||
|
||||
</view>
|
||||
{{ end }}
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</page>
|
||||
</document>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -8,7 +8,7 @@ resume:
|
||||
- text: contact@blapointe.com
|
||||
link: mailto:contact@blapointe.com
|
||||
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width: 13pt; height: 13pt; fill: rgb(82, 82, 82);"><path d="M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z"></path></svg>'
|
||||
- text: (336) 701 - 6159
|
||||
- text: (336) 701-6159
|
||||
link: tel:3367016159
|
||||
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width: 13pt; height: 13pt; fill: rgb(82, 82, 82);"><path d="M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z"></path></svg>'
|
||||
- text: Provo, UT
|
||||
@@ -17,12 +17,7 @@ resume:
|
||||
link: https://linkedin.com/in/lapoba16
|
||||
svg: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" style="width: 13pt; height: 13pt; fill: rgb(82, 82, 82);"><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"></path></svg>'
|
||||
headings:
|
||||
- title: Skills
|
||||
what:
|
||||
- 'Languages: Golang, Bash, Python3'
|
||||
- 'Platforms: Docker, Hashicorp, Linux/Unix, AWS, Jenkins, REST, Microservices, Git'
|
||||
- 'Datastores: MongoDB, Redis, S3, Couchbase, DynamoDB'
|
||||
- title: Work Experience
|
||||
- title: WORK EXPERIENCE
|
||||
headings:
|
||||
- title: Qualtrics
|
||||
headings:
|
||||
@@ -45,19 +40,24 @@ resume:
|
||||
what:
|
||||
- Automated no-downtime system patching for 30 services and 25 database clusters by creating a modular and testable scripting framework.
|
||||
- Raised backend service's availability to 99.99% and reduced hardware costs by 40% by selecting, training team on, and live migrating to a different datastore.
|
||||
- title: Education
|
||||
- title: EDUCATION
|
||||
headings:
|
||||
- title: Wake Forest University
|
||||
when: Dec 2017
|
||||
what:
|
||||
- Master of Science in Computer Science - 3.88/4.00
|
||||
- Master of Science in Computer Science - 3.88/4.00 GPA
|
||||
- title: High Point University
|
||||
when: Dec 2015
|
||||
what:
|
||||
- Bachelor of Arts in Computer Science - 3.91/4.00
|
||||
- title: Publications
|
||||
- Bachelor of Arts in Computer Science - 3.91/4.00 GPA
|
||||
- title: PUBLICATIONS
|
||||
headings:
|
||||
- title: Arabidopsis thaliana computationally-generated next-state gene interaction models
|
||||
when: Jun 2018
|
||||
what:
|
||||
- Refactored to correct bugs and improve efficiency by orders of magnitude
|
||||
- title: SKILLS
|
||||
what:
|
||||
- 'Languages: Golang, Bash, Python3'
|
||||
- 'Platforms: Docker, Hashicorp, Linux/Unix, AWS, Jenkins, REST, Microservices, Git'
|
||||
- 'Datastores: MongoDB, Redis, S3, Couchbase, DynamoDB'
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
#! /bin/bash
|
||||
set -o pipefail
|
||||
|
||||
echo '> copy outer HTML of html just inside iframe' >&2
|
||||
|
||||
font_family="$(cat resume.html | grep -o 'font-family[^;]*' | tail -n 1 | awk '{print $NF}')"
|
||||
cat resume.html \
|
||||
| sed 's/>...<\/text/> - <\/text/g' \
|
||||
| sed 's/overflow: hidden;/margin: auto !important; padding-bottom: .0em !important;/g' \
|
||||
| sed 's/padding: 0px 60pt;/padding: 0px 18pt;/' \
|
||||
| sed 's/width: 612pt;/width: 512pt;/' \
|
||||
| sed "s#<link [^>]*as=\"font\"[^>]*/fonts/[^${font_family:0:1}][^>]*>##g" \
|
||||
| sed "s#<link [^>]*as=\"font\"[^>]*/fonts/${font_family:0:1}[^${font_family:1:1}][^>]*>##g" \
|
||||
| sed "s#/fonts/#./fonts/#g" \
|
||||
> resume.html.2 \
|
||||
|| rm resume.html.2
|
||||
|
||||
for font_file in $(
|
||||
cat resume.html.2 \
|
||||
| grep -o 'href="./fonts/[^"]*' \
|
||||
| sed 's#.*"./##'
|
||||
); do
|
||||
if [ ! -f "$font_file" ]; then
|
||||
mkdir -p ./${font_file%/*}/
|
||||
curl -sS -L https://www.open-resume.com/$font_file > $font_file
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
# | sed 's#"/fonts/#"https://www.open-resume.com/fonts/#g' \
|
||||
|
||||
|
||||
#| sed 's/margin-top: 15pt;/margin-top: 20pt;/g' \
|
||||
#| sed 's/margin-top: 12pt;/margin-top: 17pt;/g' \
|
||||
#| sed 's/margin-top: 8pt;/margin-top: 12pt;/g' \
|
||||
#| sed 's/margin-top: 6pt;/margin-top: 10pt;/g' \
|
||||
|
||||
@@ -1,153 +0,0 @@
|
||||
{
|
||||
"resume": {
|
||||
"profile": {
|
||||
"name": "Bree LaPointe",
|
||||
"summary": "Senior Software Engineer",
|
||||
"email": "contact@blapointe.com",
|
||||
"phone": "(336) 701-6159",
|
||||
"location": "Provo, UT",
|
||||
"url": "linkedin.com/in/lapoba16"
|
||||
},
|
||||
"workExperiences": [
|
||||
{
|
||||
"company": "Qualtrics",
|
||||
"jobTitle": "Senior Software Engineer, Team Lead",
|
||||
"date": "May 2022 - Present",
|
||||
"descriptions": [
|
||||
"Mentored entry and mid-level engineers on stability, clean code, and distributed systems.",
|
||||
"Hosted engineering book and white paper clubs for continuous improvement and cross-team experience sharing for 2 years.",
|
||||
"Recovered 98% of data lost in critical incident via coordinating cross team efforts and dissecting native database operation logs."
|
||||
]
|
||||
},
|
||||
{
|
||||
"company": "Qualtrics",
|
||||
"jobTitle": "Software Engineer II",
|
||||
"date": "Oct 2019 - May 2022",
|
||||
"descriptions": [
|
||||
"Developed and owned highly available and reliable data storage and operational tooling.",
|
||||
"Mentored 2 interns, 2 new hires, and 3 mid-level cross team engineers on operational tools, maintainable software, and career development.",
|
||||
"Genericized AWS asset management tooling ahead of company-wide mass migration initiative.",
|
||||
"Championed disaster recovery by supporting training runs with documentation, tools, and live support across teams and enforced continuous compliance for 17 database clusters with monitoring and alerting.",
|
||||
"Lent expertise owning MongoDB across teams by advising on configuration and data models and genericizing disaster recovery tooling for 21 teams."
|
||||
]
|
||||
},
|
||||
{
|
||||
"company": "Qualtrics",
|
||||
"jobTitle": "Software Engineer I",
|
||||
"date": "Feb 2018 - Oct 2019",
|
||||
"descriptions": [
|
||||
"Automated no-downtime system patching for 30 services and 25 database clusters by creating a modular and testable scripting framework.",
|
||||
"Raised backend service's availability to 99.99% and reduced hardware costs by 40% by selecting, training team on, and live migrating to a different datastore."
|
||||
]
|
||||
}
|
||||
],
|
||||
"educations": [
|
||||
{
|
||||
"school": "Wake Forest University",
|
||||
"degree": "Master of Science in Computer Science",
|
||||
"gpa": "3.88/4.00",
|
||||
"date": "Dec 2017",
|
||||
"descriptions": []
|
||||
},
|
||||
{
|
||||
"school": "High Point University",
|
||||
"degree": "Bachelor of Arts in Computer Science",
|
||||
"gpa": "3.91/4.00",
|
||||
"date": "Dec 2015",
|
||||
"descriptions": []
|
||||
}
|
||||
],
|
||||
"projects": [
|
||||
{
|
||||
"project": "Arabidopsis thaliana computationally-generated next-state gene interaction models",
|
||||
"date": "June 2018",
|
||||
"descriptions": [
|
||||
"Refactored to correct bugs and improve efficiency by orders of magnitude"
|
||||
]
|
||||
}
|
||||
],
|
||||
"skills": {
|
||||
"featuredSkills": [
|
||||
{
|
||||
"skill": "",
|
||||
"rating": 4
|
||||
},
|
||||
{
|
||||
"skill": "",
|
||||
"rating": 4
|
||||
},
|
||||
{
|
||||
"skill": "",
|
||||
"rating": 4
|
||||
},
|
||||
{
|
||||
"skill": "",
|
||||
"rating": 4
|
||||
},
|
||||
{
|
||||
"skill": "",
|
||||
"rating": 4
|
||||
},
|
||||
{
|
||||
"skill": "",
|
||||
"rating": 4
|
||||
}
|
||||
],
|
||||
"descriptions": [
|
||||
"Languages: Golang, Bash, Python3",
|
||||
"Platforms: Docker, Hashicorp, Linux/Unix, AWS, Jenkins, REST, Microservices, Git",
|
||||
"Datastores: MongoDB, Redis, S3, Couchbase, DynamoDB"
|
||||
],
|
||||
"notfeaturedSkills": [
|
||||
{
|
||||
"skill": "Golang",
|
||||
"rating": 4
|
||||
},
|
||||
{
|
||||
"skill": "Bash",
|
||||
"rating": 4
|
||||
},
|
||||
{
|
||||
"skill": "Python3",
|
||||
"rating": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"custom": {
|
||||
"descriptions": []
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"themeColor": "#818cf8",
|
||||
"fontFamily": "Lato",
|
||||
"fontSize": "11",
|
||||
"documentSize": "Letter",
|
||||
"formToShow": {
|
||||
"workExperiences": true,
|
||||
"educations": true,
|
||||
"projects": true,
|
||||
"skills": true,
|
||||
"custom": false
|
||||
},
|
||||
"formToHeading": {
|
||||
"workExperiences": "WORK EXPERIENCE",
|
||||
"educations": "EDUCATION",
|
||||
"projects": "PUBLICATIONS",
|
||||
"skills": "SKILLS",
|
||||
"custom": "PUBLICATIONS"
|
||||
},
|
||||
"formsOrder": [
|
||||
"workExperiences",
|
||||
"educations",
|
||||
"projects",
|
||||
"skills",
|
||||
"custom"
|
||||
],
|
||||
"showBulletPoints": {
|
||||
"educations": false,
|
||||
"projects": true,
|
||||
"skills": true,
|
||||
"custom": false
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Reference in New Issue
Block a user