Bootcamp - Live Programming

Pair Programming has given way to Live Programming.

Pair Programming is a key part of the daily routine in the Metis Data Science Bootcamp. Almost every day begins with approximately half-an-hour devoted to it. About the only exception to this is any day devoted to Project presentations.

What we DO for Pair Programming varies quite a bit.

It FEELS almost as if they set things up to catch you off guard. We’ll go days with what are essentially your standard programming tutorial challenges. Little coding challenges you can find on any website you could use to help you learn programming. The thing here is that once you’ve seen a good number of these, they sort of stick in your memory and you can just draw upon that to make things work. And since you’re in a pair, there’s a reasonably good chance one of you can remember what to do. Then all of a sudden, out of the blue, we get a challenge to code one of the algorithms we use for regression or modeling entirely from scratch.

Another common variant is challenges which are really just walkthroughs. These are actually harder than they seem because of the time constraint. I quite often come nowhere near finishing those.

Well, we’ve finally switched` to “Live Programming”. Rarely Pair Programming has been Solo. Sometimes they do want to ensure you can do it on your own. Well, Live Programming is entirely Solo… sort of.

What happens is someone is picked (supposedly) at random. I say supposedly because it seemed very coincidental I got selected immediately after asking whether the sampling was with replacement. Kendall, who was selected yesterday responded with a vehement NO. This person who was selected must go up front and hook up their laptop to the projector. Between that and the white board, they respond to a challenge given by the instructors. Everyone else must work on the same challenge… solo and in silence. The person on the hot seat, can ask question, of course. But nobody else can and everyone else cannot comment on the work of the one in the hot seat, neither to criticize, correct nor congratulate.

I daresay, if the last two days are anything to go on, we do much better when we’re not the one up front. My solution when Kendall was up front was good. My solution when I went up front was OK. But Nate had a better solution. He was somewhat shy about it but Alice pushed him to go up and show off his solution.

We’re all used to going up and presenting after Pair Programming. That’s usually how Pair Programming sessions end. Times up and anyone who has a working solution can go up and present. Then anyone else who had a solution significantly different can go up and also present. So we’re used to presenting AFTER coding. It’s presenting WHILE coding that’s the new thing.

This is all supposed to work to prepare us for all kinds of coding interview experiences. We get feedback from the instructors afterwards. And sometimes, the instructors change the request or objective of the challenge on the fly while you’re in progress. They’re much more focused on your behavior than they are the specific techniques. For example, I got a little guidance on legible variable names (actually sliding constants into variables named descriptively). But I got called out specifically and majorly for two behavioral issues:

  • I didn’t make use of the white board despite Alice suggesting I could.
  • I didn’t pseudo-code first. A bit later on I started using comments in a pseudo-code like way. But I should have started with pseudo-code first.

The feedback isn’t all negative. Overall they were pleased with my performance. I did talk a fair amount during the process (though I got quiet when wrestling with something in my head - something that should have been whiteboarded). They liked that I tested my functions quickly and repeatedly while developing them.

Being on the hot seat adds a bit of pressure and discomfort for a lot of us. That’s why, of course, we’re getting the practice. It clouds your mind a bit. For example, yesterday Kendall chose an approach based on strings. I used math instead. Many of these could be done a number of ways. But Kendall has a strong Math background. So I was surprised she chose strings. When you’re up front, you tend to get tunnel vision. That’s part of why we need the practice.


© 2017. All rights reserved.