Employing and Interviewing for IT staff
Employing and Interviewing for IT staff
Author
Discussion

mystomachehurts

Original Poster:

11,669 posts

280 months

Friday 17th August 2007
quotequote all
ok, probably should be in business, but a while ago I posted about employing people.

Now, one of the things that came up was 'set them a coding challenge'

So given I want some one who can do Java, and also a bit of HTML/CSS/PHP/SQL
what should I set as a challenge, and more importantly how long should the challenge last?

I'm thinking maybe a simple requirement set on the HTML/PHP/SQL side:

1. Login page accepts username/password;
2. DB with user table has username/password
3. Sucesful login take you to a different page
4. Failed login takes you to a retry of the original login page.

Should take about 45 minutes to create the DB, create the table and write the HTML & PHP.
No?

Should I be aiming higher?

I also thought about 'Write me an HTML chat server' - you know, lots of sockets and streams and the complexity overcoming the push failure of HTML clients.

So, what would you think would be a fair test of coding for an interview and how long should it take? Should I interview and then set a 2 day coding challenge?

What to do?


ThePassenger

6,962 posts

265 months

Saturday 18th August 2007
quotequote all
Firstly, I've encountered two types of people. Some of them REALLY suck at little challenges like that, but interview exceptionally well and their 'portfolio' of sites and such seems good.

But, I think 45min to do a basic three page PHP site, 1 table, 1 record MySQL DB and such... perfectly reasonable; hell, given that amount of time, my mobile phone (hotscripts, be buggered if I can remember the PHP <-> MySQL connection initiator and I'm confident it's not: mysql -u me -p you -h them database hehe ) and a compy to work on with the software installed; I could do that.

If they've interviewed well, show experience of doing roughly what it is your after (or have skills that can transfer) and passed the simple "Ok, are you scensoredting me about PHP programming?" test, perhaps having them sketch out how they'd go about doing a PHP chat system as opposed to doing it. Multiple interviews and a probationary period should weed out a wrong choice and spending two days coding, potentially, for gratis... it might put some people off and set off their alarm bells.

