Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Another Bad Interview

turgid (580780) writes | more than 2 years ago

User Journal 15

Interview number 4 yesterday was my worst ever, and I wasted half a day of annual leave humiliating myself in front of some very learned and accomplished people.

Interview number 4 yesterday was my worst ever, and I wasted half a day of annual leave humiliating myself in front of some very learned and accomplished people.

I'm mainly a C guy, but I do a bit of C++ at work. I taught myself from books and frobbed with it a little at home but I don't use it on any of my own fun projects because it isn't fun and it's a dead end. My semi-current employer sent me on an embedded real-time C++ course a few years back which was very good. It really explained the lunacy of the language in great detail. The instructor even advised us to avoid iostream (i.e. cout and such nonsense) and used the good old-fashioned C stdio functions :-)

So yesterday I ill-advisedly went to an interview for a very senior C++ position. Originally I'd applied for an intermediate one, but that one got filled by an internal transfer. They liked me from the telephone interview (I knew what a page table was and about exception handlers) so they invited me to this one.

I'm afraid I didn't do very well. I was presented with a technical test first in a room with a glass wall. They knew I'm a Linux guy but they gave me a Windows PC with Visual Studio and a new project with a main() function (with a funny Windows name) ready to go. I had 45 minutes.

The test looked very easy. It was about some fairly elementary data structures, and hubris got the better of me. Instead of going for a simple, hard-coded solution I went to town thinking I'd get it done in the 45 minutes. Whoops.

There were two people. The one I'd spoken to before made little attempt to hide his disappointment at what I'd done. I'd tried my best to do things the "right way" for C++ but I'd forgotten the special baroque and silly syntax for initialising member variables in a class, so I put the initialisation in the constructor. I made sure I brought that up before they did.

We had a good chat about things, about the merits and downsides of various solutions, why exceptions are bad in an embedded system etc. etc.

They let me out to go to the toilet.

When I came back, another one had joined in and they were talking about me in the glass-walled room. They came out and left me to sit there.

Five minutes later, the first one came back, eyes looking down at the floor to tell me that they'd decided there was "no point in doing the second part of the interview because, well, you failed the technical part."

Computer people are not known for their tact and diplomacy.

He did say that they needed someone who was up to a particular standard who could start straight away, that they couldn't take someone on and wait 6 months for them to learn. He said that I should practice these things at home, which was nice of him. He didn't say "you're completely useless." Although he was clearly thinking it.

But he might as well.

I knew the job was way above me. The lower end of the salary range was 30% above what I'm on just now.

I'm not sure how interesting I'd have found the work anyway.... and C++ .. Ugh!

So I'm going to take his advice and write a bunch of noddy C++ programs to demonstrate various algorithms, data structures and techniques, including different ways of implementing things.

