TDD – a way to enlightenment in Scala

As announced previously, I had a presentation with Konrad Malawski about Scala and TDD. Well, it’s after the presentation. Time to sum it up!

Can I see it?

YES! And please comment. 🙂

Live recording – from hand, so please don’t expect high quality.

Slides in Polish.

The idea

We wanted a presentation on TDD in Java. But, SFI organizers asked Konrad for a Scala topic. And then we went for it, and I started learning Scala, which was quite fun. Thanks to Konrad for excellent mentoring.

The preparation

Not that much. I learned Scala basics, sbt, ScalaTest, why Scala came to be, and I’ve also coded our tests in my spare time (ktoso coded not only these, but others, that we didn’t use in the end :D). We first wanted to pair-program live during presentation, but I sucked too much and kept hitting wrong key combos. Yep – we stumbled on most often met difficulty with pairing – not my environment. We could code on my Thinkpad in Vim and Bash or on Konrad’s Mac in Intellij. In the end, since Konrad was better at Scala we went with his environment and driver-navigator pairing rather than with ping-pong.

As domains, we chose:

  • UFO – great for characterization through tests and ATDD
  • Picking Anime – both of us agreed students will know the subject well and topic was good for showing Scala Collections
  • Weapons Characteristics – for Scala traits, including scalable ones

First we wanted to do two live coding sessions 15 minutes each, but seeing what we could show I suggested partial live coding and partial slide-showing. Konrad pondered this and agreed. I think key argument was that we could show more this way. We coded parts of the examples beforehand and practised saying presentation once or twice, since we hadn’t yet co-presented anything.

The realization

Turned out quite well, if we are to believe feedback we’ve got. I couldn’t bear to watch myself – that’s strange yet, but this will pass, I’m told. I think we digressed too much, but no one told us so. 😉

We had questions from the audience, some teasing, some humour (at Evangelion’s expense mostly).

The afterthought

I liked the experience. That was my first co-presenting and I found it nice, though demanding at times. Timing is important and it’s of course harder to say to other person, that we should skip some slides.

I liked Konrad’s stoicism, his calmed assurance and thought through examples and metaphors – weapons especially. I’ll dodge talking about myself, except to say that I know I could do better. 🙂

Well, I hope you liked it as well. Check out Konrad’s post about this.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s