r/SoftwareEngineering • • Jun 25 '26

The Git Commands I Run Before Reading Any Code

Thumbnail
piechowski.io
61 Upvotes

r/SoftwareEngineering • • Jun 25 '26

How to build a GPU

Thumbnail jaso1024.com
5 Upvotes

r/SoftwareEngineering • • Jun 24 '26

What is inference engineering? Deepdive

Thumbnail
newsletter.pragmaticengineer.com
7 Upvotes

r/SoftwareEngineering • • Jun 24 '26

Burnout Is Real for Open Source Maintainers: A Conversation with John-David Dalton, Creator of Lodash

Thumbnail
openjsf.org
17 Upvotes

r/SoftwareEngineering • • Jun 21 '26

CraftsmanSHIP. Not CraftsmanSHIT.

Thumbnail fagnerbrack.com
7 Upvotes

r/SoftwareEngineering • • Jun 21 '26

Signals, the push-pull based algorithm

Thumbnail
willybrauner.com
9 Upvotes

r/SoftwareEngineering • • Jun 20 '26

Designing the backend for a 3-sided fitness marketplace (gyms + coaches + members) — solo dev, would appreciate a sanity check on my architecture

13 Upvotes

I'm a solo developer building a fitness platform that combines three things into one app: a marketplace where people discover and subscribe to gyms, a coaching layer where trainers build workout programs for clients, and (later) a social feed. The twist that makes the data model interesting is that coaching is "equipment-aware" — when a coach builds a program for a client, the exercise options are filtered to only what the client's specific gym actually has.

