Coding and Mental models
I have been reading a lot of articles about how AI is so good at coding that we wont need people to do any software engineering work but almost all of the people making these claims are highly experienced engineers ( to name some - Steve Yegge , Philip Su ) . We haven’t really seen any examples of junior people using AI and making the same claims , the senior stalwarts of the industry are making these claims and listening to them we think we can let AI do all of our work too but we lack the judgement and intuition they have . This raises another question what will happen to people who are not experienced enough ? - yes AI will help them but I feel the gap between the senior and junior engineer will widen even more , the senior engineer can do so much more than the junior and the junior can do a lot of stuff but has no intuition or architectural knowledge of designing the system , he will go with what AI says is right
Another thread I encountered on this is how AI can write code but you still need a mental model of what code is being written what it does how it interacts with other systems without that you can never reason about the system effectively - Link . Which makes me question what are good mental models of code ? How granular or deep does your mental model for code need to be ? Do you need to know a few critical implementation details or can you get away with just high level structure ? People who are experienced in software have very good mental models which have been built by seeing years of production outages, failures ,things going wrong .For the rest of us its time to start building good mental models of the systems we are building