Scotch on the Rocks 2014 - As a Speaker

I recently gave my first talk at a conference. It was covering Node.js, it's package manager npm and the framework Express. The conference was "Scotch on the Rocks 2014". This post shares my experience of being a first time speaker, before going up to speak, during the talk and what happened afterwards. Be warned, it's a lengthy story...

How it came about

Seed planting

Wait... before I go any further, let's go back... to Scotch on the Rocks 2011 (Apex International Hotel, Edinburgh, my 3rd Scotch) to the end of the second day. I was standing around waiting for my work colleagues as we had to leave before the final sessions to catch our flight. Andy Allan, the man who is SotR, came over to me for a quick chat, generally see if I had enjoyed the conference and questioned if I'd ever thought about speaking.

At that moment, the thought had been planted, it just took a few years to grow (plus now you know who to blame). I've never remembered to ask Andy why he asked, I'd like to think it was the way I carried myself on the Guitar Hero night at that same conference (only joking, but I did rock). For whatever reason, it was now there in my head.

A year without Scotch

Unforunately there was no Scotch on the Rocks for 2012, the fantastic people behind it were simply too busy at the time.

Battle to attend

Then came Scotch 2013 (my 4th). Scotch was back on the schedule but it didn't look like I was going to be able to attend, I again toyed with submitting a talk but couldn't think of a topic I'd like to present on. Some had suggested my CFTracker project (something else that sprouted from previous SotR's), but I didn't feel comfortable with it since it wasn't very active anymore. In the end I was very lucky and thankful for two amazing people who managed to sort out accommodation and a ticket as an attendee again.

The Submission

Scotch on the Rocks 2014 was announced and the call for speaker submissions was due to start. That seed planted by Andy finally sprouted into life, partly due to thinking that without speaking I wouldn't get to attend. At the time I had been getting into Node.js, using it to power a little side project called hubReports (monitoring github statistics). I figured if I shared my experience with Node, especially getting my head around the differences from other server-side solutions, it'd make a good basis for a presentation.

Getting Accepted!

I got in! Part of me had doubts that I would, due to being a first time speaker. All I can think of is that I picked the right topic, title and didn't have a half bad summary to get selected.

Scotch on the Rocks 2014

The waiting game

I'm the kind of guy who has nerves of steel, up until the moment you should be nervous of is right around the corner... Around two hours before I was due on I started feeling nervous. I barely ate anything in the food put on for lunch, walked around aimlessly for a bit and then settled down in a corner of the bar with Kev McCabe. After pottering around with my slides for a bit I ventured back to my hotel room with an hour left but getting more nervous by the minute. I figured doing a run through in my room would help, except I didn't manage to get that far before stopping myself.

First thing that helped was reminding myself that this wasn't an interview or a test, the people who were going to show up wanted to hear what I was going to say. Secondly, I'd given up a lot of my free time to constantly research what I was going to speak on so I convinced myself that the content was good enough. Then with about half an hour left I strolled over to the CAB desk so the heroic Rob Parkhill could keep an eye on me and make sure I didn't do a runner

The Talk

The 'Show and Tell' session came to an end and I walked over to the man that is, Matt Gifford. As well as speaking at the conference in the morning, he'd been tasked with being my CAB member for my talk. He got me geared up, on stage, plugged in, ready to rock and more relaxed since we're usually clowning around in GTAV every week ;-). So it had begun...

It felt like a slightly rocky start, getting used to being up on stage and everyone listening. But the nerves started to settled and I felt like I was getting into it. Until... my laptop display messed up. Normally it would be displaying the current slide, next slide, timer (for pacing) and notes for the slide. Except 10 to 15 minutes into my talk, all that vanished and I felt my stomach pitch.

I didn't want to stop, waste some unknown amount of time trying to fix it or start asking for everyone's patience while I panic. So I just kept going and somehow managed to get through it all. Everyone I spoke to said I did a very good job, a lot of them couldn't tell I was nervous or a first timer. Even fewer appeared to have any idea that I had my notes disappear on me. Up on stage though, I felt pretty shaky, struggling to remember what was next, the link between slides and the points I was supposed to be making. Didn't remember to get my water out before starting and felt pretty dry.

