6 ms·
> So, yes, I am still learning Rust. I have always been very cautious about how much I tout my skill with C++. Sure, I know a bunch. Probably a good bit more
by wyldfire 7y ago
> So, yes, I am still learning Rust.
I have always been very cautious about how much I tout my skill with C++. Sure, I know a bunch. Probably a good bit more than the average bear. But the scope of C++ is enormous (even if you stop at C++03 there is a lot to know). And with new language standards it keeps growing.
Despite ~two decades of experience, I list my skill level with C++ as "intermediate" because "expert" paints a bullseye on your forehead. I could imagine tons of C++ questions that I could not answer off the top of my head. Those probably disqualify me as an expert and would involve a lot of embarrassing backpedaling in an interview.
I wonder how many times my resume was discarded because they needed someone with more than "intermediate" level experience with C++?
- deleted 7y ago[deleted]
- jerf 7y ago"I wonder how many times my resume was discarded because they needed someone with more than "intermediate" level experience with C++?" Don't be afraid to write "expert" with an ∗ with an explanation. You pass the initial screen and anyone hiring an "expert C++ programmer" who won't understand that caveat you gave just there is probably someone you don't want to work for anyhow....
- deleted 7y ago[deleted]
- bob1029 7y agoI wouldn't hesitate to place "Expert" on your resume if you feel you are exceedingly competent in many, but not all, areas. No one should be expected to have rote memorization of all language, compiler and platform features. That is just a ridiculous standard (and I know many organizations interview against it regardless). But, if you are a true master of your craft, it should only take you a day or 2 to ramp up on one of the more esoteric areas of your skillset. A master can quickly swap hats, assuming they are all more-or-less the same brand. This is a point I would try to drive home during an interview if you feel the perception is slipping. "I haven't dabbled in [XYZ framework feature] lately, but I could probably pick it back up in a few days." If I were running the interview, that's all I'd need to hear to put my mind at ease.
- quadrifoliate 7y agoI wonder how much this over-modest attitude of us continual learners is turning hiring into a market for lemons. That is, you are an "intermediate", but the overconfident person who's been doing C++ for two years and is touting themselves as an expert gets hired instead and you get to fix their disasters five years later. And I bet this affects women and other minorities in tech disproportionately.
- aidenn0 7y agoI don't remember which talk it was, but it was comparing an okay dev to a good dev; There was a slide where the "okay" dev rated their C++ knowledge as a 8 or 9, the "good" dev rating it as a 5 or a 6 and Bjarne Stroustrup rating it as a 7. [edit] Some googling later: https://www.slideshare.net/olvemaudal/deep-c/255 https://www.slideshare.net/olvemaudal/deep-c/255
- phaemon 7y ago"The object does not know about it's functions" That should be "its". Still, that's one way to force a fact into my brain...
- stephen82 7y agoThe best thing that could have happened to you is to get interviewed in C (!!!) when then position is supposedly for C++, and eventually you learned from people that worked for that company, that they just wanted a WordPress webmaster LOL! I'm not kidding, this is what happened to me 4 years ago. Don't worry about your intermediate level. For sure I can honestly say that I am more than honored to have a 'PhD' in C++'s "hello world" :D It's a language that I would love to work on exclusively for the rest of my life, if I could get hired much like those stories we read about back in the early '90s. They were hiring pretty much anyone who had an interest in computing, even if they were working on something completely unrelated to technology, and they were willing to train them. The fun times...
- LeifCarrotson 7y agoThat sounds like a disaster employment situation for someone who actually wants to develop a career in C++. In what way is that a win?
- samatman 7y agoIt sometimes happens that any steady paycheck is a win. Hope it never happens to you! But yes, it can happen.
- BubRoss 7y agoI don't think how you rate yourself should be based on the percentage of features and caveats that you know, it should be more based on how effective you are using it.
- dominotw 7y agoI learnt clojure the language in a couple of hours. Ofcourse, I am still learning the library and how to do things better in a functional way. But I was good to go with the language in a couple of hours.
- sdegutis 7y agoAnd by writing Clojure, you lose a lot of type safety and compile-time efficiency. Not that that's a bad thing, just pointing out that there's a trade-off that it makes in favor of a simpler language to learn and implement. There's also the matter of it being more verbose to represent certain concepts in Clojure due to lack of syntax, but that's harder to argue.
- dominotw 7y ago> just pointing out that there's a trade-off that it makes in favor of a simpler language to learn and implement. I am not sure thats a tradeoff, ruby and python didn't gain anything in terms 'lack of syntax' by trading off 'type safety and compile-time efficiency.'
- samatman 7y agoLearn, maybe. Implement, though? Pervasively-immutable data structures and STM were no walk in the park to write.
- dominotw 7y agoclojure's data structures are written in java
- samatman 7y agothey are indeed, what else would they be written in? I'm having trouble connecting this with what I said...
- fulafel 7y agoInterestingly ClojureScript's are self hosted: https://github.com/clojure/clojurescript/blob/master/src/main/cljs/cljs/core.cljs#L7858 https://github.com/clojure/clojurescript/blob/master/src/mai... The JVM Clojure story is probably just that the data sturcture implementations were done very early in the history of the language before all the type etc directives were there.
- ohazi 7y agoThere's the now famous anecdote that even Stroustrup rates himself a 7/10 at C++ proficiency. I've also worked on a handful of largeish (10k - 100k line) C++ projects both pre and post C++11, and also consider my C++ proficiency intermediate, even though I'm comfortable with the language and know how to fill in the gaps when I need to figure out something new, which now happens every 3 years. The language is enormous and complicated, and most people will forget how some of the rarer intricacies work if they don't use them frequently. And since most features are very useful in a few situations, but are not widely useful enough to change daily programming habits, this is basically guaranteed. The language is so big that intermediate is probably just the top of the scale now. Rust isn't that big yet (although it is getting more complex), but many more of the concepts in Rust are somewhat unique to the language, so you're not just learning new syntax. I think the "always intermediate / always still learning" feeling happens earlier with Rust than with C++ because of this.
- chris_st 7y agoAt my last job, we were trying to hire an expert C++ programmer, and every interview our C++ wizard would ask, "How do you rate your C++ knowledge on a scale of 1..10?" and pretty much invariably get a "8 or 9!" kind of answer. Then came the C++11 and C++14 questions, and yeah, they didn't have a clue. The guy they hired admitted that he wasn't a wizard, but said that he really wanted to become one.
- giovannibonetti 7y agoThis self-assessment ignorance phenomenon is well documented under the name Dunning-Kruger effect [1] [1] https://en.m.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect https://en.m.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effec...
- sandov 7y ago> "How do you rate your C++ knowledge on a scale of 1..10?" and pretty much invariably get a "8 or 9!" I'd guess that not even the members of the standard committee really know 90% of C++.
- viraptor 7y agoMy story for discovering that skill is not a single metric was trying describe my c# some time ago, which I learned from a completely different side than most people: - I've done heavily multithreaded network server running on mono/Linux - I've implemented faster virtual method dispatch for a custom CIL compiler - I've never touched popular .NET frameworks or GUI apps Do I know lots about c#? yes. Would I pass a c# test for an average job? there's a good chance I wouldn't because I don't know "that thing everyone else uses". I started listing languages in the "what did I achieve in that job" section rather than separate list.
- saagarjha 7y agoI said I "knew C++" just yesterday and got a stern reply saying that I couldn't possibly know the language without writing production code for at least 10 years. And that's even though I've been very careful to never put C++ as something that I am more than "proficient" at. I doubt there is a single person alive who knows the entire C++ specification; I doubt there is even a compiler that fully implements the standard.
- asveikau 7y agoSmart people who work in C++ already know this and aren't going to get on your case about it. It's a very diverse language in terms of common practices. There are many different accepted styles and many "time capsules" where particular language features were more or less fashionable in a time period, right up to the present. People can be opinionated about these things but shouldn't be judgemental. OTOH it might be a good idea to understand a couple of the sub-cultures and their big ideas, and know that there are tradeoffs involved, with an open mind towards every set of practices.