Technical Presentations

A few years ago I was lucky enough to win a YOW! diversity scholarship for a day of speaker training with Damian Conway. I’ve never had the opportunity to learn so much about public speaking in as condensed timeframe before. These are my hints and tips picked up from that training and other public speaking activities.

Here are my slides, if you like the sketchnote style, {Insert guide here} is a guide on getting started with sketchnotes.

Inspiration for this content

These following talks are good inspirations for better tech presentations

Damian Conway’s YOW! Night talk on Instantly better tech presentations

Vicky Brasseur’s 10 step program for great tech talks

Brainstorming your talk

Damian goes through a brainstorming technique to help form your talk. DO NOT start with slides, this is a sure way to waste time with creating your story as you iterate through it. First off, start with a pen and paper (or equivalent digital note taking technology), brainstorm all of the possible things you know about a topic. Pick 5 sub-topics you know the most about. Ask yourself, do these create a narrative flow? Do they form a story? If not, chuck one idea and pull in another that helps with the story. Then for each sub-topic brainstorm all of the things related to it, pick 5 from that list that forms a mini-story. You now have a good, narrative flow through your presentation and your slides almost write themselves, you could now put one word/phrase on each slide that reminds you of the story you are telling at each point and you’d have a pretty good presentation.

Slide Design

Think of your slides as a user interface, too much information will overload your audience ensuring they switch off and start browsing the web. Your audience doesn’t have the insights you have, that’s why they are in your audience. They want to learn, what do you want them to learn? Most often they won’t care about you as a person, they care about your content. Structuring your content around stories will help make your information easier to digest. Big walls of texts are a huge no no. Slides are free, why does all of your content have to be squished on 1 slide? I avoid dot points like the plaque, I can’t see any value they add being on slides.

Your text is too small

Always assume your text is too small, just because you can easily read it on your high resolution retina display doesn’t mean the person in the back of your audience is able to read it through a shitty 800×600 projector with terrible contrast. Also never put anything important at the bottom of your slide, how often have you strained to look over someones shoulder to try and read what’s on a slide?

Slow Reveal

Build up to showing complicated diagrams/graphs rather than showing it all at once, you want to walk people through you idea not hit them over the head with it.

1 thought per slide

This is called Takahashi style, it’s awfully minimalistic but it forces you to use your slides as a crutch for your story telling rather than you relying on your slides too much. It’s worth experimenting with as an idea.

Showing code

Screenshots of code work better than switching into an IDE/text editor, your code will always be too small with a text editor. If it’s a screenshot you also get syntax highlighting. Screenshots also help you to simplify the ideas you are trying to communicate.

Opaque boxes

Can’t avoid the complicated diagram? Fine, use opaque boxes and slide transitions to help guide your audience through the diagram. Take them on a journey. Here is an example using an XKCD diagram.

Demo’s are optional

I actually enjoy giving a demo first and then explaining how I got there, that way if it fails I still have content to continue with and I don’t end on a sour note. This way I always ensure I have enough time for the demo; which is often the fun part of technical presentations.

Practice

Nothing beats practice, if you can’t practice with colleagues, friends or meetup groups set up a TV with a picture of an audience and present to that. Or present to a mirror, or to your cat.

Other Resources

Want to take your presentations to the next level? Have a read of TED talks by Chris Anderson, audio version here.

Agile Australia 2018

On Tuesday the 19th of June I spoke at Agile Australia on how to get more people involved with testing. You can access my slides; The bug hunt is on. I proposed 5 activities to help get more people involved with quality:

  1. Bug Bashes
  2. Bug Bounties
  3. Dog Fooding
  4. Knowledge sharing practices
  5. Soap Opera testing

Sketch notes

Here are all of my sketch notes on the presentations I attended;

My personal highlights where Nigel’s talk on “Agile is the last thing you need”:

And Martin Fowler’s talk on “the state of Agile in 2018”:

Steven gave an interesting talk on visual strategy maps:

 

 

 

 

 

 

 

 

 

 

Getting up on stage

I enjoy performing. Don’t ask me why. I can’t explain it. You could say it’s something to do with the rush, or the perception of adding value or entertainment for other people. I want to tell you a few stories about my adventures in performing. Do you want to improve your performances? I’m available for free consultations on improving technical presentations.

During High School

I was involved with nearly every extra curricular activity I could sign up for. I was in the school concert band; I played trombone. I can legitimately say, “this one time in band camp …”. I was the fat kid in school, there weren’t many other kids fatter than I. I once got up in front of my whole school dressed up in a Santa suit and played Jingle Bells on the trombone. Talk about a nerve racking, getting out of my comfort zone experience. I got a laugh at least. I was in an Auslan signing choir (Australian Sign Language) and a singing choir too. In the signing choir we would often perform to retirement homes in the area and our signature song was, “I believe I can fly” by R Kelly. I could still sign to that song. What does a signing choir performance look like? Check out this example on YouTube;

