In the late 90s, some of us autogenerated software from specs (UML) using the Rational Unified Process. It was magical to use a product like Rational Rose that could both generate the software from a spec ("forward engineering" ), but then also update the spec from software ("reverse engineering" ). If we're returning to this world, now "with LLM batteries included!", we can anticipate taking another swing at the challenges run into the last time around.E.g. there's a nice section laying some of them out here: (https://en.m.wikipedia.org/wiki/Round-trip_engineering). LLMs certainly give us a leg up on trying to solve them this time!
So what is kept? Generated code libraries? Recipes? Instructions to change the recipe for customization?
I assume that using context documents, either person, or more permanently as RAG, all the pieces can be kept together so that existing code and new code can be used and assembled.
Are there case studies showing how this approach reduces complexity for the coding person/team?
[I remember when visual coding was an idea that proved useless for real-world coding. It seemed to come and go very quickly. The software industry keeps trying to find more factory methods to create code, and yet the best still seems to come from skilled coders.
OTOH, I recall that coding for the military is a very slow process as every bit of code and any small changes have to be documented for the records. It seems to me that AI could be very helpful if that process is still a thing.
What I would be interested in is AI that could write and integrate different software languages, reducing the learning curve for new languages that are better suited to certain tasks.
I would love to hear more about LEGO-Coding and how you and your team are approaching it.
I was recently thinking about how coding with AI works better for microservices if compared to monolithic structures, this LEGO analogy gives a lot more clarity to my thinking.
As a PM that 1 year ago was trying to learn to code using online courses to be a better PM and that 6 months ago started learning by doing with AI, I am 100% sure that AI will be one of the greatest unlocks I will see in my lifetime.
I feel like the human being that mastered fire for the firt time.
+1
Embracing this approach reduced the time I spent correcting my coding models
https://www.aitidbits.ai/i/162210580/the-building-block-approach-break-tasks-into-atomic-components
Love this, thinking about how we implement it as part of our platform engineering push
Seems aligned with what v0 is doing. https://www.lennysnewsletter.com/p/everyones-an-engineer-now-guillermo-rauch
In the late 90s, some of us autogenerated software from specs (UML) using the Rational Unified Process. It was magical to use a product like Rational Rose that could both generate the software from a spec ("forward engineering" ), but then also update the spec from software ("reverse engineering" ). If we're returning to this world, now "with LLM batteries included!", we can anticipate taking another swing at the challenges run into the last time around.E.g. there's a nice section laying some of them out here: (https://en.m.wikipedia.org/wiki/Round-trip_engineering). LLMs certainly give us a leg up on trying to solve them this time!
So what is kept? Generated code libraries? Recipes? Instructions to change the recipe for customization?
I assume that using context documents, either person, or more permanently as RAG, all the pieces can be kept together so that existing code and new code can be used and assembled.
Are there case studies showing how this approach reduces complexity for the coding person/team?
[I remember when visual coding was an idea that proved useless for real-world coding. It seemed to come and go very quickly. The software industry keeps trying to find more factory methods to create code, and yet the best still seems to come from skilled coders.
OTOH, I recall that coding for the military is a very slow process as every bit of code and any small changes have to be documented for the records. It seems to me that AI could be very helpful if that process is still a thing.
What I would be interested in is AI that could write and integrate different software languages, reducing the learning curve for new languages that are better suited to certain tasks.
I would love to hear more about LEGO-Coding and how you and your team are approaching it.
I was recently thinking about how coding with AI works better for microservices if compared to monolithic structures, this LEGO analogy gives a lot more clarity to my thinking.
As a PM that 1 year ago was trying to learn to code using online courses to be a better PM and that 6 months ago started learning by doing with AI, I am 100% sure that AI will be one of the greatest unlocks I will see in my lifetime.
I feel like the human being that mastered fire for the firt time.