Monthly Archives: April 2015

Bastard Jobseeker From Hell Interviewing On skype

Senior Engineer Interview Skills

One of our senior webmasters, we call him The Bastard Jobseeker From Hell, got telephone-interviewed last week by a teenage telesales girl. With predictable results. She had been thrust into the situation by her lazy recruitment-agent employer who would rather pay somebody else peanuts to do the job he is supposed to be doing.

He probably saves more from the tax breaks he gets hiring girls to call up busy contractors and check off a list of keywords he could have found for himself on their CVs, than he pays the girls who have to suffer the inevitable abuse their time-wasting incurs. Presumably he likes having them around the office though.

Then again, exploiting other people’s labour while never doing anything or taking any risks yourself, is exactly what being a recruitment agent is all about.

This interview ended particularly badly for the poor girl. That said, nobody is holding a gun to her head forcing her to do the job. Our engineer was once in her position, in fact worse. He spent ten years on Thatcher’s Scrapheap, and he doesn’t have the inclination to take any crap where his access to work is concered.

Especially not from an empty-headed bimbette from Essex who has been hired solely for her bubbly-personality and big boobs.

Here’s the transcript:

Hi my name is Lisa from Bronco Bill’s Recruitment Agency and I am calling to interview you because you applied for a job with us
I think you are under a misapprehension. I have not applied for a job in recruitment

You sent us your CV
That will most likely be a CV I sent you as an invitation to treat for a contract you’ve advertised for one of your clients.

The sysadmin role
Yes, now we’re on the same page. I would like to discuss that with you, and if it’s a suitable match to my requirements maybe we could go ahead and tender.

I would like to interview you to see if you’re suitable to be put forward for the role
When is the interview planned?

Right now, that’s why I’m calling
You’re not going to give me any time to prepare? I am at work at the moment.

Oh but my deadline for submitting candidates is this afternoon
Sounds well planned. OK, I’m due a break. Fire away.

What do you mean fire away?
Ask me any questions about system adminstration you like and I will spend my lunch break answering them.

Oh, ok. Do you have any sysadmin experience?
Yes. I am a contract systems adminstrator. It says so on my CV. More than twenty years in the game. Is there any particular project or system that you would like to discuss in more detail?

No. I just need ‘sysadmin experience’
Perhaps I may draw your attention to my six years experience as a senior trading-room systems adminstrator for global operations at a Big Investment Bank throughout the financial crisis? Not the kind of environment for a wet-behind-the-ears school-leaver you understand. This might possibly be of some interest to your client.

Which one was that?
On page two. Should be the third one down. 2005-2011, says ‘senior system adminstrator, real-time trading and cash risk’.

Oh yes, you’ve got system adminstration. I’ll mark that one off.

Do you know any Linux?
Any particular variety? I presume they mean RedHat?

It doesn’t say
Ok, you can put down twenty years.

Do you know bash and shell?
I’m sorry, could you repeat that

Do you know bash and shell?
Of course. I’ve just said I’ve got twenty years of Linux. Twenty three, to be precise. And before that five years of SunOS, System V, AIX, and even SCO. I have a certificate of achievement in system adminstration for AIX on RS/6000 awarded by IBM themselves. I got it at Hursley Laboratories. I never really got any Irix though. Pity, because I always liked Silicon Graphics.

The client specifically asks for bash and shell
Did he now? Does your client know that bash is a shell?

I’m sorry, what does that mean?
It means it’s the same thing. You can’t use Linux without knowing bash and shell. You use Linux through a shell and Bash is the default Linux shell. That’s what Bash stands for, Bourne-Again Shell. Surely your client knows this? Why would they even ask such a question? It’s like asking someone if they’ve got a full clean driving license, and when they respond in the affirmative asking them if they’ve ever used a steering wheel. Is this some kind of a test?

Then I have to ask does your client know what he’s talking about, or is he looking for a consultancy here?

They are looking for a contractor to join the team, but it sounds like you have lots of experience in this area.
A little. Have you got any information about the actual system I would be administrating or the project it is concerning? Is it OS, application layer, middleware?

It says it’s a Java system.
It’s a Java system. That clarifies it. Excellent.

