Jonathan Boccara's blog

NEW! Get a Mini-Ebook on a C++ Topic Every Month

Published November 26, 2019 - 0 Comments

There is just too much to know to master programming in C++.

I’m not talking about putting together small programs in C++. I’m talking about mastering the skills that are required to create industry-level software.

When it comes to the code itself, you need to master at least the following things:

  • the core concepts of C++,
  • the additions of C++11,
  • the additions of C++14,
  • the additions of C++17,
  • soon the additions of C++20,
  • where the language is going,
  • the standard library, and its latests additions,
  • the main libraries of Boost,
  • how to write clean code,
  • how to design robust classes,
  • how to read existing (legacy) code,
  • how to refactor code,
  • how to write tests.

Each of those has a large number of ramifications, all of which amounts to an astonishing amount of knowledge.

And somehow you need to absorb all this knowledge to be an efficient software developer.

Fortunately, you don’t have to have all this under your belt on your first day at work, nor even on your first year.

But you’re expected to grow your skills steadily over the months and years of your career as a software engineer. As the fundamental Pragmatic Programmer book reminds us, learning continuously is one of the most important things for a developer.

This is one of the reasons I started blogging some three years ago.

A trove of articles

Blogging at a regular pace, with two posts a week, ensured that you and I kept asking ourselves questions and learn new things on a regular basis.

The topics of those blog posts span across the categories we listed at the beginning. So to improve those skills, you could go back and read the articles on Fluent C++… except there are just too many of them!

There are several hundreds of articles, and their chronological order doesn’t always follow a logical order.

Over the past few weeks, I’ve made a huge work of reviewing and sorting through all the articles ever published on Fluent C++ (yes, the 300+ of them!). During this analysis, I discovered how we can leverage on this mass of articles to improve our skills: assembling articles on the same topic in a mini-ebook.

Mini-ebooks

A mini-ebook contains a selection of articles that could have been written years apart, but that touch on a common topic.

Let’s take an example: learning the algorithms of the STL. We know that we need to know the algorithms, as well as how to use them, even how they’re implemented, and how to extend them to fit our needs when necessary.

That’s a lot of work! Where to start?

To help with that, we can usr a mini-ebook made of four articles concerning the STL algorithms that are predicates on ranges, with:

  • An article that presents the STL algorithms in this category and how they relate together, to make it easy to remember them,
  • An article that shows a concrete use case to apply the algorithms: identifying a prefix in a string,
  • An article that digs in detail into the implementation of one algorithm,
  • An article that goes further and show you how to extend this algorithm.

Those articles together approach this family of algorithms under various angles. This allows to explore the topic in depth, as well as take a step back compared with reading the articles individually.

(By the way, if you’d like to get this particular ebook, just shoot me an email and I’ll be happy to send it to you.)

Get those mini-ebooks every month

Reading one mini-ebook is great, but this is not very continuous when it comes to learning.

What would be really great is to read this kind of ebook on a regular basis.

To do that, I’ve created a new tier for Fluent C++ Patrons. Patrons are awesome people that contribute to the blog by supporting it with a few dollars every month.

This new tier entitles you to receiving a mini-ebook on a specific topic (such as learning the STL algorithms) every month.

On top of supporting the blog, those contents will ensure that you get in-depth in a topic related to writing expressive code in C++ on a regular basis. Investing regularly in your learning is the best way I know (and that the Practical Programmer recommends too) to improve your skills as a software engineer.

This tier is for Patrons with a $9 pledge. But for a limited number of Patrons and for a very short time, it is currently available for a $5 pledge.

Check out the Fluent C++ Patreon page to know more!

Don't want to miss out ? Follow:   twitterlinkedinrss
Share this post!Facebooktwitterlinkedin