Org Web Adapter

hungryroot/2026-Q2-self-evaluation.org

2026 Q2 Self-Evaluation

#+author: Colin Powell

#+date: 2026-06-05

Hungryroot: Senior BE, API Team (Jan-Jun 2026)

Q1 2026 (Jan-Mar) — Ramp-up, Platform Hardening, V1→V2 Migration

API Migration Leadership:

- Audited all **104 V1 endpoints**, created per-route migration tickets, documented V2 equivalents, coordinated with client teams (BE-6303)

- Removed non-slash route variants (BE-1827), filled V1→V2 parity gaps (customer_info PATCH, promo data, order skip logic, reschedule order)

- Impact: Legacy API surface area reduced. Client teams (mobile, web) now build against a single documented contract. Foundation for eventually turning off V1.

Data Integrity & Observability:

- Investigated/resolved Datadog signup/checkout metric under-reporting (BE-6895)

- Created Segment event name constants, ensured customer.signup fires even if Segment enqueue fails, normalized emails before auth, emitted checkout.submit after DB commit (BE-7134/7143/7144/7145)

- Impact: Marketing has accurate conversion metrics. Signup events are never lost due to Segment failures.

Recipes by Ingredients (100% complete):

- Added ingredient/productId filter to V2 PairingList, V3 Pairing, and V3 Filter Pairing APIs with performance evaluation

- Impact: ~46% of users report having leftover ingredients — this feature enables ingredient-based recipe discovery

CI Performance:

- Improved CI build-test speed by moving MySQL to tmpfs + InnoDB tuning

- Impact: Reduced test run times significantly. Demonstrated at sprint demo.

Security:

- Fixed SMS opt-in/opt-out authorization gap — unauthenticated requests could subscribe any phone number (BE-7373)

- Impact: Closed a potential Braze cost abuse and customer harassment vector

SQL Optimization:

- Analyzed/optimized calculate_nth_shipped Celery task SQL performance (BE-6882)

- Impact: Reduced DB load on a frequently-run query

Q2 2026 (Apr-Jun) — Cookbooks MVP, Exp 242, Brand Model

Cookbooks MVP (Flagship Feature):

- Authored the Cookbook Technical Design Document (BE-7389 spike)

- Built the entire backend from scratch — cookbooks Django app with models (Cookbook, CookbookAuthor, CookbookCollection, CookbookSection, CookbookItem), migrations, serializers, V3 read APIs, V2 write (PUT upsert) APIs, image upload via multipart/form-data, API key auth for content ingestion

- Added admin refinements (raw_id_fields, auto-slug generation), discovery home integration (public endpoints for pre-signup homepage), search, filtering, featured cookbook support

- Impact: This is the Brand Pod's flagship feature — editorial cookbook collections on the homepage and discovery surfaces. I was the sole backend engineer designing and shipping it in ~6 weeks.

Favorites Tab / Exp 242 (Step 1 toward user-created cookbooks):

- Authored Exp 242 TDD defining the architecture

- Built FavoritesService with cookbook-shaped responses returning typed pairing_id/product_id items

- Delivered V3 GET endpoint for favorites and POST endpoint for shareable cookbook slugs

- Investigated missing experiment data (Segment vs MySQL discrepancy) for Fanny

- Impact: Mobile Favorites tab launching. Shareable cookbook mechanics are step 1 toward full user-created cookbooks.

Contract Testing Initiative:

- Evaluated Schemathesis + Pact for API drift detection (BE-7541 spike)

- Drafted Q2 goal for automated contract testing, kicked off implementation

- Impact: Phase 1 (Schemathesis) will catch schema/implementation mismatches at PR time instead of integration

Brand Model (Phase 1 in flight):

- Authored the First-Class Brand Model Plan — canonical Brand model replacing denormalized Product.brand_name strings

- Impact: Brand-led merchandising will build against a real model with consistent spelling, shared assets, clean cardinality

Team & Culture:

- Release Engineer for Sprints 106, 107, 108, 110 — managed code freezes and prod deployments

- On-call rotation duties

- Camp Counselor — employee culture role (board game meetups, book club)

- 90-day onboarding: Completed at 100% ahead of schedule

- All Q1 goals: Completed at 100% (Onboarding, Brand Pod support, Recipes by Ingredients)

- Technical trust: Stephen asked me to investigate MCP hooks for AI-assisted development

- Knowledge sharing: Mentored Cris on OpenAPI schema resolution, walked team through Cookbook architecture

Consolidated Impact Summary

| Period | Theme | Key Deliverable | Business Impact |

|--------|-------|----------------|-----------------|

| Jan-Mar 2026 | Platform migration | V1→V2 audit of 104 endpoints, Segment data fix, CI optimization | Cleaner API contract, accurate conversion metrics, faster tests |

| Mar-May 2026 | Flagship feature | Cookbooks MVP backend — sole engineer | Brand Pod's biggest initiative, live in production |

| May-Jun 2026 | Growth feature | Favorites Tab / Exp 242 — lead backend engineer | Mobile engagement feature, path to user-created cookbooks |

| May-Jun 2026 | Platform quality | Contract testing kickoff, Brand model plan | Fewer integration regressions, first-class brand entity |

Areas for Improvement

1. Scope better — say no more often

- I'm wearing too many hats: Cookbooks lead BE, release engineer, on-call, Camp Counselor, contract testing kickoff, Brand model plan, Exp 242, plus unplanned requests (Cris's linting issue cost me a day I called out in my weekly report).

- My March report flags "context switching cost" and "messed up communication with product on deadlines." The bottleneck isn't competence — it's capacity.

- Action: Pick two things to drop or defer each sprint. Be explicit about trade-offs in sprint planning.

2. Product-adjacent communication habits

- My March weekly report flags deadline miscommunication with product — I need to invest in over-communication.

- Action: Slack the PM after every TDD review with a written ETA summary, or bring a written ETA to standup. The raw output is great; expectation-setting is where trust leaks.

3. Formalize mentorship / influence arc

- I have a staff_engineer.org file and my one-on-ones touch on MCP research, but I don't have visible mentees or cross-team leverage documented.

- Action: Pick one engineer (Cris? a mobile counterpart?) and do weekly pairing. Staff-level impact is multiplied through others, not just shipping.

4. Post-ship learning capture

- I write excellent planning docs but I don't do post-mortems or retro notes on what went wrong. Each ship (CI bug BE-7219, deadline miss, sms_consent rollback) is a learning moment.

- Action: Write a 5-line "what I'd do differently" capture after each ship. These compound quickly.

5. Visibility beyond the API team

- My impact is concentrated in BE code and Brand Pod. Staff Engineer signals usually include cross-team patterns, influencing org-wide decisions, or writing that changes how other teams work.

- The contract testing TDD and V1 migration audit are strong examples — I should lean into writing those up for Confluence or Lunch & Learn.

- Action: Schedule one Lunch & Learn or Confluence post per quarter on a cross-cutting pattern.