    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
     <channel>
        <title>ACCU  :: Recent Interview Experiences (and Other Gripes)</title>
        <link>https://members.accu.org/index.php/articles/957</link>
        <description>Professionalism in Programming</description>
        <dc:language>en-us</dc:language> 
        <dc:creator>Administrator</dc:creator> 
        <admin:generatorAgent rdf:resource="http://www.xaraya.org" /> 
        <admin:errorReportsTo rdf:resource="mailto:webeditor@accu.org" />
       <sy:updatePeriod>hourly</sy:updatePeriod>
       <sy:updateFrequency>1</sy:updateFrequency>
       <docs>http://backend.userland.com/rss</docs>




<div class="xar-mod-head"><span class="xar-mod-title">Project Management + CVu Journal Vol 12, #1 - Jan 2000</span></div>

<table border="0" cellpadding="1" cellspacing="0">
    <tbody>
    <tr>
        <td valign="top">
            Browse in :
       </td>
       <td valign="top">

                                            <a href="https://members.accu.org/index.php/articles/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c13/">Topics</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c66/">Management</a>
<br />

                                            <a href="https://members.accu.org/index.php/articles/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c76/">Journals</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c77/">CVu</a>

                     &gt;                         <a href="https://members.accu.org/index.php/articles/c128/">121</a>
<br />

                                            <a href="https://members.accu.org/index.php/articles/c66-128/">Any of these categories</a>

                    -                        <a href="https://members.accu.org/index.php/articles/c66+128/">All of these categories</a>
<br />
</td>
   </tr>
   </tbody>
</table>




<div class="xar-error">
   <p>
 <strong>Note:</strong> when you create a new publication type,
the articles module will automatically use the templates
<em>user-display-[publicationtype].xt</em>
and <em>user-summary-[publicationtype].xt</em>.
If those templates do not exist when you try to preview or display a new article,
you'll get this warning :-)  Please place your own templates in themes/<em>yourtheme</em>/modules/articles . The templates will get the extension .xt there. </p>
</div>
<div class="xar-norm xar-standard-box-padding">
   <h1><strong>Title:</strong>&nbsp;Recent Interview Experiences (and Other Gripes)</h1>