By way of explanation, I've more than once had a small company ask exceptionally specific questions about their site and faults, then make copious notes about how I'd go about fixing it (yeah, I'm a sucker for a sob story). Chatting to others, I'm not the only one, so whilst, perhaps uncommon, it does happen.

ETA: This is also the reason I don't touch the obviously corporate questions posted in here, yeah I can make your Exchange server run, fix your domain permissions AND show you how to redo your ghost images to be smaller... but not for free I'm not

Edited by ThePassenger on Saturday 18th August 00:23

mystomachehurts

Original Poster:

11,669 posts

280 months

Saturday 18th August 2007
quotequote all
Thanks for your post Sarah,

I'll come back and read it again when I'm not full of beer!

Still I hear your comment about asking for solutions and then running away with the answer. I'm not about that, I've got all the answers, I just need 'monkey' or two to put them into something I can charge a Customer and then everyone gets paid.

Oh yes

dilbert

7,741 posts

261 months

Saturday 18th August 2007
quotequote all
Was your thing the standby TCP satellite switch/router.

Did you find a contractor for that, or end up doing it yourself?

cyberface

12,214 posts

287 months

Saturday 18th August 2007
quotequote all
mystomachehurts said:
Thanks for your post Sarah,

I'll come back and read it again when I'm not full of beer!

Still I hear your comment about asking for solutions and then running away with the answer. I'm not about that, I've got all the answers, I just need 'monkey' or two to put them into something I can charge a Customer and then everyone gets paid.

Oh yes
Then you won't need me to tell you that I'd avoid getting web developers writing database code. Make sure they can call a stored proc correctly from their scripts, yeah, but I've yet to meet a HTML/PHP/XML/CSS/whatever web front end dev who understands databases properly. And not that many Java devs do either.

Don

28,378 posts

314 months

Saturday 18th August 2007
quotequote all
cyberface said:
mystomachehurts said:
Thanks for your post Sarah,

I'll come back and read it again when I'm not full of beer!

Still I hear your comment about asking for solutions and then running away with the answer. I'm not about that, I've got all the answers, I just need 'monkey' or two to put them into something I can charge a Customer and then everyone gets paid.

Oh yes
Then you won't need me to tell you that I'd avoid getting web developers writing database code. Make sure they can call a stored proc correctly from their scripts, yeah, but I've yet to meet a HTML/PHP/XML/CSS/whatever web front end dev who understands databases properly. And not that many Java devs do either.
You've just met one. My firm specialises in database business applications. We sell our own database app too. Frankly the front end is all web-based because everything is these days. Every last one of us codes in HTML, AJAX-JavaScript, ASP and T-SQL every single day.

cyberface

12,214 posts

287 months

Saturday 18th August 2007
quotequote all
Don said:
cyberface said:
mystomachehurts said:
Thanks for your post Sarah,

I'll come back and read it again when I'm not full of beer!

Still I hear your comment about asking for solutions and then running away with the answer. I'm not about that, I've got all the answers, I just need 'monkey' or two to put them into something I can charge a Customer and then everyone gets paid.

Oh yes
Then you won't need me to tell you that I'd avoid getting web developers writing database code. Make sure they can call a stored proc correctly from their scripts, yeah, but I've yet to meet a HTML/PHP/XML/CSS/whatever web front end dev who understands databases properly. And not that many Java devs do either.
You've just met one. My firm specialises in database business applications. We sell our own database app too. Frankly the front end is all web-based because everything is these days. Every last one of us codes in HTML, AJAX-JavaScript, ASP and T-SQL every single day.
Depends on complexity, scalability and performance. I was generalising too much there - of course there are loads of web coders who put SQL in their scripts, and of course web delivery is now the de facto standard, but there's a difference between apps that can use a database as a 'persistence layer' and apps where the database has to handle huge amounts of data and query tuning is actually a big deal.

I'll admit that machines have got fast enough now for many low-volume / low-contention apps to be able to get away with simple SQL and self-generated databases from object models as per Hibernate et al. And just as there are database architects who can write ASP / HTML if they want to, I'm sure there are some front-end devs who can design appropriate database schemas, choose appropriate indexing strategies and understand whether their middle tier model could cause lock contention performance issues and debug said issues.

It's just that I haven't met a lot of them. Sure, there are crap SQL coders out there as well who get away with murder because the machines have got so fast, but with certain apps, scalability will bite you on the arse in the end (usually 6 months after go-live with a growing database and the app slowing down) unless the DB was properly designed and the queries properly written.

Didn't mean to offend. smile

mystomachehurts

Original Poster:

11,669 posts

280 months

Saturday 18th August 2007
quotequote all
dilbert said:
Was your thing the standby TCP satellite switch/router.

Did you find a contractor for that, or end up doing it yourself?
Hi, in the end I didn't even bother submitting a proposal biggrin

Too much risk & not enough money. To be honest if I had the tim eI might have done it as a pet project as it would be kinda fun to do, right now I need to focus on expanding the Company with a few staff to do the projects that I know will earn some money.


dilbert

7,741 posts

261 months

Saturday 18th August 2007
quotequote all
mystomachehurts said:
dilbert said:
Was your thing the standby TCP satellite switch/router.

Did you find a contractor for that, or end up doing it yourself?
Hi, in the end I didn't even bother submitting a proposal biggrin

Too much risk & not enough money. To be honest if I had the tim eI might have done it as a pet project as it would be kinda fun to do, right now I need to focus on expanding the Company with a few staff to do the projects that I know will earn some money.
Sigh.
It's a troublesome beast, kinda like driving a wooden peg into rocky ground. Good luck with it all!

mystomachehurts

Original Poster:

11,669 posts

280 months

Saturday 18th August 2007
quotequote all
cyberface said:
It's just that I haven't met a lot of them.
Did I mention I cut my teeth on DataEase back in the mid 80s.... remember that?

I wrote a DB to track the use and disposal of Radio Labelled Chemicals for the Pharmacokinetics Dept at (then ICI) now Astra Zeneca at Alderley park.

I wrote it in my spare time as a bit of a side project, it was really quite funky, had lots of little menus where technicians could record the use and disposal of various compounds. It could run reports and tell you how much had gone down the sink, how much into the incinerator and how much should be available in the fridge.

Great stuff, in the past this had all been done on card files, the technicians and managers loved it!

I got one hell of a shock one day when some bod turned up from the Radiochemical Inspectorate in London wanting to audit it and see how it had been developed.

Dunno if they still use it, but I do remember being rewarded for my efforts with a £40 WH Smiths record token.

hehe

Don

28,378 posts

314 months

Sunday 19th August 2007
quotequote all
cyberface said:
It's just that I haven't met a lot of them. Sure, there are crap SQL coders out there as well who get away with murder because the machines have got so fast, but with certain apps, scalability will bite you on the arse in the end (usually 6 months after go-live with a growing database and the app slowing down) unless the DB was properly designed and the queries properly written.
yes It is amazing what can now be done. In the old days you could process a few records a second and reports were often generated in batch for next day viewing! These days in a T-SQL stored procedure I can process literally thousands of records a second. On-line reporting became real-time - if you design your underlying data structures properly.

I cut my database teeth on a system called "Datafit" back in the 80s. Pre "SQL". You got your indexing right or the app plain didn't work. These days in SQL you can get away with murder but the old habits are still there for me.

I guess it shows in that our timesheets app has one installation with 4000 users who have been filling out 'sheets for ten years day in day out with millions of records and it all works just fine still!

cyberface said:
Didn't mean to offend. smile
None taken, I assure you! Just pointing out that, these days, the people who write database applications write all their front ends in web-stuff. Ours might not be as pretty as the "designers" with their lovely graphics and so on - but it works on a enterprise scale...

Don

28,378 posts

314 months

Sunday 19th August 2007
quotequote all
mystomachehurts said:
Did I mention I cut my teeth on DataEase back in the mid 80s.... remember that?
Yes! it was a Datafit competitor. Pre-"SQL" IIRC?

Mind you. One shouldn't remember the "good old days" with too much of the rose-tint. SQL Server makes all those old systems look very, very primitive.

Dr Bob

637 posts

292 months

Monday 20th August 2007
quotequote all
I'd guess that a lot of people are going to have trouble commiting to a 2 day coding challenge (assuming you aren't looking at employing graduates)...

