6 Commits

Author SHA1 Message Date
Bel LaPointe
6ed9ff1071 updated for 2025
All checks were successful
cicd / cicd (push) Successful in 2m4s
2026-01-08 08:25:36 -07:00
Bel LaPointe
a0b60021cf resolve todo 2025-12-18 13:34:51 -07:00
Bel LaPointe
8487f1577e notes to explain resume bullets
Some checks failed
cicd / cicd (push) Failing after 1m26s
2025-12-18 13:33:32 -07:00
Bel LaPointe
da21248adb TODOs in readme 2025-12-18 13:16:12 -07:00
bel
28dd611b7b pdf
All checks were successful
cicd / cicd (push) Successful in 1m51s
2025-09-15 22:22:15 -06:00
bel
7f7256fe07 prettier uwu 2025-09-15 22:21:50 -06:00
5 changed files with 75 additions and 21 deletions

View File

@@ -1,8 +1,16 @@
# Resume # Resume
* todo
* prepare stories
* cross-team project with a hitch and deadline pressure
* an urgent incident
* in interviews, do the dumb version first
## Usage
1. modify [homebrew.yaml](./src/homebrew/homebrew.yaml) 1. modify [homebrew.yaml](./src/homebrew/homebrew.yaml)
1. generate `cd ./src/homebrew; bash ./homebrew.sh` (interrupt when it starts timestamping) 1. generate `cd ./src/homebrew; bash ./homebrew.sh` (interrupt when it starts timestamping)
1. `open ./src/homebrew/homebrew.html` 1. `open ./src/homebrew/homebrew.html`
1. `ctrl + p` and save as pdf 1. `ctrl + p` and save as `./src/homebrew/homebrew.pdf`
1. commit + push 1. commit + push
1. `.gitea/...` CICD pushes to firebase + gitlab 1. `.gitea/...` CICD pushes to firebase + gitlab

View File

@@ -79,7 +79,7 @@
<view style="display: flex; flex-direction: row; align-items: center; font-size: 14pt;"> <view style="display: flex; flex-direction: row; align-items: center; font-size: 14pt;">
<view style="height: 3.75pt; width: 30pt; background-color: rgb(129, 140, 248); margin-right: 10.5pt;"> <view style="height: 3.75pt; width: 30pt; background-color: rgb(129, 140, 248); margin-right: 10.5pt;">
</view> </view>
<text style="font-weight: bold; letter-spacing: 0.3pt;" class="resume-headings-i-title">WORK EXPERIENCE</text> <text style="font-weight: bold; letter-spacing: 0.3pt;" class="resume-headings-i-title">Work Experience</text>
</view> </view>
@@ -96,8 +96,8 @@
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;"> <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;" class="resume-headings-i-headings-i-headings-i-title">Senior Software Engineer</text> <text style="color: rgb(23, 23, 23); font-weight: normal; font-style: italic;" class="resume-headings-i-headings-i-headings-i-title">Senior Software Engineer</text>
<text style="color: rgb(23, 23, 23); font-weight: bold;">May 2025 - Present <text style="color: rgb(23, 23, 23); font-weight: normal; font-size: 9.5pt;">May 2025 - Present
</text> </text>
</view> </view>
@@ -106,15 +106,20 @@
<view style="display: flex; flex-direction: row;"> <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.35; margin-top: 0pt;">&#8226</text> <text style="color: rgb(23, 23, 23); font-weight: bold; padding-left: 6pt; padding-right: 6pt; line-height: 1.35; margin-top: 0pt;">&#8226</text>
<text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.35; flex-grow: 1; flex-basis: 0px;">Stabilized automated management, performance tuning, and point-in-time-recovery infrastructure of tens of thousands of PostgreSQL databases.</text> <text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.35; flex-grow: 1; flex-basis: 0px;">Cut new PostgreSQL major version support development cost from 8 weeks to 1 week.</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.35; margin-top: 0pt;">&#8226</text>
<text style="color: rgb(23, 23, 23); font-weight: normal; line-height: 1.35; flex-grow: 1; flex-basis: 0px;">Reduced point-in-time-recovery restore failure volume 60% and restore runtime up to 80% with dynamic tuning.</text>
</view> </view>
</view> </view>
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;"> <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;" class="resume-headings-i-headings-i-headings-i-title">Software Engineer</text> <text style="color: rgb(23, 23, 23); font-weight: normal; font-style: italic;" class="resume-headings-i-headings-i-headings-i-title">Software Engineer</text>
<text style="color: rgb(23, 23, 23); font-weight: bold;">Dec 2023 - May 2025 <text style="color: rgb(23, 23, 23); font-weight: normal; font-size: 9.5pt;">Dec 2023 - May 2025
</text> </text>
</view> </view>
@@ -143,8 +148,8 @@
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;"> <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;" class="resume-headings-i-headings-i-headings-i-title">Senior Software Engineer, Team Lead</text> <text style="color: rgb(23, 23, 23); font-weight: normal; font-style: italic;" class="resume-headings-i-headings-i-headings-i-title">Senior Software Engineer, Team Lead</text>
<text style="color: rgb(23, 23, 23); font-weight: bold;">May 2022 - Dec 2023 <text style="color: rgb(23, 23, 23); font-weight: normal; font-size: 9.5pt;">May 2022 - Dec 2023
</text> </text>
</view> </view>
@@ -180,8 +185,8 @@
</view> </view>
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;"> <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;" class="resume-headings-i-headings-i-headings-i-title">Software Engineer II</text> <text style="color: rgb(23, 23, 23); font-weight: normal; font-style: italic;" class="resume-headings-i-headings-i-headings-i-title">Software Engineer II</text>
<text style="color: rgb(23, 23, 23); font-weight: bold;">Oct 2019 - May 2022 <text style="color: rgb(23, 23, 23); font-weight: normal; font-size: 9.5pt;">Oct 2019 - May 2022
</text> </text>
</view> </view>
@@ -197,8 +202,8 @@
</view> </view>
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;"> <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;" class="resume-headings-i-headings-i-headings-i-title">Software Engineer I</text> <text style="color: rgb(23, 23, 23); font-weight: normal; font-style: italic;" class="resume-headings-i-headings-i-headings-i-title">Software Engineer I</text>
<text style="color: rgb(23, 23, 23); font-weight: bold;">Feb 2018 - Oct 2019 <text style="color: rgb(23, 23, 23); font-weight: normal; font-size: 9.5pt;">Feb 2018 - Oct 2019
</text> </text>
</view> </view>
@@ -228,7 +233,7 @@
<view style="display: flex; flex-direction: row; align-items: center; font-size: 14pt;"> <view style="display: flex; flex-direction: row; align-items: center; font-size: 14pt;">
<view style="height: 3.75pt; width: 30pt; background-color: rgb(129, 140, 248); margin-right: 10.5pt;"> <view style="height: 3.75pt; width: 30pt; background-color: rgb(129, 140, 248); margin-right: 10.5pt;">
</view> </view>
<text style="font-weight: bold; letter-spacing: 0.3pt;" class="resume-headings-i-title">EDUCATION</text> <text style="font-weight: bold; letter-spacing: 0.3pt;" class="resume-headings-i-title">Education</text>
</view> </view>
@@ -261,7 +266,7 @@
<view style="display: flex; flex-direction: row; align-items: center; font-size: 14pt;"> <view style="display: flex; flex-direction: row; align-items: center; font-size: 14pt;">
<view style="height: 3.75pt; width: 30pt; background-color: rgb(129, 140, 248); margin-right: 10.5pt;"> <view style="height: 3.75pt; width: 30pt; background-color: rgb(129, 140, 248); margin-right: 10.5pt;">
</view> </view>
<text style="font-weight: bold; letter-spacing: 0.3pt;" class="resume-headings-i-title">SKILLS</text> <text style="font-weight: bold; letter-spacing: 0.3pt;" class="resume-headings-i-title">Skills</text>
</view> </view>

