I’m a professional software developer who works mostly in C++. I have written a great deal of GUI and command line software for Windows, and some for Linux, over the last twenty something years. For the last decade or so, I have mainly written firmware for bare metal embedded systems based around Cortex-M micro-controllers. Yes in C++ (I knew you would ask), but necessarily interfacing with vendor C code and the like (generally as little as possible).

In my spare time, I’ve been known to ride a unicycle for fun. 🙂
Why “C++ for mortals”?
C++ has a reputation for being a very difficult language. I don’t really think this is fair. It certainly isn’t easy, and it takes a while to become proficient. But you could say the same of most programming languages. At least, I have not found other languages easier to use effectively: they each have their own strengths and weaknesses, their own nice features, and not-so-nice. C++ should not be a scary proposition, and the recent standards, starting with C++11, generally make life easier than it was in the past.
It is my firm belief – my personal experience – that one can write very useful and productive C++ without first having to obtain a degree in the Dark Arts. Even if you never write a template in your life – I hope you will, of course – you can still get a very great deal done with C++. It is wise to try to learn all that C++ has to offer, and to try to keep up with the language evolution through recent specifications, but you can write solid production code without needing to be an expert in all the many bells and whistles.
I hope to write articles which help other mere mortals on their own C++ journeys.
Why am I writing this blog?
I have been studying and using C++ for fun and profit for a very long time. I’m nobody’s idea of a guru, but I am nonetheless a reasonably capable and confident developer. I have lurked and contributed on various programming fora over the years, and have seen a very large number of posts from users who are struggling with this or that feature of the language. I’ve sometimes written lengthy, and hopefully helpful, responses directly in the fora. After writing a bunch of similar things several times, I thought it would be better to write a blog or something. So here we are.
Always learning
Another reason for starting this blog is that I will almost certainly learn things. I try hard to keep up, but directed learning seems likely to be more effective. If I want to write an article on something, I am probably going to have to refresh my memory, write some code, watch some videos or ask some questions. Mostly on the newer features, I guess. I am certain to make mistakes, and the corrections I receive will also be educational.