Nobody says it does. However, if I am solving big business problems and making enough to justify a private cook, why wouldn't I do that to optimize and focus on my area of expertise?
I don't want to be a code monkey. I want to talk to business people and come up with solutions. I don't care if LLM writes most of it or a junior dev...well I do LLM is better.
Ironic that the parent poster should use the phrase "code monkey" since most would likely agree being an "LLM prompt monkey" is an even lower rung on the ladder than that. The business people can surely find a LLM prompt monkey for much less salary than what a code monkey gets so I'm not sure anyone would want to embrace that future. In fact, if the AI gets good enough, the business people won't need the LLM prompters at all; they'll talk to the AI themselves.
Business people already talk to LLMs, and people who know how to code hate it.
I haven't written single line of code since Dec but I've been putting a lot of focus into systems design and making sure I understand how all the pieces of our system work together even if I don't know how the individual parts work.
The amount of times I hear my (fairly technical, mind you!) boss say "why can't we do X, Claude says it's simple" is pretty baffling, and my coworkers and him will have hours long debates about it.
The issue is that the business problem you're solving is the problem of producing food. Why should you be kept around as the middleman, instead of hiring the chef directly?
No it hasn’t, middle managers are the ones telling everyone below them to use AI as much as possible, even if it makes no sense and screws things up. AI is a middle manager’s dream.
Yes, this is what I meant. There hasn't been much news on it for some reason, but in Microsoft at least they're getting pushed out of their role, either to some more direct role, or out.
I'm sorry to say but the business people don't want to talk to you, they want to replace you, that's what the LLM is for as far as they're concerned. Currently you're just filling the role of beta testing that replacement. The fact that you're so happy to throw away your fellow devs in the hopes of getting in bed with those people just makes this whole situation quite sad.
Maybe just get an MBA or something, I doubt its any safer from LLMs but thats clearly what you want to be doing
You can learn to run a restaurant without learning how to cook. That's part of the grief, fewer cooks and more restaurant managers. Some people like being cooks.
The ironic thing is the head chefs of restaurants do almost no cooking. They order around the sous chef, who orders around the kitchen staff, while being focused on the big picture.
In case you've never seen it before, you can watch how a burger's made (in case of LLMs anyway) and eventually replicate it. You can also inspect the recipe after the fact to learn.
But if I have to intervene at every fricking point along the way from frozen patty to cooked burger, if I have to tell the worker not to drop the patty on the floor and continue cooking it, which dials to turn on which machines, how long to leave the thing cooking at this stage, if I have to have the holistic knowledge (if not the details of the PID loop for the heating element), then it's a lot more than "calling for a burger".
"I" wrote a compiler with help from Claude - it's not the first compiler I've written, probably won't be the last, but it's a damn sight easier to tell the machine to implement LICM or to specify the requirements of the SSA invariants rather than actually do it myself.
Here’s the full and complete source of a GPU-powered Mandelbrot program:
#use "Stdio.xc"
#use "Par.xc"
#import "../src/include/bench_time.xc"
#define W 2048
#define SIZE (W * W)
i32 main(void)
{
// Eight runs: the first carries one-off costs (a GPU builds its kernel
// then), so the figure is the best run; the first is printed too. Auto
// decides after its fourth (two on each device), and uses the rest.
u32 total = 0;
i64 best = 0;
i64 first = 0;
for (u32 rep in 0..8)
{
total = 0;
i64 t0 = bench_now_us();
par mandel :reduce(+ total)
{
for (u32 i in 0..SIZE)
{
float cx = (float)(i % W) * (3.0f / 2048.0f) - 2.0f;
float cy = (float)(i / W) * (3.0f / 2048.0f) - 1.5f;
float x = 0.0f;
float y = 0.0f;
u32 k = 0;
while (k < 256 && x * x + y * y < 4.0f)
{
float xt = x * x - y * y + cx;
y = 2.0f * x * y + cy;
x = xt;
k = k + 1;
}
total = total + k;
}
}
i64 t1 = bench_now_us();
if (rep == 0)
first = t1 - t0;
if (rep == 0 || t1 - t0 < best)
best = t1 - t0;
}
printf("%u %lld %lld\n", (total + 500000) / 1000000, best, first);
return 0;
}
Just one line in that source code is what turns it from a bog-standard C-like program into a GPU kernel, automatically tracked, scheduled, and all data hazards transparently managed.
On my M4 max, that one line of code takes it from 481ms to 1.6ms. All ‘par’ does is say “this next block of code, call it “mandel”, is data-parallel, and for the ‘total’ variable all execution units should combine their output to that variable using +
No huge GPU boilerplate, no stream management for data transport from cpu to gpu and back, no memory barriers, no hassle. Just “hey, do this on the gpu”.
GPU blocks are bound at runtime using the best design for the hardware on the machine, obtained by measuring it (if it hasn’t been measured before). If it has, the cache is read. The user can always override, which is why ‘par’ blocks can be named.
One of the nice things about that is that if you find the bit you want to accelerate is too small to be useful, say the data-transport outweighs the computational speedup, (a) the runtime computer will figure that out and (b) you can hoist more code into the GPU if that's an option, to give it more work to do. The language is the same for both CPU and GPU so it's transparent...
The other thing is that the compiler will produce MSL, PTX for nvidia, SPIR-V and WGSL versions of the 'par' block, and since it's bound at runtime, you get support for pretty much everything.
What I'm looking at right now is multi-GPU systems. Consider a GPU to be a 'worker thread', and for each thread overlay the time spent uploading work units, the time spent computing, and the time spent downloading work results to the host. Now on Windows you only get 1 asynchronous copy engine for "consumer" GPUs like RTX {3|4|5}0x0 so there are limits, but MSL lets you have more I think and I haven't looked at AMD GPUs yet.
The thing that most people latch onto is the speed upgrade (419ms -> 1.6ms) but the real story here is the simplicity - using any dedicated language (CUDA, MSL, ...) you write a load of boilerplate and you have to worry about data hazards etc. I think of this as similar to when Apple introduced ARC (Automatic Reference Counting) - prior to that, engineers were constantly having to manage their memory manually, and there cough were a lot of errors. ARC changed the game, and I think xc is "ARC for GPUs".
Nobody says it does. However, if I am solving big business problems and making enough to justify a private cook, why wouldn't I do that to optimize and focus on my area of expertise?
I don't want to be a code monkey. I want to talk to business people and come up with solutions. I don't care if LLM writes most of it or a junior dev...well I do LLM is better.
Ironic that the parent poster should use the phrase "code monkey" since most would likely agree being an "LLM prompt monkey" is an even lower rung on the ladder than that. The business people can surely find a LLM prompt monkey for much less salary than what a code monkey gets so I'm not sure anyone would want to embrace that future. In fact, if the AI gets good enough, the business people won't need the LLM prompters at all; they'll talk to the AI themselves.
Business people already talk to LLMs, and people who know how to code hate it.
I haven't written single line of code since Dec but I've been putting a lot of focus into systems design and making sure I understand how all the pieces of our system work together even if I don't know how the individual parts work.
The amount of times I hear my (fairly technical, mind you!) boss say "why can't we do X, Claude says it's simple" is pretty baffling, and my coworkers and him will have hours long debates about it.
This goes along in the hall of fame with the "how hard can it be", Turns out, if you want to do it right, more often than not, very hard.
From the way you're writing, you'll fit right in with the 'business people' since they dont have any clue half the time either.
The issue is that the business problem you're solving is the problem of producing food. Why should you be kept around as the middleman, instead of hiring the chef directly?
The same reason middle management is still around today.
AI has been a catastrophe for middle management jobs though
No it hasn’t, middle managers are the ones telling everyone below them to use AI as much as possible, even if it makes no sense and screws things up. AI is a middle manager’s dream.
Middle management is being flattened. If you have better metrics, it's easier to phase out certain levels of management.
https://www.fastcompany.com/91601567/the-great-flattening-ro... https://www.cnbc.com/2025/08/27/google-executive-says-compan... https://finance.yahoo.com/news/amazon-ceo-says-cutting-middl...
Yes, this is what I meant. There hasn't been much news on it for some reason, but in Microsoft at least they're getting pushed out of their role, either to some more direct role, or out.
Middle managers are being told by upper management to force the use of AI, or get fired.
> and come up with solutions.
Why? Can't the business people talk to LLMs and have it come up with solutions?
Because it is not that easy. I used LLMs daily, I still need to write code and debug.
My boss has his own work to do.
Sure, many do and fail. I wonder why?
Seems like the LLM has already impacted your reading comprehension. We're talking about learning here, not the overall value of LLMs.
I'm sorry to say but the business people don't want to talk to you, they want to replace you, that's what the LLM is for as far as they're concerned. Currently you're just filling the role of beta testing that replacement. The fact that you're so happy to throw away your fellow devs in the hopes of getting in bed with those people just makes this whole situation quite sad.
Maybe just get an MBA or something, I doubt its any safer from LLMs but thats clearly what you want to be doing
However, if I am solving big business problems and making enough to justify a private cook,
With the private cook, you're not cooking. If you "vibe", code, you're not coding.
And code review isn't coding, any more than a coach giving hints to an athlete, is an athlete.
You can learn to run a restaurant without learning how to cook. That's part of the grief, fewer cooks and more restaurant managers. Some people like being cooks.
The ironic thing is the head chefs of restaurants do almost no cooking. They order around the sous chef, who orders around the kitchen staff, while being focused on the big picture.
In case you've never seen it before, you can watch how a burger's made (in case of LLMs anyway) and eventually replicate it. You can also inspect the recipe after the fact to learn.
No it doesn't
But if I have to intervene at every fricking point along the way from frozen patty to cooked burger, if I have to tell the worker not to drop the patty on the floor and continue cooking it, which dials to turn on which machines, how long to leave the thing cooking at this stage, if I have to have the holistic knowledge (if not the details of the PID loop for the heating element), then it's a lot more than "calling for a burger".
"I" wrote a compiler with help from Claude - it's not the first compiler I've written, probably won't be the last, but it's a damn sight easier to tell the machine to implement LICM or to specify the requirements of the SSA invariants rather than actually do it myself.
Here’s the full and complete source of a GPU-powered Mandelbrot program:
Just one line in that source code is what turns it from a bog-standard C-like program into a GPU kernel, automatically tracked, scheduled, and all data hazards transparently managed.On my M4 max, that one line of code takes it from 481ms to 1.6ms. All ‘par’ does is say “this next block of code, call it “mandel”, is data-parallel, and for the ‘total’ variable all execution units should combine their output to that variable using +
No huge GPU boilerplate, no stream management for data transport from cpu to gpu and back, no memory barriers, no hassle. Just “hey, do this on the gpu”.
GPU blocks are bound at runtime using the best design for the hardware on the machine, obtained by measuring it (if it hasn’t been measured before). If it has, the cache is read. The user can always override, which is why ‘par’ blocks can be named.
One of the nice things about that is that if you find the bit you want to accelerate is too small to be useful, say the data-transport outweighs the computational speedup, (a) the runtime computer will figure that out and (b) you can hoist more code into the GPU if that's an option, to give it more work to do. The language is the same for both CPU and GPU so it's transparent...
The other thing is that the compiler will produce MSL, PTX for nvidia, SPIR-V and WGSL versions of the 'par' block, and since it's bound at runtime, you get support for pretty much everything.
What I'm looking at right now is multi-GPU systems. Consider a GPU to be a 'worker thread', and for each thread overlay the time spent uploading work units, the time spent computing, and the time spent downloading work results to the host. Now on Windows you only get 1 asynchronous copy engine for "consumer" GPUs like RTX {3|4|5}0x0 so there are limits, but MSL lets you have more I think and I haven't looked at AMD GPUs yet.
The thing that most people latch onto is the speed upgrade (419ms -> 1.6ms) but the real story here is the simplicity - using any dedicated language (CUDA, MSL, ...) you write a load of boilerplate and you have to worry about data hazards etc. I think of this as similar to when Apple introduced ARC (Automatic Reference Counting) - prior to that, engineers were constantly having to manage their memory manually, and there cough were a lot of errors. ARC changed the game, and I think xc is "ARC for GPUs".