Hot Streak and Cold Streak Programming Tools

10
HOT STREAK AND COLD STREAK PROGRAMMING TOOLS Michael Shah Tufts University June 17, 2013

description

Hot Streak and Cold Streak Programming Tools. Michael Shah Tufts University June 17, 2013. Feeling “in the zone”. Photo Sources: ESPN , nymag.com , zioziegler. Hot and Cold Streaks C an Influence Programming Language Design. Call to Action - PowerPoint PPT Presentation

Transcript of Hot Streak and Cold Streak Programming Tools

Page 1: Hot Streak and Cold Streak Programming Tools

HOT STREAK AND COLD STREAK PROGRAMMING TOOLSMichael ShahTufts UniversityJune 17, 2013

Page 3: Hot Streak and Cold Streak Programming Tools

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

Page 4: Hot Streak and Cold Streak Programming Tools

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

Page 5: Hot Streak and Cold Streak Programming Tools

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

Page 6: Hot Streak and Cold Streak Programming Tools

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

Page 7: Hot Streak and Cold Streak Programming Tools

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?

Page 8: Hot Streak and Cold Streak Programming Tools

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?

Page 9: Hot Streak and Cold Streak Programming Tools

HOT STREAK AND COLD STREAK PROGRAMMING TOOLSMichael ShahTufts UniversityJune 17, 2013

Page 10: Hot Streak and Cold Streak Programming Tools

Backup Slides – Pair Programming• Can one partner act as the “coach”?• How does teammate chemistry come into play?