Do you have Java?
Now I’m glad you’ve asked me that. I recently designed, developed, and deployed a high-performance java system designed in two-parts; a Producer-Consumer back-end modelling a Markov Chain utilizing interconnected queueing-pools to perform a parallel extract, transform and load of records from a stochastic arrival pattern and pumping them into a normalised MySQL schema on a dual-core CPU at a daily rate of four hundred and fifty million. That’s the rate I was inserting records per day, not the daily rate I was charging the client which is a pity. The front-end is pretty-much bog-standard MVC, running in a Tomcat 6 container and consisting of a couple of session-managed servlets and a collection of objects that serve raw html or JSON objects for various functionality with javascript and jQuery. The database optimizations ensure that each page loads in less than one second over the public Internet with TLS. With multiple levels of caching throughout the stack most users will experience around 30ms plus network latency per page load during an established session. Throughout the design, modularity and scalability has been built-in. It also has an optional lightweight maintenance gui that I used for testing, but would also be useful for trouble-shooting in production. It actually has several modes; maintenance, bulk, and real-time. Each of them can be run with the gui or headless. It’s easy to configure using standard adminstrative key-value pairs and most internal parameters, such as pools, queue lengths, number of threads per node, cache size, et cetera can be tuned for specific performance. For example the bulk load was in the hundreds of millions, but daily usage will see less than one percent of that. It’s not future-proof, by any means, but the adminstrators can tune the performance level – and hence resource usage – to match their needs. For further scalability I’ve designed the queueing strategy such that each end plugs into an adaptor. It will be easy to put TCP/IP adapters onto them and thus utilize an arbritrary number of cores distributed over a network. By my calculations, the algorithm’s next scaling-bottleneck would be in the tens of billions per day mark. But at that volume, you’d have already partitioned. It took me six weekends and a some long evenings to develop, but I would be the first to confess that it’s production quality is sub-prime. In my opinion.”

Do you have Perl?

How about rabies?

Have you got rabies?
I’m not sure I’m understanding you correctly. Could you spell it out please?

Oh rails! Yeah. It’s an application container, pretty much the same functionality as all the others but optimized for web apps and pitched towards php/perl developers. Very popular with the Indians.

No, it says here R-U-B-Y-S
I think it meant to say Ruby on Rails, that’s what it’s usually called. But why would they want Ruby if it’s a Java system? Is it a migration?

I don’t know but I’ll tick off that you’ve got rabies
Thanks a lot

Do you have any Open Source

No not you. Gnu. Gnu Open Source. Unless I’m talking to a wildebeest.

What’s that?
It’s disambiguation.

I don’t understand
What don’t you understand? Open Source licensing, or disambiguation? If it’s the former I might be able to help you.

I’m sorry you’ve lost me. I need Open Source I’m trying to find out if you have any.
Your client needs open source

Yes. Do you have any Open Source?
Have you started over?

Why does your client require Open Source? Because they like it, or because they don’t want to write their own software and prefer to freeload?

I don’t know
Do you know which license they’ll require?

Do you require any particular license? I am familiar with GNU GPL, MIT, Apache, and of course BSD. Which one would your client be requiring?

Just Open Source
You don’t know which kind. I guess it’s just general entry-level tasks such as downloading and installing from github then? Anything the tosspot who wrote these requirements thinks will help dig him out of the frequent holes he’s dug his employer’s IT systems into? Then he comes to you for help. Is that how it’s going to be?

I’m not really sure what you mean
OK, maybe these are questions I should ask the real interviewer if I ever get my hands on him. A little bit too technical for you perhaps?

Yes. Tcsh?

Tcsh? Are we back in the shell again?

T-C-SH. It stands for The C Shell. Popular with C programmers.

No C-H-E-F
Chef? You find them in kitchens, that kind of chef? Is your client a restaurant?

I don’t know what chef is, sorry.
Then why are you asking?

Because my client requires it and I have to know if you have it
But if you don’t know what it is I could tell you anything and how would you be able to judge if I, as you say, ‘have it’ or not? I could write a script that does what you’re doing. In bash.

Well they need chef. It’s mandatory.
I see. Well I’m looking at the wikipedia page right now so I can certainly tell you all about chef, what it is, what it does, and how agile it is, but as you will not have the faintest idea what I am talking about I’m not going to. You can read it yourself. I can send you the url if it will help.

What do you mean?
I could be describing a box of bananas to you and how would you know if that was or was not chef?

Well it’s requirement of the job. If you don’t have it I can’t put you forward
You’re not putting me forward.

I haven’t decided yet, I will need to review your application with my supervisor
You misunderstand. I was not asking if you were not putting me forward I was instructing that you are not putting me forward. Neither you nor your supervisor have the authority to make the decision to put me forward. You – or rather your supervisor – may make the decision not to put me forward, that is his right, but the decision to go forward is mine alone.

What do you mean?
I don’t want the job. I’ve been in your kind of jobs before. Some middling mid-career manager spending half his day browsing the web the other half implementing his ill-conceived plans based on nothing more than some drivel that he’s just seen trending on google+. His head pretty much literally in the cloud, he then starts hiring slackers from disreputible agencies thinking it is going to solve all his problems, make him rich, and catapult him into the execusphere. Then when it all goes wrong he blames the contractor. I don’t work that way.