Anyway, last year we interviewed for a Web monkey (ASP, SQL, HTML, CSS), so I wrote a really basic application that worked, broke it, and asked the interviewees to fix it (to cover the ASP/SQL) and make some cosmetic changes (for the HTML & CSS); I gave 15 mins over to the test, and sat in to see how they approached it, and answer any queries as necessary...

One thing I found, that even the people who had seemingly excellent previous experience couldn't complete the 4 simple tasks that were set, I don't know if it was interview nerves or just they were blaggers. The guy who did best had the poorest application form of the shortlist, although his (limited) experience was closer business-wise to what we do (education) (-he was employed on the basis of the test and interview, and has been a real asset)

From my psychology background, I believe that you get more out of a test if it has a resemblence to a real world working environment, and gives you a chance to see which candidates are poor at interview / great at coding and vice versa...

...I guess what I'm be saying is that you shouldn't set your expectations too high - what could be achieved in half an hour during a normal work day could take a lot longer in a test environment, because of the stress of the interviewee, them trying to do things 'properly' rather than how they usually would (if you follow me).

Of course, the type of industry that you're in would also affect what sort of testing you might want to do... like I say, the above worked for us though, and I was genuinely surprised that half the candidates struggled with the really simple test that was set for them!

CH

ETA: re-reading, I think that the 45 minute test in your OP would be a good test!

Edited by Dr Bob on Monday 20th August 12:58

davidd

6,718 posts

314 months

Monday 20th August 2007
quotequote all
Interviewing developers is a pain in the Ar**, we generally go on experience and attitude then give them a short probation period...

D

mystomachehurts

Original Poster:

11,669 posts

280 months

Monday 20th August 2007
quotequote all
Dr Bob said:
Good stuff
I gueess my problem is that I've only ever had two interviews in my whole life. Both when I was in my teens. Every job since then has always bee nword of mouth or a demostration of skills where someone has wanted me.

(such a quiet life I lead).

My Mrs is a very sharp judge of character and she can spot a bull shitter from a mile away. I tend to just think the best of people and assume they will perform/behave at my level.

I think probably it's better that I find someone I can get on with, and I'd much rather conduct an interview over a gallon of beer down the pub rather than across a table. But it's tricky, I need someone with a good technical background, but at the same time I'd rather have someone with a poor technical background and a keen willingness to learn, than someone who thinks they know it all but is a lazy shit.




mystomachehurts

Original Poster:

11,669 posts

280 months

