3 ms·
A good reality check is: if a stranger asks you about a specific part of your toy project, would you be able to explain it? If you can't, it means there's some
by alganet 1y ago
A good reality check is: if a stranger asks you about a specific part of your toy project, would you be able to explain it?
If you can't, it means there's something there you don't understand, and you lost an opportunity to learn. Of course, this is also true for reusing libraries and stuff.
Within a job, what matters is the _team learning_, and it's roughly the same idea. At least one person in the team should be able to explain anything the team does. Trusting it to an AI puts the whole team in a precarious situation, even if it is something as simple as a CSS layout.
- Lerc 1y ago>A good reality check is: if a stranger asks you about a specific part of your toy project, would you be able to explain it? I like that as a benchmark. I think it also works with LLMs too. I have had best results with AI generation of code when I pass that check. When using a LLM, the chatbot is the stranger. In fact much of the frustration I have with using AIs seems to be for models tuned to the situation where the user does not have the ability to explain it specifically and it has to make broad assumptions. This may be the best result for a lowest common denominator, but it's frustrating when it provides a generic solution to a specific problem. I can see specialised models diverging to focus on different levels of assumed knowledge and expectations. Perhaps to have modes of thinking, maybe as a more tone based MOE. Is anyone doing mixture of finetunes?
- hn_throwaway_99 1y agoI would argue that, at least for me, gen AI helps me learn things much faster. E.g., like I said, previously I would have been turned off from doing some projects because I wouldn't have spent a ton of time dicking around with things that are just inefficient. Now I have gen AI create a starting point, and it's very clear to me "Ah, this is how I would use grid layout to get what I want". I can tweak things and it's very clear to me how things are working.
- 8note 1y agomy current opinion is that uf i can get an ai to write details into a file that another team member's ai can read and then know whats up, thats close to the same as the team member knowing it, as long as theyre either reading the file that the ai read, or working through the ai and providing that file(s) as context.
- mrheosuper 1y agounless you own/write the whole software stack(not the web stack), i doubt anyone can fully explain their project. For example, if in your project you have to write a file, and someone ask you how does the kernel cache file writting, that would not be an easy question.
- alganet 1y agoYou're missing the point and taking it to an extreme. Let's say I write a toy project to log all sites I visit to a text file. The goal is to learn browser extensions, not learn kernel cache. There's a clear boundary, and anyone asking me about kernel cache would sound very weird. It's obviously a lot of layers of knowledge deep into the stuff I'm learning. If my toy project is a beautiful web app, then CSS is _not_ several layers deep. It is in the front of it. It's a dependency I _need to learn_ in order to own my project. If my toy project is a web app, and doesn't matter if it looks beautiful or not, then I want to spend my time away from CSS (either writing it by hand or interacting with an AI). I am fine with having it ugly. Understanding these dependencies and layers of knowledge is part of the learning as well. Again, this works for teams as well. There are certain things, at a certain level, that if you don't have someone in the team that knows it, leads to a precarious situation. The fact that people don't recognize this, and mistake it for not made here syndrome and other nonsense, is actually scary. It means those recipes (don't reinvent the wheel, good is better than perfect, etc) became mantras that people repeat without actually understand why they exist, and those boundaries have become arbitrary and meaningless.
- fulafel 1y ago> If you can't, it means there's something there you don't understand, and you lost an opportunity to learn. Of course, this is also true for reusing libraries and stuff. Yeah, in libraries that's the aim, software composability and reusability, you don't need to keep everything in your head. Same here. A "lost opportunity to learn" can be preferable to not making the thing or making it much slower.