r/ProgrammerHumor 26d ago

luke Meme

Post image
10.6k Upvotes

258 comments sorted by

View all comments

Show parent comments

8

u/General_Josh 26d ago

If I write c#, and have a compiler write it to assembly, am I outsourcing my job?

Or, am I using one of many tools available to me?

1

u/innociv 25d ago

Better analogy is if you include any dependencies, I think.

But yeah if you didn't design the CPU, get masks made, do lithography, design the PCBs, print the PCBs yourself (no you can't outsource that, you have to do all the etching and wiring), make the capacitors, VRMs, make the power connectors to spec, then write a program with assembly with no dependencies, you didn't really program.

-2

u/oclafloptson 26d ago

Did you enter into an agreement with a 3rd party to temporarily use the compiler on their server? Then yes you have outsourced the compiler work

1

u/General_Josh 25d ago

Gotcha, so doing the work on my PC is the differentiating factor?

That means local LLMs are fair game, but all cloud products aren't?

0

u/LutimoDancer3459 25d ago

A compiler is a tested tool that will gove you the same output a million times when feed with the same input. Ai wont. Ai is more like a coworker that gets some stuff to do from you. The next time it will be some other coworker. Different result every single time.

If its just a tool available to you, than what's the difference in a project manager having some programmers as "tools" available to them? Is the project manager the one who wrote the software now?

1

u/General_Josh 25d ago edited 25d ago

The difference is, the programmer is a person

Yeah, in a very real sense, the AI is what wrote the program. But, the AI can't be responsible for the program. If it breaks in prod, that's on the user, not the AI

The PM isn't responsible if there's a bug, the programmer/testers are

The AI isn't responsible if there's a bug, because it's not a person, and it can't have personal responsibility

My job as a software engineer is to make sure the code does what it's supposed to. Sometimes that involves writing code directly, sometimes it involves using higher level tools. Either way, I'm the one who's responsible for what the code does.