| ▲ | camgunz 7 days ago |
| Coding is how I build a sufficiently deep understanding of the problem space--there's no separating coding and understanding for me. I acknowledge there's different ways of working (and I imagine this is one of the reasons a lot of people think they get a lot more value out of LLMs than I do), but like, having Cursor crank code out for me actually slows me down. I have to read all the stuff it does so I can coach it into doing better, and also use its work to build a good mental model of the problem, and all that takes longer than writing the code myself. |
|
| ▲ | thyristan 7 days ago | parent | next [-] |
| Well, actually there could be a separate step: understanding is done during and after gathering requirements, before and while writing specifications. Only then are specifications turned into code. But almost no-one really works like that, and those three separate steps are often done ad-hoc, by the same person, right when the fingers hit the keys. |
| |
| ▲ | camgunz 7 days ago | parent | next [-] | | I can use those processes to understand things at a high level, but when those processes become detailed enough to give me the same level of understanding as coding, they're functionally code. I used to work in aerospace, and this is the work systems engineers are doing, and their output is extremely detailed--practically to the level of code. There's downsides of course, but the division of labor is nice because they don't need to like, decide algorithms or factoring exactly, and I don't need to be like, "hmm this... might fail? should there be a retry? what about watchdog blah blah". | |
| ▲ | naasking 7 days ago | parent | prev | next [-] | | > Well, actually there could be a separate step: understanding is done during and after gathering requirements, before and while writing specifications. Only then are specifications turned into code. The promise of coding AI is that it can maybe automate that last step so more intelligent humans can actually have time to focus on the more important first parts. | |
| ▲ | Ma8ee 6 days ago | parent | prev [-] | | We used to call that Waterfall, and it has been frowned upon for a while now. So we went full circle, again. | | |
| ▲ | thyristan 6 days ago | parent [-] | | Waterfall is a caricature straw man process where you can never ever go back to the drawing board and change the requirements or specifications. The defining characteristic is the part where design up front, you can never go back and really really have to do everything in strict order for the whole of the project. Just having requirements and a specification isn't necessarily waterfall. Almost all agile processes at least have requirements, the more formal ones also do have specifications. You just do it more than once in a project, like once per sprint, story or whatever. | | |
| ▲ | Ma8ee 6 days ago | parent [-] | | Waterfall certainly has processes for going back and adjusting previous steps after learning things later in the process. The design was updated if something didn’t work out during implementation, and of course implementation was changed after errors was found during testing. Now that agile practitioners have learned that requirements and upfront design actually is helpful, the only difference seems to be that the loops are tighter. That might not have been possible earlier without proper version control, without automated tests, and the software being delivered on solid media. A tight feedback loop is harder when someone has to travel to your customer and sit down at their machines to do any updates. |
|
|
|
|
| ▲ | lwhi 7 days ago | parent | prev [-] |
| That thinking and understanding can be done before coding begins, but I think we need to understand the potential implementation layer well in order to spec the product or service in the first place. My feeling is that software developers will need end up working this type of technical consultant role once LLM dominance has been universally accepted. |