hot streak and cold streak programming tools

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

Upload: gabe

Post on 25-Feb-2016

87 views

Category:

Documents


7 download

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

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?