Daily C++

The Dailies are a practice that changed my life as a software developer. My goal is to make you benefit from them too, so that you get better in C++, help others get better too, and have a real impact on the quality of your company’s codeline.

What Dailies are, and why you should do them

The Dailies are a new format of presentation designed for people who need to learn a lot of things and that don’t have much time. And software developers are often exactly in that situation.

In short, dailies are presentations of 10 minutes, given every day. They are internal presentations, so you deliver them to your colleagues, and you give them right in the office spaces, where people work! The Dailies are structured in monthly sessions that you reproduce across the company, and work best if you keep a trace of those presentations, in text or in video, to let people go back to them. For more details, check this introductory post about the Dailies.

By experience, people LOVE that kind of bite-sized contents. It’s become a regular practice in my company, I’ve already presented it at several conferences and people at other companies picked it up. Actually, as I’m writing these lines, another conference just got in touch and asked me to speak about the concept of the Dailies at their event. So, chances are that the people from your company would welcome this way of delivering contents too.

Why are Dailies so popular? Well, 10 minutes is short enough to fit into the schedule of pretty much everyone, and also short enough to stay focused during the whole talk. The fact that it’s given by someone from the company makes it all the more relevant, and the fact that it’s given right where people work means that it’s super easy to attend: just spin your chair, listen to the Daily, and then carry on with your day’s work. Not a second is wasted.

How it works in practice

The idea is to present the contents of your Daily session to everyone in the company that is interested in your topic – in C++ for instance. But since it’s not realistic to make everyone move to a meeting room every day to attend a talk, the presenter goes every day to a team’s office (though you can group neighbouring offices) to deliver the 10 minutes talk.

It makes things simpler to organise the sessions by months. For example in January you start the Daily C++ in your own team’s office. Then in February you go deliver the same contents that you did in January, but in the office space of team X this time. In March, you deliver the same contents again but to team Y, and so on. And when you’ve been to everyone who’s interested, you can start over in your office space with new contents. So for each round you need a set of daily talks, containing something in the ballpark of 10 to 20 presentations.

Starting the first Daily session in your own team’s office is easier because it’s with people that you know, your closest colleagues. You can invite people from other teams to attend too if they’re curious. After all, it’s just for 10 minutes so they don’t risk much to try and come. But this will start spreading the word about the concept in your company.

How do you organize a Daily in practice? At the beginning of a month, agree on a time with your team, say 11.00am, and schedule a meeting located right in the office space of the team, every day, for the next 10 to 20 business days depending on the size of your set of talks. Show up on time, deliver your contents of the day in about 10 minutes, and take questions at the end (except the shorter ones) to respect everyone’s time. In general you won’t have a projector in the team’s office, so the best tool to use is a whiteboard.

Here is what a Daily can look like:

How you will benefit from animating a Daily

By animating a Daily C++, you will learn in the most efficient way: you will learn by teaching. Along the way you’ll get the points of view of the various people you present to, and this is a very enriching experience.

Indeed, you get to meet a lot of people. And amongst them you’ll meet people that share your passion about the topic you are presenting, with whom you can constitute a group of interest – your C++ friends in other terms. You will learn from each other. And with time, an active group of interest edges its way towards being a group of experts.

The more Dailies you do, the better you get at it, the more people you meet, the more enriching discussions you have, and the more best practices you spread in your company.

This is really something you want to try. And if, for some reason, it doesn’t work out? You have nothing to lose, it will just have been an experiment. And if it does work out? Well, other people in your company may even pick up the concept and apply it to their own area of expertise! That is what happened in my company.

Some C++ contents are already available for you

Despite the short format of a Daily talk, it can take time to prepare it.

But here is the good news: there are a lot of contents adapted for your Dailies already available on Fluent C++. Most articles focus on one precise topic, are structured in a progressive way and contain an amount of contents that fits in about 10 minutes. In fact, I use them as material for my own Daily C++ sessions at Murex.

The articles are read and shared by a lot of people, and benefit from smart reviews. And the number of articles keeps growing.

You will find the articles that I believe are the most adapted to a Daily C++ session marked off with this logo:

You can also use them even just for getting your Dailies started quickly, and see how this practice resonates with your colleagues.

I would love to hear from you if you decide to try out a Daily session in your company, and to know how it went for you. Drop me an email, or show the world the awesome things you’re doing by tweeting on #DevDailies or Tweet me directly about it. This will be encouraging for me to carry on. Also, I’m available for you if you have any question, feedback, or if I can help you in any way.

So, shall we start the Daily C++ session for this month? If so, let’s go see what you can put into it…