Tuesday, 17 July 2007

What should be in a tech test of an interview

I have been attending interviews for work for the last few weeks and the question of a Tech test in the second half of the interview has come up again. And having the test there is fair enough as you need to test skills that are easy to talk crap about and could really be crap.

As some one trained as a designer a test in an interview is new still, though I have never been a Graphic Designer and for the last few years represented a Web Developer. I would after my degree turn up with my over sized portfolio and talk about my work and mostly I do that now, but my portfolio is digital. When talking you can try to aim your words at the responses of the people your are talking to. Talking up or down points that you hope they want to here and that they believe you are the best at doing. In a test though you have to guess what they want to see and then use your words to justify it afterwards.

There is no tech or coding standard to mark against so the other person will just use the standards they like or see if the methods they like are in there.

I was given one PHP test where i was asked about UNIONS and KEYS and an other to draw a basic class. These are more trivia types so fair enough right or wrong. But the sort of things that I could get from a manual while coding. The more complicated ones are displaying patterns or thinking. So the test i thought was quite nice was write code to do "a + b / c" you can then ask questions and write out the code. This is great as there are some good tests like, where is the data coming from, are they letters numbers or variable that the maths will happen on. I wrote a class and tested the vars and then ran and output the result. i forgot that the values could be negative though. (I do not deal with may negatives, mostly keys and positives flagged as negative).

The test that came next was code with a new library a small function (a ticker in ajax). Now how should one approach this in 2 hrs? nice commented code? hack it up quick? clear code? How do you gauge the marking strategy? Do they want to see a real world app or just how quick you can learn something new. Do they want to jest the JS you use a but or the PHP you will use all the time? I think it is a big gamble as to what you spend your time on.

I went for make it clean and real world and then if I could not finish I could describe the steps. I did not know the lib so if I code the rest of the app the last bit can use up all the time I need. Also I can state that someone sharing the product would have had the ground work to base other work on or finish. For me it took too long to code the base class (I have never timed myself so did not know how long it takes to make the get sets selects etc.) I put it in a framework (CI) to save time on db calls and urls. But I got stuck in debugging where the new lib should be added into the framework and then debugging the apache and php and the javascript set up on my machine for the lib. So I did not finish the task. This was disappointing as I though I would have, but the lib worked with the code in a way I would not have so I got stuck in the wrong direction with my other code.

I did learn from it, but was disappointed in the assessment that I had not done it right when I made the code work and hour or 2 after. My critera would have been make the stuff work to the user and make the code as usable to another developer or later work. I think I did this, but I did not use the xAJAX lib in the right way. I do not think you would do many live projects this way but I guess learning new things is always a test you have to fit into a budget. The answer was apparently copy the example from the documentation and add some sql and a refresh loop in one file. But I would not do that normally so why would i show that to someone in a test that i want a job from? So after 4hours with them I'll wait and see.

How long should the test be and are certifications the way to not need the tests? Think I will look at Zend now.

No comments:

Post a Comment