Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
RailsConf 2017: To Code Is Human by Don Werve Programming is a deeply mental art. As programmers, we invest large amounts of time in mastering new languages, new techniques, and new tools. But all too often, we neglect our understanding of the most important tool in the developer's toolbox: the programmer's brain itself. In this talk, we will combine the art of programming with the science of cognitive psychology, and emerge with a deeper understanding of how to leverage the limits of the human mind to sustainably craft software that is less buggy, easier to understand, and more adaptive in the face of change.
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 'To Code Is Human' by Don Werve at RailsConf 2017, the speaker emphasizes the importance of understanding the programmer's brain as a critical tool in software development. He argues that while programmers often focus on computational efficiency and the latest languages or frameworks, they tend to neglect the human aspects of coding which can significantly affect productivity and the quality of software production. ### Key Points Discussed: - **The Hardware and Software Connection**: Werve outlines that just as companies invest in hardware for their teams, programmers should invest in understanding and maintaining their own cognitive functioning and mental health. - **Ante Work Concept**: He introduces the notion of 'ante work,' explaining how working while tired leads to poor coding practices, which ultimately create more problems than they solve. - **Quality Over Quantity**: The speaker stresses the need for quality hours rather than just more hours, asserting that good sleep and consistent energy levels are crucial. - **Nutrition and Exercise**: Suggested that diet impacts mental performance, recommending avoidance of fast carbohydrates and promoting regular exercise as essential for maintaining high energy levels throughout the day. - **Understanding Cognitive Limits**: Werve highlights how our brains process information and how the working memory is limited. He advises structuring code for readability to accommodate these human limitations, improving long-term retention and understanding. - **Decision Fatigue**: He discusses how decision-making can drain cognitive resources and suggests building habits instead of relying solely on self-discipline to help manage everyday tasks and choices effectively. - **Pair Programming and Open Workspaces**: The usefulness of pair programming is mentioned as a solution to distraction in open-plan offices, making work more engaging and less isolating. ### Significant Examples: - Werve shares personal anecdotes from his professional experience in a company transition, illustrating the consequences of poor coding practices amid exhaustion. - He references studies on decision fatigue, particularly in the context of judges granting parole, showing how timing affects important decision outcomes. ### Conclusions and Takeaways: Werve’s key conclusion is that by investing in our cognitive health, understanding our limitations, and creating environments conducive to productivity, programmers can enhance their effectiveness. Ultimately, he posits that fostering these practices leads not only to better coding but also to a more fulfilled and happier life as a software engineer.
Suggest modifications
Cancel