janussunaj
Joined 3 years ago
Joined 3 years ago
No offense, but that says much more about the way you approach programming than about the quality of LLM outputs.
In my experience, LLMs are the ultimate corner-cutting tool. With LLMs, I now succumb to the temptation to cut corners, build something I haven't properly researched and don't fully understand, prioritize shipping quantity over quality.
Without LLMs, I have to understand the domain and the tools and ultimately my full solution (with all its warts and limitations). When I really care about the project and consider it "my baby", LLMs are out of the picture.
The rest of big tech isn't much better. Big G is less stressful, but you'll see vicious and cringey behavior left and right. Hyped large startups are cults and 100% cringe. Meta is kind of the worst of both worlds though. "But they pay so well". Yeah, also: life is short.
Even a mediocre chatbot with some in-domain training data is fine for their purpose, which is not to maximally help the customer.
Meanwhile, they're distracting the public away from the real issues, which are the same as always: filling the web with more garbage, getting people to buy stuff, decreasing attention spans and critical thinking.
The threat of job loss is also real, though we should admit that many of the writing jobs eliminated by LLMs are part of the same attention economy.
Another thing you can do in parallel is reaching out to other friends/acquaintances you might have lost touch with. Tell them honestly what you appreciate about them and that you'd like to revive the friendship.
In both cases you'll feel awkward and uncertain. It's normal. Also, don't expect any single relationship to fulfill your unmet needs. But making yourself vulnerable to others is the beginning of "working through it yourself".
My complaints with FAANG have to do with perverse incentives that reward nonsensical decisions, poorly thought-out and over-engineered projects, grandiose documents, duplication of work, selective reporting of metrics, etc.
The few times I had a really good manager, a sane environment, and fulfilling work only lasted until the next reorg. It seems like most organizations are either stressful with a lot of adversarial behavior, or have almost nothing to do but depressing busywork. I also find the social aspect lackluster if not downright alienating. I feel at a dead end both in career growth and opportunities to learn on the technical side. I could roll the dice with another team change, but I'm not eager at the prospects.
Most of my work experience is in ML, but I don't want to box myself into that. I find the current hype around generative models insufferable, and the typical ML project today consists of somewhat sloppy Python and a lack of good engineering practices. I'm also tired of the increasingly long and opaque feedback loops (come up with an idea, wait for your giant model to retrain, hope that some metric goes up). I'm still passionate about some aspects (e.g., learning representations, knowledge grounding, sane ML workflows).
I hear that academia has similar issues (though again I mostly know about ML), and I imagine lots of industries have worse conditions than tech. I realize that sloppiness and politics are a fact of life, so I'm wary of falling into the "grass is greener" trap.
However, I completely disagree with your characterization of LLM coding as saving you "typing in the code and sweating over every line of syntax".
Claude will happily architect complex layers of OOP, multithreading, SIMD (a "personal favorite" of both Claude and ChatGPT).
If you don't immerse yourself in the details, you will never know if you made the correct engineering trade-offs, let alone whether the various "optimizations" and clever solutions by the LLM actually work.
I think you're referring more to product strategy trade-offs than engineering trade-offs here; so yeah, getting something you don't understand out the door is often the fastest path to sales. This is also how we get so much low quality and unnecessary software out there (it was true before LLM coding, just amplified now).
I think a reasonable tradeoff, in theory, would be: use the LLM to help you explore the space of solution, then dive into the details and choose the path that feels right. However, I highly doubt most people do that. It's also easy to let the LLM's first solution influence your understanding of the problem, so that you will never truly explore novel solutions that fall outside of the most likely token sequence prediction.
Oh and LLMs when properly constrained can also do pretty good "auto-complete on steroids", which can definitely save you typing a lot of boilerplate. If that's how you use them, then your characterization is correct.