Although C++ isn't great and there are better languages about now, it's pretty pervasive in this industry and will be with us for decades to come, like FORTRAN and COBOL. It would be very silly to avoid learning it for ideological or emotional reasons. (I've learned it mostly on my own in my own time.) The thing is, I haven't used it enough in my day job to be good enough to impress at an interview. And everyone, every company, has different opinions on how C++ should be used...

I want to learn D and Scala, but I'll have to concentrate on C++ just now because that is what pays the bills these days.


Bah (1)

jawtheshark (198669) | more than 2 years ago | (#37501290)

The thing is, I haven't used it enough in my day job to be good enough to impress at an interview.

Even if you would have learned it by yourself on your own time, they would have disregarded it anyway. At least that's my experience. I heard in Anglo-Saxon countries it's different, but here on mainland Europe, definitely not. Private experience doesn't count. Ever.

Re:Bah (1)

turgid (580780) | more than 2 years ago | (#37501346)

Have you ever considered doing contract work for a client in an Anglo-Saxon country, and working remotely, i.e. from home?

I bet your Linux skills are very good. It's amazing how shoddy some peoples' skills are out there, so you're probably much better than you think, and you could make a lot of money!

Re:Bah (1)

jawtheshark (198669) | more than 2 years ago | (#37537694)

I feel flattered by your post. You really think I'm that good? I'm good at Googling solutions, yes ;-) I'm scared shitless to go self-employed instead of employee. If it goes wrong, I'll set back my life many years and we just started to build a house. Also, what might be considered "a lot of money" in an Anglo-Saxon country may be just regular stuff here. You, see, I live in a very expensive geographical area. The whole country is up there in the most expensive places to live [citymayors.com] (Ranked #39 in 2009. Given the country is so small, you can pretty much extend living expenses to the greater region).

I've been thinking about going that way. I must admit, it's very tempting.

Re:Bah (1)

turgid (580780) | more than 2 years ago | (#37541974)

You could start by doing small jobs in your "spare time" :-) Yes, I know all about "spare time" :-)

Re:Bah (1)

jawtheshark (198669) | more than 2 years ago | (#37542538)

Yes, I know... Earned 400€ for an saturdays work last year. Someone who wanted a backup server. Well, you know fileserver for backing up purposes. Spare time is this double edged sword, eh?

Re:Bah (1)

Tet (2721) | more than 2 years ago | (#37560688)

Also, what might be considered "a lot of money" in an Anglo-Saxon country may be just regular stuff here. You, see, I live in a very expensive geographical area

That's probably true for some areas, but not for most of South East England, and you'll struggle to find a more expensive place than London. The Mercer list is somewhat misleading, in that it measures purchasing power in US dollars, so currency fluctuations tend to dominate and skew the results (hence the ridiculous situation of Luanda topping the list in recent years). If you look at the cost of living in local currency, London and Moscow have been vying for the top spot for several years. Trust me, if you get a well paid job with a London based firm, you'll have no problems funding life in LÃtzebuerg. And you may not believe it, but yes, I'm positive you're good enough to do so. The current economic climate means that now is probably not the best time to be making a leap like that, but in a few years, I'd say you'd be fine.

Re:Bah (1)

jawtheshark (198669) | more than 2 years ago | (#37564840)

It is very dangerous to compare London with Luxembourg. From what I gather, $SALARY in pounds should be equal to $SALARY in euro here to match. So, I earn 3400€/month (Net) and can live with that (but I'm far from rich), so to have equal buying power in London, I'd need £3400/months. I'm not sure though. (We'd need equal conditions of living. As I don't live in Luxembourg Centre, you'd have to look at the rents in the outskirts) What I do know is that we have two people (both Italian, go figure!) who used to work in London and got "lured" here. One is my manager/boss. From what I understood from conversations with them is that they have been screwed. They were told the lower salary in Luxembourg was okay, because it would be less expensive to live here. Basic Internet research confirmed that according to them. Turned out, that wasn't exactly true and they are worse off. Of course, I don't have exact numbers, they might just bullshitting me.

As for the Mercer list: Thanks for clearing that up. It included some real oddities, which I could not understand.

I'd need to have enough clients to do such a move and Luxembourg is a very anti-open-source country. Actually, I often have the impression that Linux is looked badly upon. I rarely, if ever get called by recruiters for Linux positions. As a matter of fact, ever since I started at DNX Network, not one has called. Of course, getting International clients would be a way to work around that problem. I'd need an office though, because my wife has a real problem in understanding "teleworking". For her, if I'm there, I don't have to work. That's really, really, bad...

Re:Bah (1)

shrykk (747039) | more than 2 years ago | (#37501680)

This sounds like the opposite sort of thing. It seems like Turgid has done just enough C++ at work, that with a straight face and some mild exaggeration he could have described it in terms that the employers would have accepted his experience. IF he had passed whatever they thought their technical requirements were.

Re:Bah (1)

turgid (580780) | more than 2 years ago | (#37503674)

Yes, if I hadn't been so stupid as to believe I could have hammered out a working elegant, general solution in 45 minutes!

I've been pushing myself too hard recently, so I wasn't in a good frame of mind when I went into that interview, and I haven't been sleeping well.

What I should have done was to concentrate on the very first problem and done it carefully and simply, and made it work! Then I could have talked about all of the other types of solutions and language issues.

I'm getting bored with interviews and I always find the questions they ask a bit patronising. I've had a sense of humour failure and I'm developing an attitude problem.

I need to take a break from all this for a while. The reason I'm posting about these experiences here is because I hope that someone may find it useful to learn from (and the whole outsourcing/TUPE process).

Re:Bah (1)

jawtheshark (198669) | more than 2 years ago | (#37537658)

Yes, in a sense. Except someone who has been a good coder in one language, is going to be a good one in another similar one. A programmer should not be tested on language technicalities but on algorithmic thinking. It really is the only thing that counts. The technicalities in a language are just syntactic sugar. Basically, in my view they are looking in a wrong way to hire experienced coders. My opinion, I might be completely mistaken.

Bad luck (1)

shrykk (747039) | more than 2 years ago | (#37501728)

I wouldn't get too upset by this sort of thing. If they were looking for the kind of person who knows all the oddities of the language inside out, then you got ruled out without being evaluated on other factors.

i.e. Your ability to actually write working software (which as a professional you probably pride yourself on, and rightly consider to be something rather important to interview for) would be something their process did not even try to measure.

The question is, do you intend to keep applying for C++ positions? If so, brushing up surely couldn't hurt.

Re:Bad luck (1)

turgid (580780) | more than 2 years ago | (#37503786)

The problem was, I completely underestimated the amount of time it would take me to do what I chose to do so I didn't get it working properly.

I try to make it clear when I'm talking to recruitment agents and during the telephone interviews that I do mostly C but there are modules in my project that are C++ and our unit tests are in C++. I explain that I've been on courses etc. but that I'm by no means an expert.

I should never have gone to this interview. It was far too senior, but I least it was experience that I will learn from.

This afternoon while Turgid jr. was asleep, I hacked out some simple solutions to those problems and got them working. I also highlighted a problem with C++, references, sequence points and cout.

I'm going to convert the classes to templates and re-implement them using linked-lists instead of array. These were data structure questions and since it's embedded, you're not allowed to use the STL or any other libraries :-) I like that kind of coding usually :-)

Like I said, C++ is pretty pervasive and most companies have drunk the Kool Ade nowadays , so you can't get away from it.

I can't magic 5 years of C++ experience out of thin air, but I can read the literature and write some small test programs.

Re:Bad luck (1)

Tet (2721) | more than 2 years ago | (#37560818)

C++ is pretty pervasive and most companies have drunk the Kool Ade nowadays , so you can't get away from it.

Interesting. 10 years ago, I'd have agreed with you. These days, I'd say it's Java you can't get away from.

Re:Bad luck (1)

turgid (580780) | more than 2 years ago | (#37569508)

Yes, Java is very common, but I'm looking at embedded stuff. I know a tiny amount of Java, but not enough for a job.

...but I have just got an Android phone...

Check for New Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account