7 ms·
What about just surprise? I've met people who claim to be 'experts' in C++, but (for example) don't know how to use STL algorithms.
by octo_t 13y ago
What about just surprise?
I've met people who claim to be 'experts' in C++, but (for example) don't know how to use STL algorithms.
- marvin 13y agoThe article is pointing out a phenomenon related to interpersonal relationships, not technology. Part of interacting with other developers is nonverbal communication (or subtext) and the reactions it causes. So if you are genuinely surprised, a natural reaction would of course be to display this through verbal and nonverbal reactions. But at that point (or even before, as a matter of emotional awareness), people should probably stop and think for a bit what sort of reactions they want to cause in other programmers. Is the guy wrong (in the sense of giving the wrong impression) for calling himself an expert even though he doesn't know some STL features of C++? Is this something that should be communicated to him? Would it have a net positive effect on your working relationship if it was? Do you feel threatened by an expert who doesn't know this feature? Is there a possibility that you are wrong and that he is only missing a specific feature that you yourself have worked with but is not necessarily stanard? Is your (overt) surprise meant to evoke a certain reaction in the other developer? Would it make your working relationship easier if you hid your surprise instead of making a show of it? Etc. I hope this comment doesn't come across as condescending, but this sort of interpersonal communication is hard for a lot of programmers I know (at one point including myself). Being aware of these things can help smooth over rough points (and improve productivity, even if you are looking at the purely utilitarian perspective and ignoring general happiness).
- collyw 13y agoGross generalization here but, I think developers are probably the group of people least responsive to subtle non-verbal communication. Lots of them seem unable to interact with the opposite sex successfully (and the two are related believe it or not).
- eksith 13y agoMy response to that is "Hmm. Interesting". Overt surprise, feigned or otherwise, is rarely a useful expression of emotion in my experience. This has the added benefit of making you more approachable to those who have legitimate questions.
- awjr 13y agoI'm guessing this may not have been something they have needed to use. I dislike the use of the word 'expert' when describing my skillset. Over the years you begin to realise other people can be more expert in different areas within the same knowledge domain. I find the willingness to learn to be more important.
- sillysaurus3 13y agoI'm a C++ expert, but I've never touched std::for_each, for example. (I could learn it in about two minutes if it became necessary to know, but it hasn't ever been.) In general, #include <algorithm> is a bit worrisome, because it usually indicates someone is trying to be overly clever with C++. On the other hand, if the codebase is written in that style, then the whole codebase should be consistently written in that style. The inconsistency is the worrisome part: either use it everywhere or nowhere. Anyway, STL is pretty massive, and knowing all of it isn't the same thing as being a C++ expert. Knowing what to avoid is almost as important as knowing what to use.
- jcd748 13y agoYou probably don't need std::for_each anymore. With C++11, you can do the following: for (const auto& element : collection) { } What's wrong with <algorithm>? I use it all the time for sort, swap, and random_shuffle comes up more frequently than I expect.
- sillysaurus3 13y agoThose are all fine. Actually, I forgot that sort was in <algorithm>. I was just recalling some of the horrors I've seen due to pre-C++11 fanciness. There seems to be a temptation for C++ programmers to overuse clever tricks. Luckily, with C++11 fewer tricks are necessary. Unfortunately, the gamedev industry will probably be stuck with pre-C++11 for another decade.
- emmelaich 13y ago> I'm a C++ expert .. > I forgot that sort was in <algorithm> Uhm, sillysaurus3, could I see you in my office please. :-)
- sillysaurus3 13y agoMy brain space is limited, so I use it sparingly. Memorizing which header file provides which function is something I've left out. That's what IDEs and Google are for. ;)
- mehrdada 13y agoClaiming to be an "expert" in C++ is one of the biggest red flags I can see in one's resume. The majority of people I've seen making that claim think of C++ as "C with classes", hence not even having a clue about the scope of C++, and most likely will create a massive number of memory leaks in the face of exceptions that they don't ever imagine ("hey, I put delete there! It'll get freed for sure!"). Frankly, it's often schools' fault to teach students C++ early, creating that genre of expert C++ programmers, by instructors who generally don't know better.
- praptak 13y ago> Claiming to be an "expert" in C++ is one of the biggest red flags I can see in one's resume. I remember someone from a C++ shop say: "C++ expert in CV? Expect the gloves to come off in the interview." I worked with people who work on C++ compilers and static verification tools. They wash their mouths after saying "C++ expert" ;-)
- krautsourced 13y agoTo be fair though, CVs are often written for HR people and not for Techs. And if, even though you have 20 years of experience, you still, correctly, state you know "some" C++ but are not an "expert", you're out. Because HR people are looking for "experts". That word means something entirely different to a regular person than it does to some hardcore developers.
- fecak 13y agoI wouldn't suggest listing "some" or "expert". Just stick to facts and not self-assessment. We can assess in an interview. If you want to emphasize one skill over another, list it more prominently/frequently, or quantify it with years of experience. People that put expert on a résumé are just asking for a beating in interviews when the hiring company has a strong team.
- lomnakkus 13y agoI think krautsourced's point was that you wouldn't even get to the interview without listing "expert".
- reuven 13y agoI spend about half of my time teaching programming classes, and I love it when my students ask me about something, and I have NO IDEA WHATSOEVER what they're talking about. If I can do some quick research, and answer them on the spot, I do so. But it's not unusual for me to give myself "homework," and then on the next day of the course I'm teaching, to tell them what I've learned. In many such cases, I've been quite surprised to discover just how little I know, even after many years of using certain technologies. And I'm thus very slow to wonder how an expert could not know something. We all work with a subset of a programming language, and while I might expect or hope that all experts would know all things, that's not the case. To my mind, it's more important that someone knows how to ask questions, read books, accumulate new knowledge, and then assimilate it into what they already know than to come with an encyclopedic understanding of a technology.
- rmrfrmrf 13y agoOK, I'll bite; what are STL algorithms?
- steveklabnik 13y agoThe "STL" is C++'s "standard template library." In the STL, there's an 'algorithms' package, that gives you a whole bunch of useful stuff: http://www.cplusplus.com/reference/algorithm/ http://www.cplusplus.com/reference/algorithm/
- danielweber 13y agoI did many years of serious C++ work without touching the STL because the shops I was at had their own versions of the STL (and for very good reasons given their particular domains). C++ is huge.