> but if you speak with them about their process, etc... it becomes clear they just hack on something until is works (sort of).
Do you think these sort of people still try to possess the underlying mental model needed to know how the system works and what effects changing something will have on the system? Or are they literally cut-and-paste/change-something-till-it-works coders to whom the actual code is little more than meaningless incantations?
> Do you think these sort of people still try to possess the underlying mental model needed to know how the system works and what effects changing something will have on the system?
I think that would depend on the individual -- but largely yes, I think they do. But that still isn't engineering. They haven't clearly and thoroughly documented the system so that anyone else can step in and replace them if need-be. They aren't capable of measuring their progress since it's going to be an unknown guestimation (which phase of the project are you in currently and how long until this phase is completed and we can move onto the next phase?). A massive requirements change might throw this type of individual off and lead to a mental wall since the new requirements don't fit into their mental model of the system. And most importantly, their process is not well defined nor repeatable to the extent they could follow the exact same steps on new projects and predicably produce results.
Do you think these sort of people still try to possess the underlying mental model needed to know how the system works and what effects changing something will have on the system? Or are they literally cut-and-paste/change-something-till-it-works coders to whom the actual code is little more than meaningless incantations?