Watching that makes me want to sign up to an auslan class and pursue deaf poetry.

I was also in a musical. It was called Wolfstock, it was a 1950’s themed musical about a 16 year old boy called Jay, his parents had sold his soul to the devil and had to get to wolfstock (aka woodstock) before the next full moon or else he would remain a warewolf. I played Wolfman Jack in act 2; a character based on the DJ host by the same name, I even had my own song. I’m sure the musical was terrible. My mum has it on tape somewhere. I’m sorry mum for putting you through all of my horrible performances in school.

During Uni

I ran my own radio show on a community radio station called, “chat with an engineer”. I would interview engineers in our community and chat about the work they did. It was to help raise the profile of Engineering. I didn’t have the budget for the training course so I asked Engineers Australia if they’d paid for me to do the course. They did and I’m forever grateful for that. My biggest success was interviewing 2012’s Young Australian of the Year; Marita Cheng. She was visiting a high school as part of a Robogals visit and we were able to organise an interview.

I also started the Robogals Chapter in Tasmania. Robogals is a student run group who promote engineering and technology to young kids through lego robotics workshops with the goal of increasing female engineers. I taught robotics to over 1000 kids in tasmania in the 1.5 years I was involved with Robogals with next to no funding and while going through my first bout of chronic depression. I can’t understand how I was functioning, I wasn’t passing uni so let’s just say I wasn’t functioning very well. Teaching is another type of performance that I enjoy.

Professional Presentations

During my professional career the main performances I’ve been involved with are presentations. My most nerve wracking experience was getting up in front of the whole company during an all hands and talking about my struggles with depression. Getting that venerable in front of such a large crowd is another one of those big, “getting out of my comfort zone” experiences. It’s definitely made giving technical presentations easier. Interviews are another performance. A lot of people hate interviews, in a weird way I enjoy them. Having that opportunity to talk about my passions in software testing is what I enjoy. I am narcissistic. I remember doing a first year psychology 101 personality test during uni, I scored very highly on the narcissistic scale and I’m ok with that. It’s only an issue when it’s combined with a lack of empathy.

I’ve been involved with a few community bands since moving to Sydney. The Sydney homotones and Sunday Assembly being the main ones. I’m not actively involved with any now but I would love to join a community swing band. Or do some taiko drum classes. Or learn how to play the double bass. Garhhh, I can’t decide.

My favourite presentation has been my talk at YOW! Connected last year on using robots for mobile testing;

I was able to combine my passion for music, robots and mobile testing. #Winning at life.

I’ve collected a bunch of hints and tips on giving presentations. Reach out to me at sam[AT]thebughunter.com.au if you’d like a free consultation.

Evolution of my CV

My CV has evolved a bit over the years. But there have also been a few constants too. I’ve always tried to keep my CV under 2 pages, my most recent one is 1 page with embedded links, it’s more like a portfolio.

Sam Connelly Tester Profile 2014

I used this CV to apply for my role at Tyro, it was created using Word and it’s interesting to read over how I presented myself 4 years ago. This was my first attempt at putting the 5 c’s of testing on my profile.

Sam Connelly Tester Profile 2016

I started experimenting with the 1 page CV, using Canva (an online designer’s tool). I was told somewhere that dates didn’t matter as much as duration. I used this CV to get my role at EPAM Systems. I still have the 5 ‘c of testing but I’ve replaced crazy with coding.

Sam Connelly Tester Profile 2017

This is a 2 page CV that I used to help me get my role at Campaign Monitor. It went through a few iterations and I had a few other ideas in how to tweak/and experiment with it. I also wanted to experiment with a timeline representation;

timeline view of my CV

I never submitted any CV’s with the timeline view but it was an interesting idea.

Bug Hunter Sam Connelly 2018

This is my latest iteration, it’s a 1 pager. Created using Google Docs. I’ve dropped the 5c’s of testing idea. If I was to keep it, I would mention it but link out to a blog post about it. I’ve also adjusted the date I graduated from Uni. Because of my exchange year, changing course and bout of chronic depression my uni was all over the place. I had done most of my course by 2012 and was only doing 1 subject a semester in 2013, I was doing a full time testing contract at the time and had done a 6 month part time testing job before that. I recently had someone reject my 2017 CV because the recruiter did this quick check; 2017 minus graduation year of 2013 only equals 4 years of experience = rejection, we are looking for 5+ years experience. So instead of trying to explain this I’ve just put 2012 as my graduation year.

The whole point of a CV is to make you seem like an interesting enough person to invite into for an interview. Think of it as a user interface with that whole purpose in mind. How can you simplify the data and layout to make it easier to read? How has your CV evolved over time?

Back on the job market

I find myself back on the job market after a break up with Campaign Monitor. I didn’t successfully pass probation. It was a mutual thing and both sides of the discussion were adult about it. These aren’t easy conversations to have and it doesn’t serve any purpose to get angry and rage quit. I am a little sad to leave because I enjoyed the company and people but I wasn’t able to advocate for quality in a way that added the business value they needed from the role.

