When designing systems, you want the important details to be right. Especially with authentication and authorization.
From an architecture level, you can know which classes are important to review and which ones are not.
When designing systems, you want the important details to be right. Especially with authentication and authorization.
From an architecture level, you can know which classes are important to review and which ones are not.
In Software Engineering, we learned about requirements, testings, system design, UMLs, etc, and those seems to be more relevant than ever.
1. You get complexity back at the speed that you add code. Also the complexity compounds.
2. As a human you are still responsible for your code, and you need to understand how the important parts of the code base work.
When you combine these problems, you get a complicated code base where you don't understand the important parts.
That is why software design is getting a comeback. It actually helps with both problems. Less complexity and more understanding.
The part I'm still not sure about is the 2nd point, I just don't know how good those LLMs will get at managing complexity and how important is for human to understand the details of the code. I'm personally not sure yet..I could imagine a future where we have have much more higher level tools to manage the comprehension and complexity challenges. Or it could be that LLMs will never fully comprehend the full architecture and humans will always be needed for that kind of big-picture analysis. I really don't know, and frankly I don't think anybody knows.