Oh, you're writing CUDA kernels? Everyone's on Triton now. Just kidding, we're all on Mojo. We're using cuTile. We're using ROCm. We have an in-house DSL compiler targeting the NVGPU MLIR dialect but wait, Tile IR just dropped so we're going to target that instead. Our PM is on TileLang. The team lead was on CuTe but now she's back to handwriting PTX. If you're not on Pallas, you're ngmi. Our intern is building on TT-Metalium for our Wormholes. Our CFO approved an order for some big chungus wafer-scale chips so now we're porting our kernels to CSL. Our CTO is working on a kernel-less graph compiler so we won't need to write kernels anymore. Our CEO thinks we're talking about the Linux kernel. We're building Claude for dogs.
A 2024 blog post from Andrew Kelley (the Zig BDFL) titled "Why We Can't Have Nice Software". I'm more optimistic about the potential of LLMs but I find this thought provoking and funny.
https://t.co/VZmailtwK2
@statusfailed That's true, we should be ready to reinvent ourselves. Life is (hopefully) long so we should expect it to happen at least a few times. :-)
Kinda broad question, but what "abstract principles" do you identify with?
Every now and then, I'll see a comment on here talking about programming languages in a weirdly tribal way, as if they are religious groups.
I think it's a mistake to let a programming language become part of your identity as a software engineer (unless you work on the language itself). These things fall in and out of favour and, over your lifetime, you'll likely work with a number of different languages and tools. At this point, I'd happily take an Ada job if I think the work is cool.
If you're going to identify with anything as a programmer, I think it's better to choose a domain rather than a tool. Be a security expert, a compiler engineer, a database specialist, but don't be a "C/C++/Rust guy".