<p><strong>Author:</strong>&nbsp;</p>
<p>
<strong>Date:</strong> 03 January 2000 13:15:35 +00:00 or Mon, 03 January 2000 13:15:35 +00:00</p>
<p><strong>Summary:</strong>&nbsp;</p>
<p><strong>Body:</strong>&nbsp;<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e18" id="d0e18"></a></h2>
</div>
<p>As a contract C++ developer I'm one of those who has been
unfortunate enough to have borne the full brunt of the slowdown in
the contractor market in recent months. In that period I have had a
number of interviews, some good and some not so good but,
collectively, they've revealed a diversity of interviewing styles.
These range from being asked virtually nothing at all to being
subjected to intense technical grilling. Now, I'm one of those who
frequently gets nervous in interview situations and I often make a
hash of questions I perfectly well know the answers to. However,
there have been many occasions on which I've been asked what I
consider to be poor questions and one occasion on which the
interviewers got the answers to two of their questions wrong, while
I was right.</p>
<p>One example of a particularly poor interview question I've been
asked is this: &quot;how frequently do you comment your code?&quot;</p>
<p>Had I been bolder I would have told the interviewer that it was
a stupid thing to ask. However, my response was to expand the
question and, instead, describe my commenting strategy. So I said I
try to provide sufficient summary comments such that someone can
get a rough idea of what my code is doing just by reading the
comments. I said that I comment my intention, e.g., why a
particular section of code is there or why it's doing what it's
doing. I also said that I attempt to minimise comments by making my
code as self-documenting as I can, paying attention to the names of
identifiers and routines; and also by assigning complex, or even
not so complex, conditional expressions to readable Boolean
variables.</p>
<p>This particular interview was primarily a &quot;personnel-style&quot;
interview, even though it was for a contract position. This means
that I was asked questions such as: &quot;name five terms that your
colleagues would use to describe you.&quot; Well, I was completely
floored by that one! I was also asked why I decided to become a
contractor. I was tempted to answer: &quot;to minimise the occasions on
which I'm subjected to personnel-style interviews!&quot; (Which is
true.)</p>
<p>Another interesting occasion was a very gruelling telephone
interview, with two interviewers in conference call mode. Although
I made a hash of several questions there were two questions which
they got wrong and I got right. One of them concerned pure virtual
functions. I pointed out that a pure virtual function need not be
overridden in a derived class. They claimed that it must. The
correct answer is that it need not be but if it isn't, then the
derived class remains abstract. They also claimed that the
Microsoft Foundation Classes do not contain templated collection
classes. Wrong again. Afterwards, I dug up the exact page reference
from Stroustrup on pure virtual functions and asked the agent to
pass it on to the client. Needless to say I was not offered the
position.</p>
<p>I have not been in the IT industry that long, having spent
several years in another profession. While I was trying to break
into the industry I had periodic conversations with a very
experienced C++ developer friend of mine who used to comment that
there was a lot of incompetence in the industry. I thought he was
exaggerating at the time but now I'm not so sure. I certainly do
not consider myself to be anything close to an expert. Many of the
contributors to C Vu are well above my level of expertise, but I do
constantly strive to improve and learn about best practices.</p>
<p>Other bugbears about the job-seeking process are the
imprecision, and often unreasonableness, of many job specifications
and the lack of knowledge demonstrated by recruitment agents.
Recently, an agent presented me with a specification that read
&quot;C++, Visual C++, Visual Studio and C development using Borland C++
5.&quot; This last requirement was a &quot;must have.&quot; I was also asked how
many years' experience I had of C, C++, Visual C++ and Visual
Studio respectively. There are several things that are
unsatisfactory about this scenario.</p>
<div class="orderedlist">
<ol type="1">
<li>
<p>Many agents seem to think that Visual C++ is actually a
different programming language from C++. By and large, these days,
if you're doing Visual C++ you're also doing C++ but not
vice-versa. What the agents should be focusing on is specifics such
as exposure to MFC or COM, as compared to generic C++. To be fair,
many do, and often it's not entirely the agents' fault, as they are
just following the client's brief.</p>
</li>
<li>
<p>Visual Studio is a suite of development tools. Does the client
want knowledge of all the tools or just a few? If so, which? Visual
C++ is a member of Visual Studio. Does knowledge of Visual C++
alone suffice? I expect not.</p>
</li>
<li>
<p>C++ is [nearly] a superset of C so if you're a C++ programmer
you're also a C programmer but not vice-versa. OK, it's not quite
as simple as that but being a C++ programmer should carry
reasonable weight in being considered for a role that requires C
skills. Also, in practice, I suspect that many C++ programmers use
many features that are appropriate to C but which should be passed
over when using C++. Leaving aside the features of the Standard C++
library, which has only just been finalised, how many alleged C++
programmers use stdio.h instead of the preferable iostream.h or use
#define for constants rather than const declarations? I've
encountered many.</p>
</li>
<li>
<p>If Borland C++ is being used only to do C programming why is it
mandatory and why version 5? If one already has experience of C
then any lack of familiarity with the Borland IDE can be picked up
in a day. It's a different matter if one must have knowledge of
Windows programming using the Borland OWL libraries. Perhaps this
is indeed what is involved but if so the client should say so.</p>
</li>
</ol>
</div>
<p>Of course, much of the unreasonableness of job specifications is
for the purpose of excluding potential candidates. By specifying
that Borland C++ 5 is mandatory the client can drastically cut back
on the number of applicants they need to consider. This is
especially so when it's an employers' market - as it is, at the
moment, in the contract arena.</p>
<p>Which brings me to Silas Brown's question in last month's C Vu.
He asks why so many recruiters insist on Visual C++ experience,
rather than general C++ experience, for a Visual C++ job. Well,
partly it's for the reason I stated above. However, in the case of
Visual C++, most usage is likely to include Windows development and
most of that uses MFC. So it's this latter knowledge that most
recruiters are looking for. If you have experience of C++ under,
say, Unix then one is unlikely to become proficient in Visual C++
overnight. Often, for permanent jobs this does not matter. But if
there is only one vacancy, and the employer has a number of
candidates to choose from, all of whom have Visual C++ experience,
what chance would you expect the Unix C++ developer to have?</p>
<p>Suppose the Unix developer has 6 years of C++ experience while
the Visual C++ developers have only eighteen months. Given that
it's likely that the Unix candidate is a better C++ developer one
would expect the employer to pay some attention to this fact. Not a
chance! It can be frustrating but that's the way the world works.
In general, employers put too much store on candidates' having
specific knowledge of certain technologies rather than on their
being skilled practitioners of their trade.</p>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
