4 ms·
With all these folks excited by gcc releases (and really the C++11 features) it would seam like there's lots of folks still using C++. However, I have the harde
by mtanski 14y ago
With all these folks excited by gcc releases (and really the C++11 features) it would seam like there's lots of folks still using C++. However, I have the hardest time in the world recruiting good C++ engineers (here in NYC at least).
- joelthelion 14y agoWhat kind of things are you doing with C++? Also, what do you consider a "good C++ engineer"? I'm pretty sure I would fail a C++ interview requiring me to know trivia about obscure parts of the language, yet I do use C++ successfully almost every day.
- qdog 14y agoYep, our local c++ tough guy figures he's a 6/10 in c++ knowledge, and we're unsure if you can make it to 7/10. Yet, millions of instances of his code are still successfully running as we speak. I once had someone ask me if I was a c++ expert, I said no, did not get an interview. I guess I should have lied and hoped the questions they asked me fell in the realm of c++ I know.
- mtanski 14y agoSorry for being overly vague with the term "good". I guess I would break it down to 3 categories. 1. Solid understanding of CS concepts. You don't have to build a Red-Black tree in the interview (ugh) but you should know properties of self-balancing trees and when to use them. 2. Effective use of C++ . Not looking for C++ trivia here (or someone who memorized the C++ lite FAQ). But things like good practices when it comes to memory management, using templates, virtual destructors, functors (and operating / passing functions). 3. Good idea how things work under the hood. So concepts like atomic variable (why and when to use it), bit-packing data, avoiding branching in hot code paths, and allocation strategies (memory pools). Am I asking too much? I've found out that folks who have a solid grasp of CS, language and how things work under the hood can reason more complex things they don't know (yet). We're using C++ to build a relational database for storing lots of multi-dimensional time series data. We're leveraging Google's supersonic for execution (https://code.google.com/p/supersonic/ https://code.google.com/p/supersonic/). The other important pieces (like the IO subsystem, indexing, query planing, sharing & routing) we've built ourselves.
- revelation 14y agoThe problem is that there is a wide range of different coding styles, between "C with sanity" and "Boost.Spirit". You seem to lean more towards the C side, but that's not clear from the "C++ expert" label alone.
- mtanski 14y agoI forgot to add that C++ is a big language so I doubt that anybody out there can hold all the corner cases in their head without going to documentation.