A painting of me

C++ Specialist

   15 June 2010, mid-morning

I recently updated my profile on LinkedIn. You’re supposed to list your specialties as part of your profile. I had originally listed C++ and a few other techno-speak terms. This didn’t seem quite right to me. I read this quote in Harper’s from The serfdom of crowds by Jaron Lanier and was planning on using it instead:

Personal reductionism has always been present in information systems. You have to declare your status in reductive ways when you file a tax return. Most people are aware of the difference between reality and database entries when they file taxes, yet you perform the same kind of self-reduction in order to create a profile on a social-networking site. You fill in the data: profession, relationship status, and location. In this case digital reduction becomes a causal element, mediating between new friends with whom most information is exchanged online. That is new.

Yeah, it didn’t quite fit. I settled on, “Is programming too vague? Because I’m pretty good at that.” I think i’m a very good C++ programmer, but would I call that my specialty? What does that even mean?

I was thinking about this again today while reading Google’s C++ Style Guide. I program in C++ every day, but while looking through the guide i’d stumble upon things I hadn’t thought about in ages. friend functions? I had basically forgotten these things existed, probably because it’s been a long time since I have had to write a stream operator for my own classes. I had long since forgotten there was any nuance that surrounds pure-virtual destructors. I can’t remember the last time I had to write a functor. I’ve never written my own allocator. I have a giant tomb on my desk that describes C++ and I wonder how much of the language I actually touch. So, what makes someone a C++ specialist?



  1. A C++ specialist is someone who is the author of one of those fat C++ books. ;-)

Don't be shy, you can comment too!

Some things to keep in mind: You can style comments using Textile. In particular, *text* will get turned into text and _text_ will get turned into text. You can post a link using the command "linktext":link, so something like "google":http://www.google.com will get turned in to google. I may erase off-topic comments, or edit poorly formatted comments; I do this very rarely.