Binary file not shown.

View File

@@ -102,8 +102,8 @@
{{ range .headings }} {{ range .headings }}
<view style="display: flex; flex-direction: row; justify-content: space-between; margin-top: 4.5pt;"> <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;" class="resume-headings-i-headings-i-headings-i-title">{{ .title }}</text> <text style="color: rgb(23, 23, 23); font-weight: normal; font-style: italic;" class="resume-headings-i-headings-i-headings-i-title">{{ .title }}</text>
<text style="color: rgb(23, 23, 23); font-weight: bold;">{{ .when }} <text style="color: rgb(23, 23, 23); font-weight: normal; font-size: 9.5pt;">{{ .when }}
</text> </text>
</view> </view>

View File

@@ -18,41 +18,82 @@ resume:
link: https://linkedin.com/in/breeldev link: https://linkedin.com/in/breeldev
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>' 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: headings:
- title: WORK EXPERIENCE - title: Work Experience
headings: headings:
- title: Render - title: Render
headings: headings:
- title: Senior Software Engineer - title: Senior Software Engineer
when: May 2025 - Present when: May 2025 - Present
what: what:
- Stabilized automated management, performance tuning, and point-in-time-recovery infrastructure of tens of thousands of PostgreSQL databases. - Cut new PostgreSQL major version support development cost from 8 weeks to 1 week.
# refactored + go generated + templated CI from PG17 to PG18
# had to wait 4w for TimescaleDB to ship, but no active time for us
- Reduced point-in-time-recovery restore failure volume 60% and restore runtime up to 80% with dynamic tuning.
# 40k paid, 30k free in 2025-12
# performance tuning -> PGExport queries
# pitr -> pitr holes, synchronous success tracking
# -50% restore failure rate by limiting postgresql.conf memory
# increment backups after 10k WAL files (1h of replay)
# render_pg_archive.sh synchronously tracks PITR health
#- Shipped autoscaling storage, in-place managed credential rotation
- title: Software Engineer - title: Software Engineer
when: Dec 2023 - May 2025 when: Dec 2023 - May 2025
what: what:
- Crafted PostgreSQL low-downtime migrations and in-place major version upgrades. - Crafted PostgreSQL low-downtime migrations and in-place major version upgrades.
# PGUpgrades
# continuous canary testing matrix
# 3 major version targets
# FCR
# all-in-one solution for cross-region, cross-account, cross-provider migrations
# via physical replication
# customer-triggered promotion
# coupled to power HIPAA migration
- title: Qualtrics - title: Qualtrics
headings: headings:
- title: Senior Software Engineer, Team Lead - title: Senior Software Engineer, Team Lead
when: May 2022 - Dec 2023 when: May 2022 - Dec 2023
what: what:
- Optimized a Go application to increase consumption rate from Kafka by 340%, costing half the engineering effort of the proposed rewrite. - Optimized a Go application to increase consumption rate from Kafka by 340%, costing half the engineering effort of the proposed rewrite.
# Atlas QMP Consumer
# optimized garbage collection of many small objects
# from maps and allocs to pointers and slices
#- Devised a MongoDB live indexing strategy, which supported both current and future use cases, and saved the computing and filling of a new 99% unused native database index. #- Devised a MongoDB live indexing strategy, which supported both current and future use cases, and saved the computing and filling of a new 99% unused native database index.
- Spearheaded AWS asset replication tooling, sparing 9 teams from duplicating work relocating up to 7 AWS technologies each. - Spearheaded AWS asset replication tooling, sparing 9 teams from duplicating work relocating up to 7 AWS technologies each.
# Scanned AWS assets -> interactive script replicated configs to new AWS region
# cloned S3, SQS, SNS, DynamoDB assets
- Mentored 2 intern, 2 new grad, and 4 mid-level engineers on operational tools, best practices for maintainable software, and career development. - Mentored 2 intern, 2 new grad, and 4 mid-level engineers on operational tools, best practices for maintainable software, and career development.
- Founded the in-house standard system to continuously verify 16 teams' compliance with disaster recovery requirements. - Founded the in-house standard system to continuously verify 16 teams' compliance with disaster recovery requirements.
# Mongosback backup-check lists S3 for last backup timestamp
- Created automated release test suites for 11 services, which catches 10 would-be customer facing bugs per month on average. - Created automated release test suites for 11 services, which catches 10 would-be customer facing bugs per month on average.
# CRUDdy
# tied to Nomad spec
# on boot, healthchecks fail for new instance until e2e tests pass per-instance
# blocked releases to staging
- title: Software Engineer II - title: Software Engineer II
when: Oct 2019 - May 2022 when: Oct 2019 - May 2022
what: what:
#- "Scripted no-downtime database reconfiguration, which was leveraged by 3 teams to update 168 instances." #- "Scripted no-downtime database reconfiguration, which was leveraged by 3 teams to update 168 instances."
- Automated infrastructure patching for 30 microservices and 25 database clusters by creating a modular and testable Bash script framework. - Automated infrastructure patching for 30 microservices and 25 database clusters by creating a modular and testable Bash script framework.
# Nexpose-Remediations
# Couchbase, Mongo, GaleraDB covered
# spindown, isSpindownComplete, patch, reboot, pollRebooted, spinup, isSpinupComplete
# used cross-team for all Mongo instances
# bash tested via `source unit_test_setup.sh; test my_method`
#- Administered on-call training, including 6 chaos tests gamedays across 5 systems. #- Administered on-call training, including 6 chaos tests gamedays across 5 systems.
- title: Software Engineer I - title: Software Engineer I
when: Feb 2018 - Oct 2019 when: Feb 2018 - Oct 2019
what: what:
- Founded Python tookit for full and incremental MongoDB backups, supporting partitioned deployments. The in-house standard for 21 teams. - Founded Python tookit for full and incremental MongoDB backups, supporting partitioned deployments. The in-house standard for 21 teams.
# Mongosback
# Python3 script
# Handles sharded AND replica sets
# watches for any shard in progress AND replica set healthy enough to continue
- Decreased internal service's annual outages by 91% and hardware costs by 40% via database migration. Scoped alternatives, projected costs, and designed cutover. - Decreased internal service's annual outages by 91% and hardware costs by 40% via database migration. Scoped alternatives, projected costs, and designed cutover.
- title: EDUCATION # Couchbase for GENI (MaraudersMap) was a mess
# indexes just kinda disappeared, meaning table scans often
# evaluated Mongo, Galera, CockroachDB
# Mongo ran with little RAM on laptop + fast startup + lowest latency
- title: Education
headings: headings:
- title: Wake Forest University - title: Wake Forest University
not-when: Dec 2017 not-when: Dec 2017
@@ -68,7 +109,7 @@ resume:
# when: Jun 2018 # when: Jun 2018
# what: # what:
# - Refactored to correct bugs and improve efficiency by orders of magnitude # - Refactored to correct bugs and improve efficiency by orders of magnitude
- title: SKILLS - title: Skills
what: what:
- 'Languages: Go (Golang), Bash, Python3' - 'Languages: Go (Golang), Bash, Python3'
- 'Platforms: Kubernetes, Temporal, Hashicorp, Linux/Unix, AWS, REST, Microservices' - 'Platforms: Kubernetes, Temporal, Hashicorp, Linux/Unix, AWS, REST, Microservices'