Rate yourself as a C++ programmer, 1 to 10

J

jeffc

How would you answer a question like this in an interview? I'm not interested
in gathering the average of folks on this forum. I'm interested in a strategy
for
a) evaluating yourself objectively
b) actually answering the question (which might or might not involve the anser
you came up with in a)
 
V

Victor Bazarov

jeffc said:
How would you answer a question like this in an interview? I'm not interested
in gathering the average of folks on this forum. I'm interested in a strategy
for
a) evaluating yourself objectively
b) actually answering the question (which might or might not involve the anser
you came up with in a)

I would rate myself as a solid 7.27 ... or 6.55 ... or 4.02 :)

A way to answer that question would be to identify a few areas of the
language you think can be omitted in your professional activities and
then come up with the number you feel comfortable using if need be.

Example:
- basic (built-in) types and operations, standard conversions
- user-defined types
- operator overloading
- standard C library
- standard C++ library containers (std::basic_string too)
- standard C++ library streams
- standard C++ library algorithms and general utilities
- exceptions
- templates

The order, of course, doesn't matter.

I am not sure whether one'd include one's knowledge of mathematics or
logic (in general) into rating oneself as a C++ programmer. Of course,
being a C++ programmer does mean being a programmer in general. So,
there, you have a couple more areas to include.

Something like that, anyway.

Another possible approach to answering that question is to set some kind
of standard of a C++ programmer that you (or the inquirer) would consider
10 (or 5 or whatever) and then compare yourself to that standard. For
example, you could say that Dr. Stroustrup is 10. Or you could say that
people like Bjarne, or Andrew Koenig, or Herb Sutter, are exceptions and
should not be judged using the same criteria. In any case, you get the
idea...

V
 
J

Jonathan Turkanis

Another possible approach to answering that question is to set some
kind of standard of a C++ programmer that you ...
consider 10 ... and then compare yourself to that
standard. For example, you could say that Dr. Stroustrup is 10. Or
you could say that people like Bjarne, or Andrew Koenig, or Herb
Sutter ...

There are always a few kids in the class who through off the curve!

Jonathan
 
V

Victor Bazarov

Jonathan said:
There are always a few kids in the class who through off the curve!

Yeah... I forgot to mention that you can only use the second approach
if you're good with _C++ exceptions_ (since you have to consider folks
like Bjarne or Andrew or Herb)... ;-)
 
A

Andre Kostur

Yeah... I forgot to mention that you can only use the second approach
if you're good with _C++ exceptions_ (since you have to consider folks
like Bjarne or Andrew or Herb)... ;-)

Or Alexandrescu (hopefully that's the right spelling).... his stuff on
templates still turns my brain into a pretzel.... :)
 
D

Dave Rahardja

jeffc said:
How would you answer a question like this in an interview? I'm not interested
in gathering the average of folks on this forum. I'm interested in a strategy
for
a) evaluating yourself objectively
b) actually answering the question (which might or might not involve the anser
you came up with in a)

I hate these red-herring questions during interviews. The more
appropriate question may be "How well can you express a solution to this
problem domain using C++?" (assuming that C++ is an appropriate language
for the solution).

So consider the problem domain that you're asked to solve and answer the
question above instead. That's probably what the interviewer wants to
know anyway.

-dr

"I don't want to be a C++ programmer; I want to be a problem solver who
uses whatever tools are appropriate for the job."
 
E

E. Robert Tisdale

jeffc said:
How would you answer a question like this in an interview?
I'm not interested in gathering the average of folks on this forum.
I'm interested in a strategy for
a) evaluating yourself objectively
b) actually answering the question
(which might or might not involve the answer you came up with in a)

First,
let's find out whether you are an amateur or professional programmer.

Is the word programmer in your job title?
Can you write programs in any other language besides C++?
Do you write programs for other people to use
that you don't really use yourself?
Were you ever hired and paid to write programs?
Do you expect the people who use your C++ programs
to be C++ programmers as well
and to modify your code so that they can use it?
Have you ever worked with other programmers
on a program that was so large that
no one programmer knew exactly how it all worked?


Very few employers really need expert [C++] programmers.
What they really need, regardless of what they say,
is people who understand the application domain
and who can solve problems in that domain.
Try to find out as much as you can
about the company that you want to work for
and how they use software to solve their problems.
Be prepared to explain how you can use C++
to solve some of these problems.
 
J

Jonathan Turkanis

E. Robert Tisdale said:
Have you ever worked with other programmers
on a program that was so large that
no one programmer knew exactly how it all worked?

I think I've written programs like this all by myself.

Jonathan
 
D

Dave O'Hearn

