Having not listened to the presentation, his content may be different. But, throughout my career this dichotomy has played out again and again. Coders learn the syntax of the language, usually at home and sometimes on the job. Maybe they built their own website as a teenager. They don't necessarily learn the paradigm related to the language. Frequently they apply the paradigm of another language to the new language (if any paradigm at all), e.g., their VB looks like 'c' or COBOL, their SQL is painful to read and worse to run. They wouldn't know a linked list or a btree if it bit them in the butt. And forget about DeMorgan or boolean logic. Reentrant, recursion, concurrency, stack, heap, coupling, cohesion,... Not happening here. But hey, they made the computer do what they wanted it to do. Just not well. Just not reliably. Just not sustainably. And certainly not maintainable. Programmers on the other hand, usually have an education that facilitates their coding. Yes, some learn it themselves and quite well. But, they learn more than the syntax of the language. They learn algorithms. They read - a lot. When I started decades ago, it was Dijkstra, Parnas, Yourdon, et al and others I've forgotten. I've been retired for a number of years and don't keep up with the languages, literature, etc. like I once did. But, guess what, the average coder doesn't either nor do many of the programmers. Part of the problem is that far too many people enter the industry without a realistic view of what the career entails, its difficulty, the effort expected, and so forth. They are chasing the money. Hence, a few years down the road, they are frustrated and dissatisfied and want a change. It's not for everyone anymore than becoming a doctor would be. This brings to mind the thread a couple of days ago about the "worst programmer". The correct answer, IMO, should always be yourself and you should be striving continuously to rectify that. Otherwise, maybe software isn't the right thing for you.