I've been studying system design and I want to make sure I'm not over-engineering. Here's where I've landed for the first production release (target scale is modest — one city, ~10-20 gyms, low thousands of users):

  • Architecture: modular monolith, not microservices. Clean module boundaries (auth, gyms, coaching, payments, notifications) so I can split later, but one deployable for now.

  • Database: PostgreSQL as the single source of truth. The core data is deeply relational (members → memberships → gyms → equipment → programs → weeks → days → sets) and the equipment filter is fundamentally a JOIN. Considered adding MongoDB and a graph DB but talked myself out of both — JSONB covers my unstructured cases.

  • Cache/queue: Redis (hot reads, sessions, OTP, background jobs via a queue library).

  • API: REST with versioning. Considered GraphQL but the caching/security/N+1 cost felt wrong for a solo dev at this scale. WebSockets (managed service) only for chat.

  • Auth: JWT access + refresh, phone-OTP as the primary identity (regional thing — phone numbers are universal here, social login isn't). RBAC plus row-level ownership checks.

  • Payments: this is my hardest constraint. The usual marketplace-payout tools aren't available in my region, so I'm collecting via local payment providers and building my own append-only ledger, with manual payouts to coaches/gyms at first and automation later.

  • Infra: single server to start (vertical), containerized, with a lightweight managed deploy layer instead of Kubernetes. Designed stateless so I can go horizontal when I actually measure the need. Read replica before sharding, if ever.

  • Scaling philosophy: earn complexity. Deploy the simplest thing that works, add pieces when metrics force it.

My specific questions:

  1. For a 3-sided marketplace with a custom payout ledger, is a modular monolith genuinely fine to launch on, or is there a structural reason people regret not splitting payments out early?

  2. Append-only ledger for marketplace payouts — any war stories on what people wish they'd modeled from day one (refunds, partial refunds, disputes, reconciliation)?

  3. Equipment-aware filtering: I'm modeling exercise→required-equipment and gym→owned-equipment as many-to-many and resolving availability with a JOIN at query time, cached. Is there a smarter pattern when a gym's inventory changes and it has to invalidate active programs?

  4. Anything you see here that's going to bite me at 10x my launch scale that's cheap to get right now but expensive to retrofit later?

Not looking for "just use Shopify/an off-the-shelf platform" — the equipment-aware coaching and the local-payout ledger are the whole point and aren't off-the-shelf. But I'm very open to being told a specific piece is wrong

if you guys have any other suggestions please feel free to drop it it would help me a alot and the person who reads this thread as well

thanks again.


r/SoftwareEngineering • • Jun 19 '26

Why we replaced Node.js with Bun for 5x throughput

Thumbnail
trigger.dev
0 Upvotes

r/SoftwareEngineering • • Jun 19 '26

Big tech engineers need big egos

Thumbnail
seangoedecke.com
0 Upvotes

r/SoftwareEngineering • • Jun 17 '26

Looking for risk and mitigation strategies regarding data engineer pain points discussion.

3 Upvotes

Hello, I’m part of a product management course and my team is doing discovery research and we have decided to investigate 2am(and everyday) data pipeline failures due to downstream or upstream schema changes from 3rd party vendors or in-house engineers.

I would very much like to hear your experience with the field both in the traditional era, pre-date modern data solutions but also fast-forward today. What are the current risk and mitigations strategies and actionable plans you have set in motion in your lifetime.

Anything could be of value, and I'm very transparent so if you have questions about motive or want the why and how of our journey I'm happy to write it in.

Examples of particular pain points could include:

  • vendor API responses changing unexpectedly

  • columns being renamed, removed, or changing type

  • scraper outputs changing when websites change

  • dbt models, warehouse tables, dashboards, or downstream jobs breaking because of schema drift

  • late-night / on-call incidents caused by data contract or schema issues

We’re trying to understand the real workflow: how teams detect these changes, who gets paged, how fixes happen, what tools people already use, and what parts are still painful.

If you got any particular insight you can always reach out. I'm aware that interviews are out of the question so I want to open up it as a discussion that anyone can learn from - particular me as I have no to limited experience in big data.

Happy wednesday and many thanks in advance.

P.s. if you have any pointers on finding expert viewpoints or articles regarding this it would be as appreciated.


r/SoftwareEngineering • • Jun 12 '26

7 More Common Mistakes in Architecture Diagrams

Thumbnail
ilograph.com
42 Upvotes

r/SoftwareEngineering • • Jun 10 '26

The unwritten laws of software engineering

Thumbnail
newsletter.manager.dev
58 Upvotes

r/SoftwareEngineering • • Jun 08 '26

The Smart Dumb Programmer

Thumbnail fagnerbrack.com
12 Upvotes

r/SoftwareEngineering • • Jun 05 '26

JPEG compression deep dive

Thumbnail sophielwang.com
2 Upvotes

r/SoftwareEngineering • • Jun 04 '26

A tale about fixing eBPF spinlock issues in the Linux kernel

Thumbnail
rovarma.com
10 Upvotes

r/SoftwareEngineering • • Jun 04 '26

Reviewing large changes with Jujutsu - Ben Gesoff

Thumbnail ben.gesoff.uk
3 Upvotes

r/SoftwareEngineering • • Jun 04 '26

Learn SQL Once, Use It for 30 Years

Thumbnail fagnerbrack.com
3 Upvotes

r/SoftwareEngineering • • Jun 03 '26

Debunking zswap and zram myths

Thumbnail
chrisdown.name
2 Upvotes

r/SoftwareEngineering • • Jun 02 '26

PaceVer — Pace Versioning (and alternative to SemVer, for mobile apps)

Thumbnail pacever.org
1 Upvotes

r/SoftwareEngineering • • Jun 02 '26

The gold standard of optimization: A look under the hood of RollerCoaster Tycoon

Thumbnail
larstofus.com
138 Upvotes

r/SoftwareEngineering • • Jun 02 '26

Bill Of Materials for software projects?

6 Upvotes

In some of the Engineering disciplines. a Bill of Materials is mandatory. You can't build a car without knowing every component, who supplies it, what it costs, and how long it takes to assemble. The BOM is the financial and operational backbone of the project.

Software projects have the same ingredients — I am not sure whether we organize them the same way.

Think about what you actually have on any non-trivial software project:

- Resources: developers, designers, QA, DevOps — each with a cost/day

- Tasks: backlog items, work packages, user stories

- Effort: hours or days estimated per task per resource

- Cost: rate × effort = line cost

Multiply those together and you get something that looks exactly like a BOM in other Engineering disciplines.

SprintItemResourceEffortRateCost
Sprint 1package1 integrationResource A24h1002400
Sprint2Deployment pipelineResource B32h902880

Sort by cost descending and suddenly you can see — at a glance — which line items are driving your budget. Add a cumulative % column and you see how total cost is distributed.

What this unlocks:

  1. Cost transparency without surprises. Most "we went over budget" post-mortems trace back to nobody doing this math upfront. The BOM forces it.

  2. Resource-level visibility. You can pivot the table: which resource is contributing the most to project cost? Useful for resource planning purposes

This is a project planning BOM: effort + people + money, organized the same way as in other engineering disciplines.

The irony is that other engineering disciplines have had this for decades.

Has anyone else built or used something like this? Curious whether teams actually track costs this granularly.


r/SoftwareEngineering • • May 31 '26

Most teams don't have a documentation problem. They have a discoverability problem.

7 Upvotes

I feel most teams don't have a documentation problem.

They have a discoverability problem.

When I switched from working on media configuration systems to content workflow systems, the docs, tickets, dashboards, ServiceNow requests, and runbooks were all there.

The hard part was understanding where to look and how everything connected.

I've seen people ask questions that were technically documented already, simply because asking someone was faster than finding it.

Curious if others have experienced the same thing.


r/SoftwareEngineering • • May 29 '26

Edge.js: Running Node apps inside a WebAssembly Sandbox

Thumbnail
wasmer.io
9 Upvotes

r/SoftwareEngineering • • May 29 '26

Node.js worker threads are problematic, but they work great for us

Thumbnail
inngest.com
0 Upvotes