jeffc said:
How would you answer a question like this in an interview? I'm not
interested in gathering the average of folks on this forum. I'm
interested in a strategy for
a) evaluating yourself objectively

"1 to 10" is fairly vague. Apart from any doubts that I'm qualified to
rate myself, I just don't know what it means. "10" could mean "knows
and is comfortable using every corner of C++ in production code", in
which case almost no one is a 10. If the scale is linear, I'd be a 5 or
less. If it's logarithmic, I could get a better score.

In my experience, most of programming is using some framework or API,
not dealing with the language anyway. Though poor use of the language
can create an awful mess, e.g. disgusting COM code that does not use
exceptions and RAII when it could, Java code that leaks memory by not
removing event listeners, etc., past a certain point it just doesn't
matter anymore.
b) actually answering the question (which might or might not involve
the anser you came up with in a)

It depends who is asking the question. If for some ungodly reason a job
interviewer asked me the question, I would not answer it; I would dodge
it with some kind of joke. I have been asked some very funny questions
in interviews, such as if I'm able to write bad code fast and cover up
bugs in time for demos, but I've never been asked to rate myself 1-10.
 
E

E. Robert Tisdale

Dave said:
"1 to 10" is fairly vague.
Apart from any doubts that
I'm qualified to rate myself, I just don't know what it means.
"10" could mean "knows and is comfortable
using every corner of C++ in production code"
in which case almost no one is a 10. If the scale is linear,
I'd be a 5 or less. If it's logarithmic, I could get a better score.

I'll make it a little easier. I'm a 10. You can rate yourself
by comparing C++ code that I've written to C++ code that you've written.

A person with no C++ or any other programming experience might rate a 0.
Bjarne Stoustrup is a pretty good C++ programmer
but he's a professional computer programming language designer
and *not* a professional programmer.
As an amateur C++ programmer, he certainly rates a 10.
But I don't think that
he would pursue a job as a professional [C++] programmer
and he might not be able to keep a job as a professional programmer --
for lots of different reasons.
 
J

Jonathan Turkanis

E. Robert Tisdale said:
...Bjarne Stoustrup .. might not be able to keep a job as a professional programmer --
for lots of different reasons.

Just for fun, why don't you enumerate them.

Jonathan
 
A

Attila Feher

jeffc said:
How would you answer a question like this in an interview? I'm not
interested in gathering the average of folks on this forum. I'm
interested in a strategy for
a) evaluating yourself objectively

Evaluating as... for what? The C++ language itself has n+1 paradigms and
m+1 uses. Maintaining old systems? Template metaprogramming? Implementing
compiler(s)? Embedded development? Windows (MFC and other horrible
things)? GUI (Qt, wxWidgets etc.) programming? Should it be highly
portable C++ code? etc. etc. etc.
b) actually answering the question (which might or might not involve
the anser you came up with in a)

I think that there is no way to answer this question honestly. There is
only one answer I can think of, and that is: It depends.
 
A

Attila Feher

Andre said:
Or Alexandrescu (hopefully that's the right spelling).... his stuff on
templates still turns my brain into a pretzel.... :)

And he is working on adding threads to C++, memory model is done/ported.
 
M

Mike Hewson

jeffc said:
How would you answer a question like this in an interview? I'm not interested
in gathering the average of folks on this forum. I'm interested in a strategy
for
a) evaluating yourself objectively
b) actually answering the question (which might or might not involve the anser
you came up with in a)
Why stick with the reals? Answer '5 + 3i' and see what they say. This
is because you are interviewing them too, aren't you? :)
I was once asked something similiar - what are my strengths, and what
are my weaknesses? I answered 'intolerance' to both. :)
 
V

Victor Bazarov

Mike Hewson said:
Why stick with the reals? Answer '5 + 3i' and see what they say. This is
because you are interviewing them too, aren't you? :)

Hey, if your '5 + 3i' fits between 1 and 10, you may have trouble trying
to convince the interviewer (or interviewee, if you will) that you know
what you're talking about.
I was once asked something similiar - what are my strengths, and what are
my weaknesses? I answered 'intolerance' to both. :)

A good way to have your resume dumped into the trash bin.

V
 
W

Walter

jeffc said:
How would you answer a question like this in an interview? I'm not interested
in gathering the average of folks on this forum. I'm interested in a strategy
for
a) evaluating yourself objectively
b) actually answering the question (which might or might not involve the anser
you came up with in a)

I'd say that real C++ programmers would rate themselves on a scale of 0 thru
9.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,298
Messages
2,571,541
Members
48,278
Latest member
OSWDelmar

Latest Threads

Top