Depression and Job Hunting

When I was job hunting around 8-9 months ago, it took me well over 2 months to find a job and interviews with over 13 companies (blog). However in that situation I wasn’t in a rush and was willing to wait for something that looked like it would fit me well. The constant rejections were hard to deal with; especially when I had been experiencing a spell of imposter phenomenon and feeling like I was not good enough for anything. I also broke my ankle during these job hunting efforts which had a huge impact on my mental well being (blog).

My broken ankle contributed to a relapse of depression at the start of the year. Because of this I wasn’t able to give my 100% to the new job at Campaign Monitor and this negatively impacted the engineering’s team view of the Quality Coach role. Once your perception of value is seen in a non favorable light, it is very challenging to recover. You only get one shot at leaving a first impression and your reputation is built up on that. I didn’t do a great job when I started, then I tried a new team and a new process and saw some improvements. However there were still some doubts if this role was what the company needed and if it was the right fit for my skills. I went to a third team for the last 3 weeks but I feel like the decision had already been made by that point.

Keeping Track of Job Hunting

I used a spreadsheet in my previous job hunting efforts to help me keep track of where I was up to with every company;

spreadsheet of previous job hunting efforts

With this spreadsheet I noted the source of  the lead; I was relying on mostly LinkedIn and a technical recruiter from Opus. I noted down where I was up to in the interview process, excitement for the role (out of 5) and any follow up notes. I also noted the few companies who contact me after I had received a successful job offer.

Will I do the same thing this time? I’m not too sure. I’ve got the luxury of around 2-3 weeks for job hunting before the personal budget starts getting a little tight but it would be worth experimenting with the spreadsheet again this time.

What am I looking for in a new job?

This time round I have more confidence in my skills as a tester. Last time I wanted to quit testing and try something different (either Android Development or Product Manager). However now I know I love growing my reputation for being known as a passionate tester. In a few years time I’d love to be running my own company focusing on running workshops for technical testing and mobile apps (e.g. TDD and kotlin, Continuous Integration and iOS). I’m not there yet so I’m looking for a mobile app testing role while I work on workshops in my spare time.

I’d love to have a role with support for speaking at conferences. I’m speaking at Agile Australia on how to get more people involved with testing in a few weeks, Selenium Conf in India at the end of June on using robots for mobile app testing, CAST in Florida in August on stories in becoming a quality coach. I now have an anecdote where that didn’t work out for me so that should be an interesting talk.

Why bother testing?

As a tester, I don’t practice selling my craft very often. This blog post is an attempt to put together my thoughts when asked the question, “why bother testing?”

Let’s talk about bugs

When was the last time you used some buggy software? How did it make you feel? Did it cause you to swear at your computer in frustration? We are surrounded by software full of bugs, some bugs are minor but some cause us to pull out our hair in frustration. Some bugs when discovered cause nightmare headlines to spread like wild fire. Buggy low quality software is hard to sell, maintain and keep people using. Your customers won’t rave about your products to their friends if they think it’s shit.

Your customers won't rave about your products to their friends if they think it's shit

Testing doesn’t improve quality

Testing itself doesn’t improve the quality of the product, but it can help highlight issues that could impact the perception of quality. Bugs will always exist in software, it’s impossible to test for every possible scenario every time before releasing to production (especially in a world of continuous integration/deployment) but if you knew about some the bugs in you products before your customers find them then you’d be in a better place to make informed decisions about what to release and when.

Testing is active discovery

Everyone does testing on some level, most of the time we are unaware of what we are doing until we discover a frustrating situation. Testing is a skill where you practice looking for quirks in software. Testers are constantly experimenting and observing the product and are well practiced in talking through their thought processes.

There are generally 2 activities people say they are doing when they talk about testing;

1 – Verify the product works as intended

2 – Actively go hunting for bugs

Activity 1 is usually where people talk about automation, when your product can be codified as “working as intended” you might be in a place to build some automation checking to help facilitate faster feedback. However you could build all of the automation checking in the world into your products but people can still think it’s shit. You users don’t care that your unit tests are less than 0.01% flakey.

Activity 2 can be easily practiced, it’s not like anyone knows where the bugs are in software until they are discovered. You can build things into your products that make it easier for people to report the bugs they find or you could do a chaos monkey approach to find out where your product crashes unexpectedly.

There are many other activities involved with testing but I want to keep this high level.

People say testing is risk mitigation

This is not true, testers may use their own internal risk radars to help guide their testing efforts but testing itself doesn’t mitigate any risks. I like the analogy; testing is like an x-ray, an x-ray on it’s own can’t tell you how healthy you are or prevent issues from happening but it’s a tool that can give you a snapshot in time so your doctor can make informed decisions about some element of your health.

Testing can help people answer questions like, “are we comfortable shipping this code to customers?”. Bugs are a fact of life but we can’t fix what we don’t know. Testing helps us discover these potential issues.