A Newbie month at my local Ruby meetup had spurred me to give a talk for the first time. It was definitely nerve-racking considering I've only been coding in Ruby for a little over a year now. After submitting the topic of my talk, there was no turning back and I have to give my best shot.
Coincidentally, I came across a blogpost regarding giving technical talks by reInteractive which I found really encouraging and gave me a further boost of confidence. This has been really helpful to me and I would like to add my thoughts and experiences on why every developer should attempt to give technical talks and how to minimize the fear and trepidation.
How does giving talks benefit me
We love challenges and public speaking is a big challenge for the majority of the society. By overcoming a challenge, you build character and a certain amount of immunity towards fear, in this case, fear of public speaking. The ability to speak in front of a small crowd gives you the confidence when communicating with team mates and clients on a day to day basis. Being a good communicator is a very valuable skill as a developer and should be developed. We have also probably heard about this time and again that, speaking forces you to research on a subject matter thoroughly and as a result, you would understand it intimately.
Coming up with a topic to speak on makes you think
As developers, I know we do a lot of thinking and probably do it all day and even in our sleep (certain problems do get solved in our sleep). However, coming up with a topic to speak makes you think in an entirely different perspective. It takes a bit of work to identify an area of interest, a problem that you have endeavour to solve, or just general experience, to compose a talk out of it. To help ease the process, writing your ideas in Trello at the end of your working day is a start. You can then narrow down on what might interest you (and your potential audience) to warrant further research. Of course, it will be more adventurous to give a talk on a subject you don't really know about but would like to understand it more. For starters, it would be best to talk about something you are working on or have worked with, for example the usage of certain gems.
But my topic is too trivial and everyone knows about the subject matter
If you think that your topic might be suited for entry level, try talking during a Beginner/Newbie/RailsGirls night at the meetup. Understand that beginner nights are meant for speakers who are beginners as well. It doesn't matter if you think that everyone might have a great deal of understanding on what you will talk about because there will always be a handful of people who would find your topic very informational.
You will be surprised to find that there are a lot of people who really appreciate entry level talks rather than something that they might not have heard of before. Just keep in mind that it is always refreshing to have at least one entry level talk among the heavy weight topics. As a community who encourages and nurtures beginners, we should show more empathy towards the audience.
What if I can't answer every question by the audience
Ask for help. You're not going to be punished for not knowing an answer to a question. In fact, you will remember the answer for life and that is very valuable. Of course you should always try your best to present your opinion but you could get feedback on that from the audience as well. After all, we meet up to learn from each other and not judge on intelligence level.
You don't need x amount of years of experience to be able to give talks
You can always talk about your experience as well and by articulating your learning experience in a talk, you will be able to fine tune your learning strategy as well as inspire others. Lightning talk is a great way to talk about something relatively small but technical. A topic as small as how to use form_for is great for a 5 minute talk.
I get nervous doing public speaking
The proverbial phrase, practice makes perfect holds very true in gaining confidence when speaking. I have found that, people who nod in agreement of what you have to say, gives a boost of confidence which calms the nerves. Try looking for that one person in that audience who nods and try to focus your attention at that person. If you are absolutely anal about everything going as planned, gather some friends to be in the audience and stress that it is imperative that they nod when you are speaking.
As you can deduce from all the aforementioned points, it is mostly about a change in perception that would allay any fears in giving talks. Many a time, our fears inhibit us from doing anything. Once all these fears are alleviated, we are able to conquer anything that seemed challenging in the beginning. I hope that this would inspire you to have a crack at giving a talk at your local meetup group.