673 karma · joined May 31, 2017
It can kickstart new projects to get over the blank page syndrome but after that there's still work, either prompting or fixing it yourself.
There are requirements-led approaches where you can try to stay in prompt mode as much as possible (like feeding spec to a junior dev) but there is a point where you just have to do things yourself.
Software development has never been about lines of code, it has always required a lot of back and forth discussion, decisions, digging into company/domain lore to get the background on stuff.
Reviewing AI code, and lots of it, is hard work - it can get stuff wrong when you least expect it ("I'll just stub out this authentication so it returns true and our test passes")
With all that in mind though, as someone who would pay other devs to do work I would be horrified if someone spent a week writing unit tests that I can clearly see an AI would generate in 30 seconds. There are some task that just make sense for AI to do now.
In the end it was a weekend hack to make something simpler that turned into an app release, which a year or so after that turned into a business.
Sometimes people have a great idea, build it and feel entitled to success with it, but it's largely about relevant eyeballs. If enough relevant eyeballs find your thing and use/buy it then it's a success. It's quite easy to launch something that gets lots of views on launch, but there has to be a reason to come back (sticky apps/content).
I've also built several things that could have been good but I lost interest and ironically the thing I work on now is arguably one of the most boring topics conceivable, but perhaps that's why few people do it well.
We don't actually want to scrap working cars unless they have reached the end of their life or passed an air quality threshold (UK tests every car over 3 years old, every year, called an MOT). Reduce, reuse, recycle etc.
Blazor is pretty productive if you're looking for a mature component based XML (Razor) syntax but again, there is no Visual design element to throw thing together.
If you update the app or refine docs in response to previous support questions it does streamline the experience but there are always folks who just don't read docs and there are many who will purchase the app just for access to support so they can figure something out.
I'm sure some apps are more support heavy than others, but ours is aimed at system administrators and with that comes an assumed level of competence (in reality, many people are only in the role because nobody else could/would do it but even they are quite independently resourceful).
The disadvantage of users helping themselves is that you don't get feedback from them or learn about their use cases. Knowing how/why people are using your stuff is really valuable for development, so if I had the team for it then dedicated support engineers would follow up with customers early on even if they don't have issues.
If the reader was feeling a bit dumb and/or embarrassed that they didn't yet get the concept being explained then this will only make them feel worse and give up.
Language like that is often used to make things feel approachable and worry-free, but can have the opposite effect.
And never ever, ever write "obvious" in a doc explaining something, because if obviousness was at play they wouldn't be reading your doc.
I just wanted to not deal with certificates, now I deal with certificates all day every day lol: https://certifytheweb.com
Likewise if the founders of the web took one look at a full on React based site they would shriek in horror at what's now the defacto standard.
The multi-model AI part is just the (current) tool to help avoid bias and make fine tuned selections for certain parts of the task.
Eventually large complex systems will be built and re-built from a set of requirements and software will finally match the stated requirements. The only "legacy code" will be legacy requirements specifications. Fix your requirements, not the generated code.
Hobby operating systems have one thing in common, they all have a great logo but look like a late 90s linux desktop. Windows decoration and fonts look like they were hacked together last night.
Instead start with a visual design and work backwards. You'll get instant appreciation from your audience. Unless the aim is to basically get SSH working and compile a bunch of gnu tools for a basic shell, in which case knock yourself out but don't be surprised when everyone ignores your work.
This come across as snark but it's frustration at the wasted effort and that good work will go unnoticed.
If it had a BYD badge it would sell in the millions.