Monday 20th August 2007
quotequote all
davidd said:
Interviewing developers is a pain in the Ar**, we generally go on experience and attitude then give them a short probation period...
D
A very short but interesting post, could you fill it out a bit?
Why do you find interviewing deevelopers a PITA?
and also, how do you asess attitude?


Dr Bob

637 posts

292 months

Monday 20th August 2007
quotequote all
mystomachehurts said:
Dr Bob said:
Good stuff
Thanks,

I know it's a tricky one, the guy we picked was young, and to be honest, his CV wasn't great, and he only really got an interview because we were feeling rather benevolent on shortlisting day - but he turned out to be great, really keen, enthusiastic, and picks things up quickly - which is exactly what's required here...
...like I said, so much depends on your company culture that I think the interview needs to be able to use that to determine who is going to be a good fit as well as technically competent...

Just looked at your profile, if this is something to do with satellite communications development, I'd guess that you might want to attract someone who has a more formal way of working? The other thing is, if it's a small company, and you value her opinion, could you get your missus in on the interview? - Mine's a great judge of people (albeit she's a bit quick to jump to conclusions sometimes, but I'd give her a 90%+ hit rate) and it'll give you another dimension to the interview.

Finally, one of the most helpful things I found when doing this quick test, was that by sitting in, I got an insight into the way that they approach problems... seeing the working can be a lot more useful than just getting the finished product.

Good luck! CH

Lurker

586 posts

243 months

Monday 20th August 2007
quotequote all
mystomachehurts said:
Should I interview and then set a 2 day coding challenge?
Just on this point, I think it can be a valuable approach to extend the interview time so drastically; after all a 45 minute test may tell you about their memory for syntax, but it will tell you little about their ability to design and code or debug anything non-trivial, or the general quality of their work.

But: you are going to be paying them full whack for their 2 days, presumably? I only raise the issue because I would be sceptical as to the quality of candidates who would be prepared to devote so much time to a test with no reciprocal commitment from the prospective employer, and it is worth consideration should you go down that route.


ATG

23,816 posts

302 months

Monday 20th August 2007
quotequote all
mystomachehurts said:
But it's tricky, I need someone with a good technical background, but at the same time I'd rather have someone with a poor technical background and a keen willingness to learn, than someone who thinks they know it all but is a lazy shit.
Nail on the head. Testing specific skills they've already got doesn't necessarily tell you much about their apptitude. A mate who I ended up working with used to "test" candidates by responding to promising looking applications with an e-mail saying "download this language (with a link to some slightly obscure freeware langauge), have a play with it, write a short programme that does something and send it to me".

mystomachehurts

Original Poster:

11,669 posts

280 months

Monday 20th August 2007
quotequote all
Dr Bob said:
Just looked at your profile, if this is something to do with satellite communications development, I'd guess that you might want to attract someone who has a more formal way of working?
I prefer a much more informal way of working, I've considered hiring contractors, but I really want someone in the office where we can work together. My attitude is much like my father's to work. If it's a slack day on Friday I'd prefer to tell people to go home. However come a deadline where things are slipping then I want then at their desks till midnight.

Dr Bob said:
The other thing is, if it's a small company, and you value her opinion, could you get your missus in on the interview? - Mine's a great judge of people (albeit she's a bit quick to jump to conclusions sometimes, but I'd give her a 90%+ hit rate) and it'll give you another dimension to the interview.
Absolutely, she will be sitting on on the interviews for a while and I'll give her opinions a large weight to making the decision.

Dr Bob said:
Finally, one of the most helpful things I found when doing this quick test, was that by sitting in, I got an insight into the way that they approach problems... seeing the working can be a lot more useful than just getting the finished product.
I think this is an execellent idea, no point in siting someone alone at a computer for 45 minutes and then coming back asking 'Have you done it yet?' - I'm far more interested in watching how a person works rather than what they can deliver in a 45min test.

To see someone reaching for google every ten minutes is not a indication that this person doesn't know what they are doing, it's watching how they use google to get immediate answers to the micro problems they need to solve at that moment in time.

In the old days I would code with a stack of books next to me, now mostly I hit google for the fine details and best practices.

You are spot on with this approach, I shall sit with them throughout the test and observe how and where they go for information.

Dr Bob said:
Good luck! CH
Thanks... you've given me a good few things to think about!