By October 27, 2017

The Dailies: An Agile Way to Spread Knowledge At Work

When we developers branched off from the human race, we became a very diversified sort of species.

There are web developers and software developers, developers in startups and developers in big companies, experienced veterans and fresh newbies, and we work on mobile apps, embedded components, operating systems … you name it.

But despite our diversity, there is one thing that we all share, and that ties us to our common ancestor: We all love to learn things.

We read tons of books, blogs, and magazines; we watch hours and hours of videos, conferences, and live talks; we listen to podcasts every day, go to user groups several times a week, and have frequent conversations with our co-workers or fellow students who are dripping with new insights on technology.

Sound like your typical day? Most likely, you wish it did, but it doesn’t. This probably sounds more like a dream schedule than day-to-day reality.

This is because there is something else we share as developers: We’re busy. There is so much to do for work and sometimes it gets hard to dedicate as much time as we’d like to learning.

But the thing is, as a developer, if you don’t learn regularly, you wilt—both in your skills and in your motivation.

So why not change the way we organize our learning in the workplace?

Dailies are a great way to do just that.

What Are Dailies?

Dailies are live presentations made in the workplace that follow a set of rules. Those rules are designed to enable presenters to transmit a lot of knowledge to people who don’t have much time.

Here are the rules:

  • Dailies are presentations that last for about 10 minutes.
  • Dailies are given every day, once a day (hence their name).
  • They are internal presentations, given by the people of the company to the people of the company. All the daily talks on a given topic are typically presented by the same person.
  • They are given right in the office spaces, where people actually work.
  • They are packaged into monthly sessions (more on this is a moment).

And the topic of a Daily can be pretty much anything that can be split into small chunks: learning a language or a technology, explaining a big project you’ve worked on, and so on.

The main objective of these rules is making Dailies easy to attend. Short presentations allow the speaker to present information in little bites, the kind that can fit into a busy schedule. Pretty much everyone has 10 minutes available in their day. But these daily little pieces of knowledge build up over time, and after a couple of weeks, you will have learned a lot about a particular topic.

Moreover, the short format makes it easy to stay focused. The 10 minutes go by fast and people don’t really have time to zone out.

And since a Daily occurs right in your office space, the only thing you have to do to attend it is turn back your chair, listen to the Daily for about 10 minutes, and then carry on with your day’s work. Plus it creates a kind of cozy atmosphere.


François is presenting a Daily Java at Murex.

What can you do a Daily on? Pretty much anything. In my company, we’ve seen Dailies on Java, C++, functional programming, user interfaces, SQL, mathematical derivatives, and even Bitcoin.

What it takes to create a Daily is a team willing to spend 10 minutes listening to a presentation on a given topic every day in their office, and someone who is willing to present it to them every day over the course of a month.

Monthly sessions

Dailies are based on the principle that knowledge gets delivered to the people of a company without them having to move every day to a training room.

So, to make their Daily available to every developer in a company who is interested in a given topic, JavaScript for instance, the person who presents the Daily on JavaScript has to go from team to team to reach people.

To make this practical for everyone, Dailies are organized in monthly sessions. That is to say, the speaker gives all their presentations about JavaScript (for example) in October in their own office. The following month, they go every day to the office of another team interested in JavaScript, and deliver the same content to them. And so on, until they have gone to everyone who is interested in this topic.

To support these presentations, the speaker needs a set of 10 to 20 talks on their chosen subject, which they can deliver to the different teams. These talks can be filmed and uploaded to a wiki so people are able to go back to them afterward, accompanied by a written transcript, or the speaker can just do them a cappella if they don’t have the time to develop supporting text or videos.

And when the speaker has gone to everyone, they can start over with a new set of 10 to 20 talks.

So in practice, at the beginning of a month, the speaker agrees with the team on a time (say, 11:00 a.m.) and schedules a meeting right there in the team’s office space, every day, for the next 10 to 20 business days (depending on the size of the set of talks).

Then the speaker shows up on time and delivers their content for the day in about 10 minutes. Questions can be asked at the end of the Daily (except for the shorter ones), to respect everyone’s time. In general, there won’t be a projector in the team’s office, so the best support to use during the presentation is a whiteboard.

The Major Benefits of Dailies

Those small chunks of information, delivered right to your office space, quickly build up over time and enrich your knowledge on a particular topic.

But Dailies also encourage communication: Since the speaker comes to your office, it’s easy to go speak to them after the talks, ask your questions, and express your opinion on the topic of the day.

This is for attendees, but let’s talk about how presenting a Daily can be useful to you.

One thing to remember is that you’ll learn in the most efficient way by doing Dailies: by teaching. Presenting on a topic makes you assimilate what it is you present and gives you a more global vision of it.

Also, by hopping from team to team, you’ll get to meet a lot of people along the way. I reckon I’ve met about 150 developers in my company who I wouldn’t have known otherwise. And meeting all those people is a very enriching experience, for at least two reasons.

One, they share with you questions and remarks on the topic that you present, and this will give you new points of view on it. You’ll get much deeper into your subject, and discover aspects you probably didn’t know existed.

Two, those people who come up to you after your talk will be the ones who are passionate about the same topic as you. Meeting them will let you know who they are and give you some JavaScript friends (or Python, or C++, or whatever your topic is) in your company. And in such groups, you can learn a lot from each other.

Finally, by disseminating good coding practices through Dailies to all the people interested in acquiring this knowledge, you will make a real impact on the global quality of the codeline of your company, because your fellow developers will be able to put the content of your talks into practice in their day-to-day work.

There is plenty of content out there

As you can imagine, even if 10 minutes is a short time, it can take time for the speaker to prepare, particularly if they’re aiming to provide a written transcript (it takes me an average of two and a half hours to write a detailed transcript for a Daily session).

But there is one type of existing content that typically fits into a 10-minute oral presentation and that can be found in embarrassing abundance all over the internet: blog posts.

Blog posts are short pieces of information, and on specialized blogs you can find lots of articles going deep into a particular subject. Blogs are great learning resources—actually, if you’re reading Simple Programmer, you’re already aware of this, aren’t you?

But at the same time, there are many developers who don’t read blogs. Dailies are a way to bring that content to the software developers who would benefit from it.

If you have the resources to produce your own content for Daily sessions, that’s awesome. Maybe you should consider starting a blog, too.

But if you don’t have the time to produce 10 to 20 talks every couple of months, then you can consider reusing the content on existing blogs. Of course, you’ll need to ask for permission from the authors of the articles, but chances are they will be delighted to see their content diffused to more people.

As both a blogger and a Daily presenter, I use the content on Fluent C++ to fuel the Daily C++ talks I give in my company. Feel free to use them, too. You’ll find the most adapted posts flagged with this logo:

Be the one who spreads the knowledge

Could you envision yourself animating a Daily session at your workplace and spreading bits of knowledge every day to the various teams of your company?

I’ve tried the experience and, frankly, it has changed my life as a software developer.

I have discovered a lot of things on C++ and on software development by preparing and presenting the sessions, and by meeting the people who attend my Daily sessions. I have met fantastic people with whom I can now interact, and I see impacts on the codeline related to the topics we tackled in the presentations.

Find relevant content or create your own, spread knowledge to your colleagues, become more well-versed on your subject matter, and meet passionate people. Bring Dailies to your company.

About the author

Jonathan Boccara

Jonathan has been a C++ software developer for 6 years, working for Murex which is a major software editor in the finance industry. His focus is on C++ and in particular on writing expressive code, with some insights coming from Functional Programming with Haskell as a second language. He blogs regularly about expressive code in C++ on Fluent C++. You can also find him on Twitter @JoBoccara.