Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
by Brian Marrick When smoothing wood with a hand plane, you should always work with the grain rather than against the grain. It's becoming increasingly clear that what we normally think of as rationality is fairly rare. Much of what we do is governed by our brain operating on autopilot. Reasoning is the expensive stop-gap our brain uses (sometimes!) when the cheaper solution isn't working right. Programming is typically seen as an occupation that requires thoughtful precision and rationality: we will work against the grain of our brain. The resulting nicks and chips are only evidence that we should try harder! What if we try to work with the automatic part of the brain, rather than against it? In this talk, Brian Marick will discuss how he tries to do just that. Help us caption & translate this video! http://amara.org/v/FG7z/
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the talk titled "Programming with that Disreputable Part of your Brain" by Brian Marrick at the Rocky Mountain Ruby 2013 conference, the speaker explores the interplay between the automatic and effortful systems of the brain as it relates to programming. Marrick highlights that while programming is often viewed as a rational and precise endeavor, much of our thinking is influenced by the automatic processes of the brain, typically operated on autopilot. He proposes that by learning to work with this automatic part of our brain, rather than against it, we can enhance our programming skills and effectiveness. Key points discussed in Marrick's talk include: - **Personal Journey**: Marrick shares his transition from consulting to working for a tech company, which rekindles his interest in becoming a better programmer. - **Kahneman's Dual Systems**: He references Daniel Kahneman’s "Thinking, Fast and Slow," explaining the two systems of the brain: the effortful system, which is slow and deliberate, and the automatic system, which is fast and intuitive. - **Examples of Learning**: Marrick illustrates the differences in cognitive tasks, such as adding numbers versus instant recognition of simple math (like 2+2), to explain how the brain operates in both controlled and automatic manners. - **Training the Automatic System**: He discusses the possibility of training the automatic system through practice. An anecdote about Steve Freeman illustrates how skilled programmers can recognize 'good code' instinctively, suggesting that the goal is to train the automatic brain to identify high-quality solutions easily. - **Best Practices in Programming**: Marrick emphasizes the importance of repeatedly revisiting code, akin to techniques used in veterinary medicine for training perception, to improve one's coding instincts over time. - **Set and Setting Concept**: He introduces "set and setting," originally a concept from psychedelics, to explain how one's environment and mindset affect performance and creativity in programming. - **Conclusion and Resources**: Marrick concludes with insights on the significance of learning through XP (Extreme Programming) methodologies, promoting an environment that supports continuous learning, followed by an offer for his book on functional programming as a resource. In summary, Marrick argues that by understanding and honing our automatic cognitive processes, programmers can produce better code with less conscious effort, thereby facilitating a more intuitive approach to coding and problem-solving. Connecting cognitive processes with practical programming techniques offers valuable lessons for both new and seasoned developers.
Suggest modifications
Cancel