Thankfully I made it through to the end, letting my code examples pad out the time until Matt gave me a 5 minute warning. I finished up and switched to my "Thanks for listening" slide and got stunned by the applause! My head was so wrapped up in presenting that I totally forgot that I'd probably get one, as thanks for the information I just shared, and it totally shocked me that I even forgot to display my end slide.


Of course I had a few minutes available to ask for any questions and got a very sensible one about Express templating and how it worked. Unfortunately part of the audience decided to leave, not that quietly, which caused a cascade effect of others leaving. I was gutted that I didn't get more questions while on stage but at least I answered the one (had many more asked off stage thankfully).

The aftermath

It felt like such a rush clambering down off the stage. I really didn't know what to do with myself and my head was buzzing from believing that I did a pretty good job. Amazing to see tweets in response to my talk and others commenting in person as I walked around in a daze ;-)

Later feedback

There have been some blog posts from others at the conference, all good in my opinion so far :)

I still must confess, that even with the enthusiastic words of David Boyer, I don’t have a use-case scenario for using node.js in my head yet – on a dev server, sure, essential – but haven’t got a project where it would work on a production server yet. One to keep in mind though. Tom King via his blog

This was the presentation I was most looking forward to, and David delivered the goods. What surprised me was that it was his first time presenting, and his notes disappeared from screen 10min into the presentation. He held it together well (I did not notice a change in presentation quality at the 10min mark, for one thing), and he's convinced us to get Node.js installed (which we'd need to do for Grunt.js anyhow) @ work and see what we can do with it. Nolte had it installed and running and doing stuff during the presentation itself. Adam Cameron via his blog

What would I do differently?


When putting my presentation together, I started out constructing the slides as I went along. This definitely didn't feel right for me (may work for others) and it felt like I wasted a lot of time and thought. Eventually I decided to cat brain > the entire details of the talk from my head to a single file, then start splitting it apart and matching it up with slides. I felt this approach worked really well.


My laptop isn't the best ;) but I could have spent more time trying to test / configure / fix it before. It didn't want to mirror displays in an easy (and non-buggy) way and I managed to break my bluetooth dongle on my way to the conference. Which meant no wii-mote for controlling the slides.

A printed version of my slides + notes as a backup would have been useful and a pdf copy so they're separate from the browser based presentation.


A top quality tip from John Whish, who I met at a previous Scotch just before his own first ever conference talk. I'm guessing my nerves distracted me and I left it in my bag, didn't really want to rummage around for it half way through so struggled on with a very dry mouth and throat.


I've yet to find out if Laura attended my talk but I hope the text was large enough, I even had one comment that my terminal text was too big! Her point about high-contrast is probably valid to parts of my presentation. Code within my slides weren't using the best theme and I could have also picked a better scheme for Brackets too.

Live coding

I felt like I failed a bit with my live coding. Again, I'll lay most of the blame on the laptop, since it wouldn't mirror the displays I had to crane my neck to see the code on the large screens. Plus, I'd geared everything towards 16:9 and the stage screens were unfortunately 4:3, kept losing the edge off my slides and editor.

Originally I had a node-webkit powered presentation kit but I chickened out from using it. I put it together so I could avoid having to drop out of the presentation slides since it had the following features:

  • Code-Editor: Edit code within a slide.
  • Runnable Examples: Execute code from the editor.
  • Multiple output: Tabs for Editor, Terminal (for console.log's) and iframe for web output.

With some more polish, it'd be a fantastic way to demo everything.


Numerous people helped me along the way with little comments and tips. My awesome family & friends, Matt Gifford (especially this post of his), Rob Parkhill, Andy Allan (seed planter), Guust Nieuwenhuis and numerous others.

Will I do it again?

Heck yeah! Except for the nerves, which I managed and will be better next time, I really enjoyed the whole experience. The only thing that would stop me speaking would be cost and possibly time away from home. I've a zero budget for this sort of thing and normally restrict myself to "Scotch on the Rocks" only, because I love it and I can usually get my employer to help. Anything I can get to, and back from, on the day would be doable, or conferences who cover travel+hotel (I'll eat cheap :P).

Bottom line, I've got the bug and it wants me to present again :)


David Boyer
David Boyer

Full-stack web developer from Cardiff, Wales. With a love for JavaScript, especially from within Node.js.