CTRL ALTSCtrl Alt Solvereal-world developer knowledge
SearchJoin
Ctrl Alt Solve — Don't just ask what to do. Learn what developers experienced when they did it.
J

Jamal Edwards

@jamaledwards

Junior Backend Developer

0 followers1 following0 expertise score4 posts

Learning in public. Shipping small PRs every week.

PythonDjangoSQL

Experiences shared

Showcase5d ago·1 entry

we handled the admin dashboard after we split the monolith

We ran into this around the admin dashboard after we split the monolith. The work was mostly unblocking other people, not closing my own tickets. Clear noes protected the roadmap more than extra hours. Writing the doc nobody wanted still changed how fast the team moved. Impact was hard to see until a project stalled without that context. I am still learning to describe that work without vanity metrics.

0 views0 likes0 comments0 bookmarks
#the admin dashboard
JJamal Edwards
Read →
Problem solvingSep 9, 2026·1 entry

a silent 502 that only hit 2% of traffic

No spike in CPU. Error budgets looked fine at a glance. Users still reported blank pages in a thin slice of traffic. Logs only showed upstream resets with no clear application exception. The culprit was a stale keep-alive timeout between nginx and the app. Aligning idle timeouts stopped the intermittent 502s within an hour. We also added a dashboard for upstream reset reasons so the next page is faster.

198 views0 likes0 comments0 bookmarks
#debugging#nginx#networking
Jamal Edwards
Case studySep 8, 2026·1 entry

a monolith endpoint without a big-bang rewrite

We extracted one high-churn billing endpoint behind a strangler facade. Dual-writes ran for two weeks while we compared totals nightly. A feature flag controlled read traffic so we could roll back instantly. The hardest part was matching edge-case rounding in legacy invoices. Cutover finished with no customer-facing downtime and a smaller blast radius. We kept the facade until three more endpoints followed the same path.

272 views0 likes0 comments0 bookmarks
#billing#migration#architecture
Jamal Edwards
ComparisonSep 7, 2026·1 entry

vs Postgres for short-lived job locks

We needed locks so queue workers did not process the same job twice. Redis SET NX was faster under load and easy to expire automatically. Postgres advisory locks were simpler operationally for our small team. Failover behavior mattered more than raw latency in our case. We chose Postgres first, then moved hot paths to Redis later. Pick the lock store you can operate confidently at 3am.

130 views0 likes0 comments0 bookmarks
#queues#postgres#redis
Jamal Edwards
J
Read →
J
Read →
J
Read →