4 ms·
I often see an inverse correlation between being able to "talk about code" and actually producing good code. That is not only between persons: I can get myself
by B73kkww 9y ago
I often see an inverse correlation between being able to "talk about code" and actually producing good code.
That is not only between persons: I can get myself into a talker's mindset in a couple of days just by reading, drawing diagrams and generally doing anything that increases self confidence.
My actual coding abilities drop in the process because the ability to see abstract graphical patterns decreases.
On my best coding days I'm barely able to utter a coherent sentence at the end of the day.
- cjcenizal 9y agoI think there's a correlation between being able to explain something and fully understanding it. Being able to think clearly and communicate clearly are interconnected -- if you're programming by instinct then you're not thinking critically about the problems you're solving.
- XYawqd 9y agoI'm more with Feynman: If you are able to do something, you understand it. Natural language quite primitive when it comes to math/programming. Explanations are full of holes and gloss over important things. It is funny that you mention "critical thinking". The vocabulary of a music critic/philosopher like Adorno is astounding and impressive. This did not prevent Celibidache (a famous conductor) from calling Adorno the "biggest blowhard of the 20th century". Intuition always rules in the discovery phase. Often others come and "explain" the works they did not create, because the creator is already busy doing his next thing.
- acidus 9y agoAnd how can you get better at it?
- TheCowboy 9y agoWriting. When you engage in writing out your thoughts you quickly realize that you may not have as coherent or clear explanation as it may feel to you. You end up doing some research and thinking about how to express it. At the very worst, you come away with a better way to express one specific thing. Even just trying to provide quality explanations to comments on Reddit is a good practice. That won't always help when it comes to verbally expressing things on the fly. If you can't practice with someone, you can try recording yourself trying to explain a topic on the fly, and playing it back. It's best to have a partner. Attending technical Meetups is another venue where you work this mental muscle.
- brooklyn_ashey 9y agoI agree. Writing helps. Murakami thinks so too! Have you read What I talk about when i talk about running? It might be interesting for swes. He writes about how writing helps him refine thought and relates this to training in running. Great book.
- penpapersw 9y agoYour anecdote coincides with my experience working directly with a certain semi-famous programmer for the past 5 years. He's very charismatic and a great speaker, and he has a successful business selling his experienced expertise and advice. But having pair-programmed with him many many times during that time, I was surprised by his inability to discuss real-world coding problems and their potential solutions beyond more than a superficial level. What I took from that experience is just what you said: there seems to be an inverse correlation. I could produce code that solved complex problems thoroughly and bug-free, and he could talk about them in an abstract way, but neither of us could do the other part.