Should we as developers put more effort into defending our craft? The movements in the artistic space with AI were very widespread and vocal, but we developers seem not to care. I feel like developers in general are a bit more quiet and timid with things and it leads to companies or entire industries taking advantage of us.
Am I the only one who feels like developers really need to be a bit more vocal in defending themselves, their craft, and even their sanity? Are we quiet because of the large salaries in the space?
I suppose the biggest question is how do you defend the craft but at the same time keep the advantage of automation and AI? (is it unions?)
Right now the sales pitch is "magical machine spits out any code you can imagine and it will all just work". This isn't the case now and I doubt it will be the case in the future.
It will get really good and make things faster and more easily, but you will still need to know how to use it to be effective and you will still need to understand the underlying tech to be the most effective.
It's like carpentry and powertools. Carpenters and slap together a whole house in a day, a big part being due to power tools. There are still carpenters who are all about the craft and traditional ways and they make amazing pieces of furniture and there are those who need to build houses, fast. Finally there are those who dip into carpentry and realise that it is a whole lot of new knowledge and a degree of understanding that was invisible to them before trying.
If you don't know what you're doing a power tool won't make you a great carpenter.
Depends on your motive. I enjoy the "art" of programming, but I enjoy even more using it to build cool stuff, make companies happy, start side projects or even businesses.
I've not seen any indication an AI legitimately replacing software engineering, rather enhancing it perhaps resulting in the need for fewer engineers for the same work. Even as an engineer that's a huge win.
The role is less coding, more engineering. I suppose if the "craft" is the coding part, you're right it may need defending, but to me that's not the craft
Code doesn't really have the same 'human touch' the way art does. We've spent the past 20 years making libraries, higher level languages, UI frameworks, etc to make development faster. If there's any 'human touch' it's a lot higher level than just the lines of code. Art has mostly been the same for a very long time. Especially painting/drawing. For most people it's a passion and creative outlet. From what I've seen (some) AI investors say so far, they want to replace that creativity.
I don’t feel threatened by it, and I haven’t seen anything that warrants this reaction. Putting code into files is trivial entry-level stuff. Let me know when an automation flawlessly (as in 100% accuracy), consistently (not just once), and with truly arbitrary requests (not cherry-picked) pulls off systemic refactors and feature additions to one or more massive codebases full of poorly written, non-standard garbage. For the record, I find today’s AI tools useful, but they do not at all threaten my livelihood.
>Should we as developers put more effort into defending our craft?
No.
Nobody worried about optimizing compliers taking the jobs of assembly programmers.
Tools make us able to do _more_ not less. This is just one more. And it happens to be pretty good at doing obvious boring things that have been done a million times which most of us don't want to do anyway.
Like recently I needed to design a nice html error page, I don't have a designer to go to, and it wasn't really a big enough deal for that kind of thing anyway. Instead of having to dust off a bunch of web design skills and spend a long time figuring out fiddly little style sheet things... or just doing a terrible job... I asked AI to do it. 90% of the work was done in 10 seconds, then I spent 5 minutes polishing it. If I did it myself it would either have been a couple of hours to get something as nice or for the same 5 minutes I could have done a shit job. Nobody lost work because of AI that day, I was just able to do more important things than make an internal developer-facing error page look nice.
No, as except for an elite artistic few, the defenders of unproductive ways or even those who refuse to aggressively upskill, end up poor with few prospects.
This is especially true in an industry where anyone can jump in (unless we want to lock computers behind licences).
I want the high salary to continue, so I will move where the tools take me. AI let’s me generate a ton more features in the same amount of time.
Quite a few responses to your questions based on current state of AI.
Firstly, this is never going backwards. It will only get more capable. There will likely be algo changes that unlock new capabilities over time. There are definitely areas that humans have the advantage but this is similar to the “god of the gaps” concept in that the area where people have an advantage will reduce over time.
There’s currently no real understanding in the model and it’s really amazing what we can do with hyper-autocomplete. Humans made that happen. We’re the ones doing the innovation.
We’ve long been in the business of automating jobs away. This time it’s our own.
For the foreseeable future, get good at leveraging it and stay current.
(Intuition: AI is also good at the business layers. It can probably produce better specs than many (not all) people paid to do it. It can generate ideas and communicate them in many formats. It’s super confident, so could easily be a consultant. I don’t think the business analysts and strategy people should be too confident.)
I am not a developer, but AI helps me to translate my thoughts more fluidly to real world things. I am learning a lot about development but it allows me to think openly and vaguely into the GPT and iterate to my intent and goal. I love it. Embrace it and find out how it can make a clone of you so you can have an harem of AI alts that @rcconf(N) can be thrown at a particular problem of your choosing.
Imagine having a bunch of them as a bot swarm of AIs that you can have an orchestration layer upon which itself is one of them tuned to manage them.
"In Lak'ech" Mayan: I am another yourself.
That will be great.
Also when you can adopt expert personas from others that are personal AGI lego.
I think a crucial difference here is that images are (slightly) more defensible.
There are still some tells that indicate an image was AI created. It's enough to mark them as AI and discourage brands from using them, after pushback. At this point, the human difference is noticeable.
This isn't the case for code. No one can tell the difference between AI and human-generated code, not at the point at which users access it. And since there isn't there really isn't much to 'fight.'
The best defense is to keep improving as programmers. By constantly refining our skills and learning new technologies we maintain our relevanse and value. AI and automation are tools that can enhance our work, not replace it.
The difference between AI art and AI code is that the latter can never be used for anything more than prototypes for someone who doesn't know how to code. For people who know how to code it becomes a super power.
If AI is building better software why stop it? If it's not, what's the threat? What's to defend? Our right to build worse software? Prevent people from using tools as they see fit? What's course of action would you take?
that's not how it works in Capitalism. You don't tell people not to do things, nor that they are doing things wrong and only you know better. People are going to employ AI and it will be proven more useful than human devs, or not. Best defense is showing your value to customers.
Personally, I don't find "craft"/"art form" to be the best way to think about technology either. Scientists don't think what they are doing is art (I think), so why should engineers think like that.
One of the biggest challenges I've encountered so far while working on my SvelteKit with Svelte 5 codebase is that all frontier models struggle to understand differences between major versions of languages and frameworks, leading to a lot of annoying hallucinations. They're fantastic at writing code, but the last mile of figuring out how to fix issues for incorrect APIs or syntax becomes very tedious.
This is an enormous footgun that makes AI absolutely impossible to use in Godot. You get a ton of Godot 3 code output which really doesn’t resemble Godot 4 code at all, despite having the same name.
I work around that (with limited success) by prepending the latest docs (migration guides, how-tos) into the conversation. gpt-4o picks that up perfectly
That's because they don't "understand" any of it. I think the interesting space here is in getting the machinery around the model to correct the output before returning it to users, which is the sort of space I'm assuming this app plays it.
I asked for an 'interactive particle simulation' and got a big gray rectangle. Then I clicked regenerate and the page crashed.
To me it's not clear how I would debug the component, I can ask for modifications but not like add log statements, inspect variables, and give feedback on errors.
Code LLM tools are more defensible when they work only by training on documentation and public domain code of the languages and frameworks.
But they tend to have also been trained on code under copyright, without license to do so.
Some code LLM tools vendors have had to put in 'safeguards', to try to avoid further embarrassing evidence of outright copying. That doesn't mean that they're not still often passing through obfuscated copying.
In real life, when someone is caught plagiarizing, such as copying a paragraph from a published work, and changing some words to fit, it's a career-ending scandal.
And other times, in a grayer area, of mechanical mashing up of multiple works, with the intent of "take these multiple copyrighted works, and mechanically combine them to my needs, in a way that's hard to explain to a judge, and forget about all the copyrights, so I can claim copyright". (Hey, if merely saying "it's an app" can smokescreen an illegal taxi service, hotel service, or rental price-fixing, just think how effective a shield even matrix multiplication is.)
In software, copying code without license, or being tainted by exposure to code when you're supposed to "cleanroom" it, are both already considered illegal or shady.
A lot of the current enthusiasm around generative AI feels a bit like the popularity of media piracy -- many people know, or have a nagging suspicion, that it's against norms or laws, but it's just so appealing, and everyone around you is doing it.
It also has the dynamic of the many exploiting the relative few creators, in a way that wasn't part of the social contract or laws, and which the creator doesn't want, but the many can simply take.
Especially when the many are armed and cheered on, by tool vendors, many of whom should know exactly what they're doing, but who want to win big from this nonconsensual exploitation of the works of others.
And, as the former head of Google recently advised at Stanford, just take it, get big money, and pay lawyers later.
I'm not having much success with this beyond very basic components. I think I'd have more success iteratively working with ChatGPT or Claude directly, and then pasting the code into jsfiddle, pastebin, or replit to see the results and iterate.
I understand your point, iterating with ChatGPT or Claude can be a great approach for many cases. Our focus with Webcrumbs is to speed up front-end component creation, especially for those looking for a quicker, more direct solution. But of course, there's always room for improvement! If you have specific suggestions, I'd be happy to hear them.
Can you tell what is different from Claude Sonnet besides some frontend help? Can you tell a bit more about the stack / tech if it's more than just getting some LLM (gpt/clause) to come up with pages and rendering them?
Frontend-AI goes beyond just utilizing a standard LLM like GPT or Claude. While these models are powerful for generating content, our tool is specifically designed to streamline front-end development by providing specialized support for frameworks like React, Angular, Svelte, Vue, and CSS.
This works better than I expected. Orient your front page to give a less vague and more detailed example, because specific results are excellent. I am discouraged by the overuse of rounded corners, but encouraged by the correctly equalized white space and “in sample” choice of font sizes, paddings, etc. It does things well that programmers do poorly.
IMO the document layout folks and people building on top of that like at least 1 YC startup have a more promising path forward for whole-cloth complex component representations versus LLMs with robust prompts but no fine tuning.
I've been using AI models to do frontend design and candidly this doesn't hold a candle to just working directly with the base models.
With the base models you can ask: Hey, make me 5 designs that fit xyz requirements and it will go to work. If you already know front end design, you can take that up a level and pass it an emmet abbreviation of the rough code you want and say only use tailwind colors of sky, zinc, and blue.
I am decidedly not your audience, but if anyone on HN is thinking about how to speed up frontend dev and they are a frontend dev, I'd suggest just messing with the base models more.
Once you get the hang of it, it can be like working with a designer who's feelings don't get hurt... which I love.
"Meh, I don't like those designs, generate me 5 more and feel free to increase the model's temperature up quite a bit to see if you can come up with something cool."
how hard would it be have a Phoenix .html.heex mode instead of your typical react/angular? .html.heex is really just plain old HTML with tailwind css classes. I could easily copy and paste your generated UIs into my views and play around there! thanks!
Well. I guess the demo doesn’t work for react components even when prompted for them? Overall the output seemed best for static demo showcasing, it was all HTML
The goal of Frontend-AI isn't to fully automate the process, but rather to save you time by generating a strong starting point. As the code becomes more complex, it might require some refactoring, so developers still need to put in effort to refine and enhance it.
Consider it an improved version of auto complete in your IDE. It helps type pieces of code faster, it doesn't do any of the thinking involved in building a software product.
rcconf|1 year ago
Am I the only one who feels like developers really need to be a bit more vocal in defending themselves, their craft, and even their sanity? Are we quiet because of the large salaries in the space?
I suppose the biggest question is how do you defend the craft but at the same time keep the advantage of automation and AI? (is it unions?)
ActionHank|1 year ago
Right now the sales pitch is "magical machine spits out any code you can imagine and it will all just work". This isn't the case now and I doubt it will be the case in the future.
It will get really good and make things faster and more easily, but you will still need to know how to use it to be effective and you will still need to understand the underlying tech to be the most effective.
It's like carpentry and powertools. Carpenters and slap together a whole house in a day, a big part being due to power tools. There are still carpenters who are all about the craft and traditional ways and they make amazing pieces of furniture and there are those who need to build houses, fast. Finally there are those who dip into carpentry and realise that it is a whole lot of new knowledge and a degree of understanding that was invisible to them before trying.
If you don't know what you're doing a power tool won't make you a great carpenter.
willsmith72|1 year ago
I've not seen any indication an AI legitimately replacing software engineering, rather enhancing it perhaps resulting in the need for fewer engineers for the same work. Even as an engineer that's a huge win.
The role is less coding, more engineering. I suppose if the "craft" is the coding part, you're right it may need defending, but to me that's not the craft
cheema33|1 year ago
Fight against AI tools? You are not likely to win that battle.
Horse carriage manufacturers would not have stopped car makers, regardless of how hard they tried or unionized. You have to adapt.
petabyt|1 year ago
corytheboyd|1 year ago
colechristensen|1 year ago
No.
Nobody worried about optimizing compliers taking the jobs of assembly programmers.
Tools make us able to do _more_ not less. This is just one more. And it happens to be pretty good at doing obvious boring things that have been done a million times which most of us don't want to do anyway.
Like recently I needed to design a nice html error page, I don't have a designer to go to, and it wasn't really a big enough deal for that kind of thing anyway. Instead of having to dust off a bunch of web design skills and spend a long time figuring out fiddly little style sheet things... or just doing a terrible job... I asked AI to do it. 90% of the work was done in 10 seconds, then I spent 5 minutes polishing it. If I did it myself it would either have been a couple of hours to get something as nice or for the same 5 minutes I could have done a shit job. Nobody lost work because of AI that day, I was just able to do more important things than make an internal developer-facing error page look nice.
kabes|1 year ago
1. It's a fight you can't win
2. It might allow me to finally build the ideas I have. I have better things to do than striking a keyboard all day.
I can't wait for AI to replace me.
MattGaiser|1 year ago
This is especially true in an industry where anyone can jump in (unless we want to lock computers behind licences).
I want the high salary to continue, so I will move where the tools take me. AI let’s me generate a ton more features in the same amount of time.
richardw|1 year ago
Firstly, this is never going backwards. It will only get more capable. There will likely be algo changes that unlock new capabilities over time. There are definitely areas that humans have the advantage but this is similar to the “god of the gaps” concept in that the area where people have an advantage will reduce over time.
There’s currently no real understanding in the model and it’s really amazing what we can do with hyper-autocomplete. Humans made that happen. We’re the ones doing the innovation.
We’ve long been in the business of automating jobs away. This time it’s our own.
For the foreseeable future, get good at leveraging it and stay current.
(Intuition: AI is also good at the business layers. It can probably produce better specs than many (not all) people paid to do it. It can generate ideas and communicate them in many formats. It’s super confident, so could easily be a consultant. I don’t think the business analysts and strategy people should be too confident.)
samstave|1 year ago
Imagine having a bunch of them as a bot swarm of AIs that you can have an orchestration layer upon which itself is one of them tuned to manage them.
"In Lak'ech" Mayan: I am another yourself.
That will be great.
Also when you can adopt expert personas from others that are personal AGI lego.
julianeon|1 year ago
There are still some tells that indicate an image was AI created. It's enough to mark them as AI and discourage brands from using them, after pushback. At this point, the human difference is noticeable.
This isn't the case for code. No one can tell the difference between AI and human-generated code, not at the point at which users access it. And since there isn't there really isn't much to 'fight.'
BurningFrog|1 year ago
llama_drama|1 year ago
Kiro|1 year ago
Retr0id|1 year ago
I've yet to personally benefit from AI in any of my workflows, in any meaningful capacity, but I wouldn't complain if that changed.
bongodongobob|1 year ago
nsonha|1 year ago
Personally, I don't find "craft"/"art form" to be the best way to think about technology either. Scientists don't think what they are doing is art (I think), so why should engineers think like that.
gmaster1440|1 year ago
One of the biggest challenges I've encountered so far while working on my SvelteKit with Svelte 5 codebase is that all frontier models struggle to understand differences between major versions of languages and frameworks, leading to a lot of annoying hallucinations. They're fantastic at writing code, but the last mile of figuring out how to fix issues for incorrect APIs or syntax becomes very tedious.
pennomi|1 year ago
eurekin|1 year ago
segfaltnh|1 year ago
yawnxyz|1 year ago
pants2|1 year ago
To me it's not clear how I would debug the component, I can ask for modifications but not like add log statements, inspect variables, and give feedback on errors.
rubicon33|1 year ago
neilv|1 year ago
But they tend to have also been trained on code under copyright, without license to do so.
Some code LLM tools vendors have had to put in 'safeguards', to try to avoid further embarrassing evidence of outright copying. That doesn't mean that they're not still often passing through obfuscated copying.
In real life, when someone is caught plagiarizing, such as copying a paragraph from a published work, and changing some words to fit, it's a career-ending scandal.
And other times, in a grayer area, of mechanical mashing up of multiple works, with the intent of "take these multiple copyrighted works, and mechanically combine them to my needs, in a way that's hard to explain to a judge, and forget about all the copyrights, so I can claim copyright". (Hey, if merely saying "it's an app" can smokescreen an illegal taxi service, hotel service, or rental price-fixing, just think how effective a shield even matrix multiplication is.)
In software, copying code without license, or being tainted by exposure to code when you're supposed to "cleanroom" it, are both already considered illegal or shady.
A lot of the current enthusiasm around generative AI feels a bit like the popularity of media piracy -- many people know, or have a nagging suspicion, that it's against norms or laws, but it's just so appealing, and everyone around you is doing it.
It also has the dynamic of the many exploiting the relative few creators, in a way that wasn't part of the social contract or laws, and which the creator doesn't want, but the many can simply take.
Especially when the many are armed and cheered on, by tool vendors, many of whom should know exactly what they're doing, but who want to win big from this nonconsensual exploitation of the works of others.
And, as the former head of Google recently advised at Stanford, just take it, get big money, and pay lawyers later.
skapadia|1 year ago
m4rcxs|1 year ago
rd|1 year ago
It is incredible, and it genuinely feels like magic when it comes to codebase context.
ggregoire|1 year ago
causal|1 year ago
That said, this particular tool seems like it's trying to be very hand-holdy, maybe not targeting developers?
For developers Claude Dev seems like a more functional equivalent: https://github.com/saoudrizwan/claude-dev
nickreese|1 year ago
dangsux|1 year ago
[deleted]
anonzzzies|1 year ago
m4rcxs|1 year ago
doctorpangloss|1 year ago
IMO the document layout folks and people building on top of that like at least 1 YC startup have a more promising path forward for whole-cloth complex component representations versus LLMs with robust prompts but no fine tuning.
nickreese|1 year ago
With the base models you can ask: Hey, make me 5 designs that fit xyz requirements and it will go to work. If you already know front end design, you can take that up a level and pass it an emmet abbreviation of the rough code you want and say only use tailwind colors of sky, zinc, and blue.
I am decidedly not your audience, but if anyone on HN is thinking about how to speed up frontend dev and they are a frontend dev, I'd suggest just messing with the base models more.
Once you get the hang of it, it can be like working with a designer who's feelings don't get hurt... which I love.
"Meh, I don't like those designs, generate me 5 more and feel free to increase the model's temperature up quite a bit to see if you can come up with something cool."
runnr_az|1 year ago
sergiotapia|1 year ago
heyjmac|1 year ago
foreigner|1 year ago
heyjmac|1 year ago
compacct27|1 year ago
heyjmac|1 year ago
amsheehan|1 year ago
dboreham|1 year ago
dangsux|1 year ago
[deleted]
mgaunard|1 year ago
lasermike026|1 year ago
algem|1 year ago
m4rcxs|1 year ago
t0mas88|1 year ago