Last week I did a tech talk on Modern Maintainable Code. Specifically, I talked about the importance of self-documentation and techniques to make it clear what your code means, not just what it does. I also spoke about abstracting code organization, and did a quick tutorial on auto, move semantics, and smart pointers, with a focus on why they're not just convenient, they also make it harder for you to write certain classes of bugs.
The first 23 minutes of the talk (through abstracting code organization) is material that I expect will be valuable to all programmers in any domain and any language; your mileage may vary on the remaining sections depending on how actively you've been reading about those topics, though I guarantee I've thrown in some goodies that most people haven't seen yet.
Slides are available here.
Errata have been noted in the presenter comments section. In particular, the
decltype slides were no longer relevant (I removed an example) and I needed to call
.get() on the
unique_ptr's for my 3 line
MyIntVector copy constructor.
make_unique is also not available until C++14, but you can get an implementation that will compile in C++11 if you Google for it.