Thread: What makes you a C++ expert?

  1. #1
    Registered User MutantJohn's Avatar
    Join Date
    Feb 2013
    Posts
    2,665

    What makes you a C++ expert?

    This question is for anyone, really, but I'm only really asking it because I saw phantom say that he had 15 years experience with C++ and was still learning new nuances of the language. So this got me wondering, if I know this much after about 2 - 3 months of C++, how far will I be if I keep doing this 15 years down the line?

    All you other C++ experts, how do you define your expertise with the language?

    What are the things you've learned over the years that make you an 'expert' and by 'expert' I mean, acquainted with the subtleties of the language that allow you to write code with superior throughput, as that is nearly the only thing that matters now. You can always buy more RAM, you can't buy more time.

    If anything, I'd say that I'm not particularly good at solving a broad range of problems but I am really good at using C++ to solve a particular problem.

    But I'd say expertise grows because the C++ standard and STL change constantly but I think some people are stuck in 1998. Or was it 99?

  2. #2
    Registered User
    Join Date
    Apr 2013
    Posts
    13
    What phantom is saying here is just a bit aggrandized. With that many years of programming experience, I am sure he is quite knowledge about most aspects of C++, even the nuances. He's only emphasizing the hold provervb of 'there is still much one can learn from something old.' In the simplest terms, I believe an expert is someone who knows nearly every aspect of what they are said to be expert in. But since most knowledge is not static, an expert can still be learning, even though they are an expert. If an expert does not continue to learn, they will eventually no longer be considered an expert. Being expert is a full time job. I'm sorry I couldn't give you the definite answer you might have sought, but hopefully, I answered a part of your question.

  3. #3
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    What makes an expert? God, I started writing a response to that question about 15 hours ago and gave up.

    Expertise is a very hard thing to pin down. At the core, it's the ability to quickly comprehend a situation, make judgments, and execute actions to reach goals. This isn't necessarily the same thing as being handy with the language. Language is full of nuance, but so is everything else. I've met programmers who had knowledge and speed, but lacked some of the wisdom required to make better decision at early stages of project development. I also know programmers who may be lacking certain technical knowledge but understand how to approach a problem in a way that mitigates their lack of know-how. Both characteristics could be considered "expertise" under certain definitions.

    I had typed a bunch more but it's all gibberish. But remember this: expertise is a quality that other people ascribe to you, it should never be something you ascribe to yourself.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  4. #4
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    If I ever become an expert, I'll let you know what it takes to become one. Be patient, because it will be a long wait.

    I knew one person who I considered to be an expert. She denied it.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  5. #5
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    If I ever become an expert, I'll let you know what it takes to become one. Be patient, because it will be a long wait.

    I knew one person who I considered to be an expert. She denied it.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  6. #6
    Registered User
    Join Date
    Mar 2012
    Posts
    110
    I remember how I felt when I realised that there are not one living person who has skills worth mentioning in all fields of mathematics...

    The issue with code languages, take C/C++ for instance, is that you really need to be very skilled in the implemented field. You need to know the algorithms used, how the develop reasoning suitable for code etc in your field to be of use as a coder. A plain coder used by an other scientist is never good. Then you have a situation like in the biology/bio-informatics. I've been working with biologists and bio-inmormatist and there are so many issues I'd be sitting here all day if I tried to put them down in this post.

    Well that's just my... humble thoughts.

  7. #7
    Registered User
    Join Date
    Apr 2013
    Posts
    1,658
    Most programmers end up specializing in some type of programming and may end up becoming experts in their specific field of programming, but only use a subset of all the features of the C++ language which includes the standard template library and a standard library function set. It's more likely that most of the C++ "experts" can be found in the field of education, and the people that maintain and update the language standards for C++.

  8. #8
    misoturbutc Hodor's Avatar
    Join Date
    Nov 2013
    Posts
    1,787
    I just am.

  9. #9
    Tweaking master Aslaville's Avatar
    Join Date
    Sep 2012
    Location
    Rogueport
    Posts
    528
    Quote Originally Posted by grumpy View Post
    If I ever become an expert, I'll let you know what it takes to become one. Be patient, because it will be a long wait.

    I knew one person who I considered to be an expert. She denied it.
    Of course she would because she doesn't consider herself as one ; she also struggles with stuff.

  10. #10
    Registered User
    Join Date
    Jun 2011
    Posts
    4,513
    Quote Originally Posted by Aslaville View Post
    Of course she would because she doesn't consider herself as one ; she also struggles with stuff.
    I think this idea was well summarized by brewbuck: "...expertise is a quality that other people ascribe to you, it should never be something you ascribe to yourself."

    Being knowledgeable in a complicated field means having a good sense of how deep the subject matter has been collectively explored, thus allowing you to gauge your ignorance level relative to the potentially "complete" knowledge no individual can ever achieve themselves.

    Those looking in from the outside, with little or no experience in that field (or a specific branch of that field), don't have a full sense of that depth - they just see a level of absolute knowledge which to them might make that person appear to be an expert.

    Even to those who do have a sense of depth of the field, someone who appears to have a greater knowledge (i.e. closer to the point of "complete" knowledge) can appear to be an expert.

    However, someone who is intelligent and honest clearly sees the gap between their current knowledge and the theoretical "complete" knowledge, which makes them hesitant to call themselves an expert.

    In short - it's all relative.

  11. #11
    Registered User MutantJohn's Avatar
    Join Date
    Feb 2013
    Posts
    2,665
    Alright, well thank you guys for the responses.

    I've seem some job applications that have requested a C++ 'expert' or 'guru'. Basically, if you had to get a programming job, what would you tell the interviewer that makes you so good? Especially, at C++?

    One thing I learned from multithreading was writing cache coherent code or at least, consciously trying to. I've also started consciously using the stack over dynamic allocation, now that I've learned the full cost of memory look-up. By this, I don't mean that the stack isn't in the RAM but rather, malloc() has to search for a validly sized region to write to while stack allocations, you pretty much automatically know where you'll allocating because it's always the address of the top of the stack.

    These are just a couple of the big things to have radically changed my style and basically woke me up into paying attention to what I'm doing. And I would never go so far as to say that these traits alone make me an expert but they are definitely something I didn't know like 9 months ago. At 23, it's hard to even imagine myself 15 years down the road. I'd be like 38? Yeah... That's waaaaaaaaaay too far away for me but I guess it actually happens and that just freaks me out so I was trying to peek at the end and ask about what I might be like 15 years from now 'cause I am never going to stop programming.

  12. #12
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Quote Originally Posted by MutantJohn View Post
    I've seem some job applications that have requested a C++ 'expert' or 'guru'. Basically, if you had to get a programming job, what would you tell the interviewer that makes you so good? Especially, at C++?
    Change your name by deed poll to Barney Stroustrup, Scott Myers, or Andrew Andrescu and carry a book by Bjarne Stroustrup, Scott Meyers, or Andrei Andrescu under your arm into the interview, put it quietly on the table in front of you. Let the interviewers make their own assumptions.

    Seriously, job adverts seeking an expert or guru is just a sign of a recruiter or employer who isn't really proficient in C++, who is seeking someone who is.

    All you need to include is

    1) A brief coverage of some non-trivial and useful software development you have done with C++.
    2) A discussion of how you believe your skills will be relevant, and what benefits you will offer the employer.

    For the second, it is a good idea to do some legwork and find out what type of work they do and, more importantly, what work they plan to do. Contact the actual employer (or people in the relevant work area if you can). Ask lots of questions of the recruiter (starting with "I might be interested in this position. Can you give me some more specifics?" [and have an idea of some specifics you want clarified]) before you even send in an application. If their response makes no sense to you don't apply. If it does, and it interests you, then tailor your application accordingly, emphasising your ability to contribute to whatever specifics you have found.

    Be careful about dropping in buzzwords, unless it is obvious the recruiter works that way. Even if you are working through a recruiter with a buzzword fetish, assume someone proficient in the job will be reading your application if your application manages to get past that recruiter.

    I wouldn't describe yourself as an expert or guru. Do describe the areas of relevant expertise and skills you have.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  13. #13
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    O_o

    Well, I agree with brewbuck that "expert" is a "very hard thing to pin down", but I'd say it begins with the application of knowledge not the acquisition.

    In this day of "wiki-$(anything)", the knowledge of expertise is ready-available, but the ability to successfully apply that knowledge is not so handy.

    Soma
    “Salem Was Wrong!” -- Pedant Necromancer
    “Four isn't random!” -- Gibbering Mouther

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. I need a c++ expert
    By ifecdr in forum C++ Programming
    Replies: 2
    Last Post: 12-06-2012, 03:18 PM
  2. i need a c expert..
    By riel in forum C Programming
    Replies: 7
    Last Post: 01-27-2008, 07:19 AM
  3. need some expert help here!
    By magix24 in forum C Programming
    Replies: 1
    Last Post: 04-11-2006, 10:36 PM
  4. the ask an expert is down!?
    By fmchrist in forum C Programming
    Replies: 3
    Last Post: 12-29-2005, 04:19 PM
  5. c++ expert
    By febrian81 in forum C++ Programming
    Replies: 2
    Last Post: 07-01-2002, 10:27 PM