Download - Hot Streak and Cold Streak Programming Tools
HOT STREAK AND COLD STREAK PROGRAMMING TOOLSMichael ShahTufts UniversityJune 17, 2013
Feeling “in the zone”
Photo Sources: ESPN, nymag.com, zioziegler
Hot and Cold Streaks Can Influence Programming Language Design• Call to Action
• Build programming languages conducive to hot streaks• Have concrete metrics
• Result• Utilize programming aces more effectively
Metrics For Measuring Performance• Defining a “hot” or “cold” streak for a software engineer• Often performance measured by “tests passed”
• But does this constitute any sort of hot or cold rhythm?• Needs to be done in the background
• Limited interruptions
Measurable Tasks• Within the source code (the software project)
• Unit Tests Passed• Assertions Passed• Contracts Passed• Lines of Code Written that stay in final product
• Outside of the source code (the physical programmer)• Hours of sleep• Hours worked straight• Expertise with subject matter• Cups of Coffee
Existing Tools For Maintaining Hot Streaks
Problem ToolSpeed of Compilation Incremental CompilationSpeed of expressing ideas with code
Intelli-sense, code completion
Confirmation of idea (debugging)
Step Debugging, ‘goto line’
Building confidence (testing) Automated Tests
Working out of a Cold Streak• Documentation
• Force programmer to slow down• Refactoring Code
• Encourage critical thinking• Other Productive Tasks that give you a rhythm
• Can helpful tools dynamically be given to struggling programmers?
So Take Some Time to Reflect• Perhaps you’re skeptical• Have you been on a hot or cold programming streak?• What were the circumstances?• What can we do about it?
HOT STREAK AND COLD STREAK PROGRAMMING TOOLSMichael ShahTufts UniversityJune 17, 2013
Backup Slides – Pair Programming• Can one partner act as the “coach”?• How does teammate chemistry come into play?