Dan Mayer's Dev Blog
Making A Programming Presentation 25 March 2015
I wrote this shortly after I gave my talk, but never cleaned up the draft. I cleaned it up a bit this morning and thought I should just publish it as is.
I don’t think there are many posts talking about how to get into presenting at programming conferences. I doubt I’m even particularly good at it, but I still felt I might have some information to share. If you are interested in speaking at programming conferences and think you have knowledge to share, hopefully this post can help you on your path.
The “git log” of my RubyNation talk
- I wrote a post about Coverband code coverage on the Livingsocial techblog
- I gave a 5 min. lightning talk at MountainWest RubyConf. (slides: Coverband lightning talk)
- I decided I wanted to expand on this subject and started seeking some help putting together my first talk proposal. Asking co-workers and online friends for help improving my proposal. I got lots of great feedback.
- I submitted my proposal to a couple conferences I was interested in speaking at.
- I expanded the talk to give a longer (10 min.) lightning talk at Railsconf, as part of the LivingSocial Lightning Talks (video) sessions. (slides: Coverband Railsconf talk)
- I expanded the talk out and gave the presentation internally as part of our LivingSocial speaker series to our developers. Asking for feedback from our team which helped me to improve the slides and talk.
- I worked feedback into my presentation and gave dry runs whiled hooked up to a projector. Making sure I was comfortable with my slides and talk.
- I gave my presentation at RubyNation and tried to remember what Russ Olsen told me, “everyone watching really wants to see you succeed.” I am sure I learned a lot in the process even if it didn’t go quite as well as I hoped.
- final slides: Production Code Analysis: Tales of deleting 200K+ LOC
- video of my talk (link not yet available, should be soon)
Developing an Idea
I recommend starting with a small idea. Giving smaller lightning talks or short talks at local Ruby meetups to judge if there is enough material to go deeper and enough interest to justify more effort. Watch some presentations and see what kind of style you meshes well with you. Same goes for looking at various slides, find a style and format that you like. Write a short blog post, or even a outline for yourself to see if you have enough material to build a talk.
Seek out people to help give you feedback, in all stages of the process. On the initial idea, while working on the proposal, to listen to shorter “beta” versions of your talk, and as you develop it into a full talk.
Problems I had
Since I gave this as a few lightning talks and internal talks. I ran into various issues, I tried to learn from each of them to improve my final result.
- Projectors, keep text off the edges of slides. Conference projectors could be set up poorly or blur on edges.
- Bring water!
- Try to present on your own laptop, you will be comfortable making changes or fixing issues.
- White and grey backgrounds work better than very dark or black backgrounds on projectors that don’t have great contrast.
- Try not to read from your slide notes. Speak more from your thoughts evoked from your slides (I didn’t do great at this).
- Any live demos practice configuring the 2 screen setup a few times (I had an issue where the demo showed on my laptop screen but didn’t go to the projector screens).
- Get good at setting up two monitors, and swapping them. Know the key commands. The screen set to be the dominate screen swapped right before my talk, and I had to sort it out
- Smaller code snippets (really the audience can’t read large blocks of code)
- Animated gifs! While a easy way to get a laugh. It’s still are appreciated by the audience and keeps people engaged, go for it.
- Talks convey concepts and practices better than the nitty gritty of code and specifics. Details might do better in a blog post.
- Get good with whatever slide presentation software you end up using. I used deck.js which is pretty cool, but still not as powerful as things like keynote.
- Nervousness, while I learned a lot. I think I learned public speaking isn’t really my thing. I am far more comfortable writing a post or working out ideas ahead of time. I might continue to work on speaking, but in the end I doubt it is my best format for me to share ideas.