Web Developer - can't get a new job
Web Developer - can't get a new job
Author
Discussion

DavidJG

4,143 posts

161 months

Thursday 3rd March 2016
quotequote all
Some sort of technical test is to be expected for a developer role.

I haven't recruited code developers for a long time, but when I did, I'd set a basic technical test. I've had people fail at this stage, in some quite alarming ways. For example: you have an array of numbers in random order. Write a section of code to sort the array into ascending order. Or, given a database table containing basic data, identify all instances where a name appears in multiple rows (e.g. identify the surnames that appear more than once) using SQL.

I've had people who've claimed several years of development experience fail on both of those examples.

So, make sure you're ready to solve those problems when you get there. As someone who recruits, I need to see you demonstrate that you have the skills and knowledge to solve basic problems. If I don't see that skill, then I'm not going to be convinced that you can do the job. Don't forget, at this point I've not seen references or anything that proves that you can do the things that your cv says you can do smile


944fan

4,962 posts

214 months

Thursday 3rd March 2016
quotequote all
I always give developers I ma interviewing a technical test. For me it is about seeing that they have the skill and knowledge. They might not get the questions correct always but I can tell if they are thinking the right things and have the base knowledge. You can quickly tell charlatans.

It sounds to me like you are getting a bit flustered under the pressure of having to answer an unknown question on the spot. Take your time with these things, ask questions if things are not clear. Discuss with the interviewer what your thoughts are and what you are doing - show your knowledge even if you can't fully complete the task.

It does happen to people. I interviewed a contractor once, who had been programming for 15 years. He couldn't answer the simplest of questions (difference between interface and abstract class for example). His CV was very good and he a lot of experience but he froze in the interview and blew it. I did feel sorry for him but I had interviewed another contractor a hour earlier who answer all the technical questions perfectly.

Are you going for jobs that are most appropriate for your skills? For example, if you are more of a middle tier/ DB type developer then are you going for front end type roles?

Jakg

4,034 posts

197 months

Thursday 3rd March 2016
quotequote all
DavidJG said:
I haven't recruited code developers for a long time, but when I did, I'd set a basic technical test
A basic technical test is fine - theres lots documented on FizzBuzz - http://blog.codinghorror.com/why-cant-programmers-...

However, I think from the that this is a little more than a "basic technical test" - could there be some kind of commonality in this process - e.g. large company, interview set by inept HR bod with no knowledge of the job etc?

Anecdote - I found a £50+k job advertised for a developer after I'd been out of University for a year or so. Job advert was very clear in what was required, but made no mention of experience required etc - and I knew I could do the work - but obviously pay grade should've been well out of my league (over twice what I was on at the time!).

I figured I'd apply anyway, worst I could do was get rejected - but surprisingly got an interview. "Interview" turned into "pre-interview test" which was attended by me, a bunch of mid-50's guys in suits (other applicants) and someone from HR - no-one from the actual department the job was for. HR person gives a big spiel about how hard the test is, how no-one ever passes and how, if were lucky, one of the 8 applicants might pass the test.

At this point I'm thinking "oh, well this was a waste of day" but I had a go anyway - classic fermi estimation stuff pulled straight of Google (how many golf balls can you fit in a school bus - seriously) - transposed with questions with swathes of space (suggesting detail is required) but virtually no time to actually write more than a sentence or so.

I got a call a week or so later from the same HR person, who is incredulous that I passed, as no-one else did.

Co-incidentally, my colleague, a better developer than I, applied for the same job some months earlier. He failed the test.

It was simply a poor hiring process - and a later interview proved this was endemic of the company.

(I did get offered the job, but at a much lower salary - but for me, the company failed the interview - I declined)

OllyMo

596 posts

241 months

Thursday 3rd March 2016
quotequote all
cluckcluck said:
Lets imagine you interviewed 2 devs. one passed, one failed. Which dev would be best at getting your website optimised to work on mobile?, which one would be best at fixing the website after the latest server update caused issues?, which one would get a third part API fully integrated to your website to a tight deadline? which one would get on well with other staff? which one would be the most onetime for work? which one would save/make you the most money?

from your question you still don't know.
But at that point the recruiter knows that the people still in the running have the best chance of being able to do the rest of that stuff, if they can do the basics and answer the whiteboard questions. It's just another way of filtering before they get down to the nitty gritty.

What type of roles are you going for, specifically? Which technologies?

Flooble

5,755 posts

129 months

Thursday 3rd March 2016
quotequote all
I'm not so sure about these simplistic tests.

For example, the sort question. Yes, after twenty years I could probably still remember how to write a sort algorithm but I would have to really think about it. When I want to sort in day to day life (which isn't often anyway) there is usually a List<T>.Sort().

Ditto the SQL question, again it's basic to do a GROUP BY or whatever, however, a lot of developers would not have written SQL since University as all their work would be via an ORM.

If the idea is to simply use them as a filter, there is a high risk of throwing away a good developer because they don't have the answer to a particular algorithmic question.

I'd prefer to code together on a real problem, using their tool of choice.

bigbob77

593 posts

195 months

Thursday 3rd March 2016
quotequote all
I found it pretty annoying looking for a web development job last year. A few jobs that I applied for - I have no idea why they let it get to interview stage - but the jobs didn't exist. Interviews went perfectly, technical tests perfect, experience perfect, salary expectations perfect, got on really well with everyone - never heard back, everyone "busy" when I call for feedback, jobs still advertised over 6 months later. Happened with about 5 jobs over the space of a couple of months.
I was even offered one job and when I called back to accept there was nobody to take my call - and nobody was available for the next 2 weeks until I finally gave up. 2 months later they called me and made excuses about everyone being really busy, and had the cheek to ask me back for an interview for a completely different position.

After I'd had my time wasted too many times, I asked the recruitment people to tell me the format of the interviews. Some of them had 5 stage interviews (phone interview, technical test at home, interview with manager, technical test in office, interview with director)... I had to turn them down. Anything more than 2 stages was a massive waste of time and shows they lack the ability to recognise decent employees.

The technical questions - nothing you can do other than practice, practice, practice... I had to learn answers to theoretical questions that were totally irrelevant to my job, I haven't needed that knowledge in over 10 years as a developer and I never will (besides, if I do then I'll likely have Google available). But I revised the nonsense so much that I had a good answer for everything. I applied for one job where they told me that out of 20 candidates I was the only one that wrote working code on a technical test...... But they've decided they're not going to recruit anyone at the moment.

In my case I just kept applying and turning down the ones with convoluted interviews... I got REALLY disheartened after a few months, but eventually got an interview with a down-to-earth company who took me on and it has been the best job I've ever had!

Edited by bigbob77 on Thursday 3rd March 16:23

Mr Will

13,719 posts

235 months

Thursday 3rd March 2016
quotequote all
Flooble said:
I'm not so sure about these simplistic tests.

For example, the sort question. Yes, after twenty years I could probably still remember how to write a sort algorithm but I would have to really think about it. When I want to sort in day to day life (which isn't often anyway) there is usually a List<T>.Sort().

Ditto the SQL question, again it's basic to do a GROUP BY or whatever, however, a lot of developers would not have written SQL since University as all their work would be via an ORM.

If the idea is to simply use them as a filter, there is a high risk of throwing away a good developer because they don't have the answer to a particular algorithmic question.

I'd prefer to code together on a real problem, using their tool of choice.
When I'm interviewing developers I'd rate either of those answers above the guy who dives straight in to rolling his own algorithm to do the same job. It's an opportunity to demonstrate understanding and ability, not a straight pass/fail based on whether it would compile or not.

TankRizzo

8,012 posts

222 months

Thursday 3rd March 2016
quotequote all
Flooble said:
I'm not so sure about these simplistic tests.

For example, the sort question. Yes, after twenty years I could probably still remember how to write a sort algorithm but I would have to really think about it. When I want to sort in day to day life (which isn't often anyway) there is usually a List<T>.Sort().

Ditto the SQL question, again it's basic to do a GROUP BY or whatever, however, a lot of developers would not have written SQL since University as all their work would be via an ORM.

If the idea is to simply use them as a filter, there is a high risk of throwing away a good developer because they don't have the answer to a particular algorithmic question.

I'd prefer to code together on a real problem, using their tool of choice.
I'm head of development and this is exactly how I interview. I couldn't give two sts if you can't remember the syntax for some operation. I'd rather you know the concept and know how to structure an application properly, and can give me an approach to solving a problem.

Flooble

5,755 posts

129 months

Thursday 3rd March 2016
quotequote all
What do you think of codility? https://codility.com/

Or doing a code kata with candidates? http://codekata.com/

?

I think both of those are much preferable to the abstract "write me an algorithm you would never create in the real world" approach to interviewing, although I definitely that is at better than "tell me about arcane syntax for X". I still remember getting one job because, purely by chance, I happened to recall that VB6 opened two connections to a JET database when you made a single query. Given all the other problems with using those two technologies, connections would be the least of your worries.

I'm not sure junior devs can be expected to necessarily architect an application from scratch, so I'd be interested to see how far you would want them to go in terms of application structure. Knowing there needs to be some is good, being able to discuss common patterns is better ... but where do you draw the line between a junior dev (who may well spend their days filling in someone else's function definitions) and a senior dev or architect?

The Moose

23,673 posts

238 months

Thursday 3rd March 2016
quotequote all
How about going freelance?!

Evolved

4,078 posts

216 months

Thursday 3rd March 2016
quotequote all
One answer. Go freelance and never look back!

If you're up to speed on woocommerce, Wordpress and Magento please drop me a mail if you're as good as you say as I'm im need of a reliable dev with a good eye for detail on builds.

Where are you based? Drop me a mail if you want too.

Cheers
Mike

TankRizzo

8,012 posts

222 months

Friday 4th March 2016
quotequote all
Flooble said:
What do you think of codility? https://codility.com/

Or doing a code kata with candidates? http://codekata.com/

?

I think both of those are much preferable to the abstract "write me an algorithm you would never create in the real world" approach to interviewing, although I definitely that is at better than "tell me about arcane syntax for X". I still remember getting one job because, purely by chance, I happened to recall that VB6 opened two connections to a JET database when you made a single query. Given all the other problems with using those two technologies, connections would be the least of your worries.

I'm not sure junior devs can be expected to necessarily architect an application from scratch, so I'd be interested to see how far you would want them to go in terms of application structure. Knowing there needs to be some is good, being able to discuss common patterns is better ... but where do you draw the line between a junior dev (who may well spend their days filling in someone else's function definitions) and a senior dev or architect?
Good question. As far as architecture goes, I'd expect a junior to at least be able to talk about simple application security, separation of concerns and a very basic three-tier structure for an application. I don't mind mentoring a junior, but my time is fairly limited so they'd be expected to at least be able to grasp those concepts. Obviously a senior would be expected to delve into much greater detail around what goes where, do you use DI, a preference for an ORM and so on.

I interviewed one bloke once who stuck everything in a C# code-behind file. I mean everything - input validation, business logic, data access (with hand-cranked SQL scripts) - the lot. It was quite something.

DavidJG

4,143 posts

161 months

Friday 4th March 2016
quotequote all
Mr Will said:
Flooble said:
I'm not so sure about these simplistic tests.

For example, the sort question. Yes, after twenty years I could probably still remember how to write a sort algorithm but I would have to really think about it. When I want to sort in day to day life (which isn't often anyway) there is usually a List<T>.Sort().

Ditto the SQL question, again it's basic to do a GROUP BY or whatever, however, a lot of developers would not have written SQL since University as all their work would be via an ORM.

If the idea is to simply use them as a filter, there is a high risk of throwing away a good developer because they don't have the answer to a particular algorithmic question.

I'd prefer to code together on a real problem, using their tool of choice.
When I'm interviewing developers I'd rate either of those answers above the guy who dives straight in to rolling his own algorithm to do the same job. It's an opportunity to demonstrate understanding and ability, not a straight pass/fail based on whether it would compile or not.
I don't think I was clear about just how long ago it was that I was asking these questions smile

jammy_basturd

29,778 posts

241 months

Friday 4th March 2016
quotequote all
TankRizzo said:
Good question. As far as architecture goes, I'd expect a junior to at least be able to talk about simple application security, separation of concerns and a very basic three-tier structure for an application. I don't mind mentoring a junior, but my time is fairly limited so they'd be expected to at least be able to grasp those concepts. Obviously a senior would be expected to delve into much greater detail around what goes where, do you use DI, a preference for an ORM and so on.

I interviewed one bloke once who stuck everything in a C# code-behind file. I mean everything - input validation, business logic, data access (with hand-cranked SQL scripts) - the lot. It was quite something.
That's quite an experienced junior you're after. I would expect a junior to know about variables, functions, maybe classes (depending on the language). A junior web developer should know the basics of HTML, CSS and JavaScript, maybe a little of jQuery. I would expect 90% of juniors to know little more. I would hope through an interviewing process to find maybe one motivated junior who has worked on his own projects and know a little more about structure and good coding habits.

944fan

4,962 posts

214 months

Friday 4th March 2016
quotequote all
cluckcluck said:
Thanks. Yes I do try to take my time, as you are right there's no need to rush. And I ask them to clarify or expand if I don't quite get the question. If I can't answer a question I always try to follow up with an example of something I did related to it in the past, or how I'd go about it.

But as stated there are lots of 'you know or don't know' type questions the last year. For example 'How do you stop DOM bubbling?".

I'm a mid level php developer, and mid level front-end too. Also i'm junior-intermediate at database (SQL) work too. All of this is mentioned in my CV. I'm applying for 30-35K jobs, nothing extreme. Based on some of the questions I've been asked, and if someone did answer them all correctly it would easily be a 50K+ job.

I feel the sticky point could be recruitment agents selling me the job, and selling me to the company with the vacancy. Also I've noticed a lot of the jobs I've interviewed for are still advertised over 6 months later? No idea, maybe the confidence in the market is still low so they are only wanting the absolute best. I've spent a lot of time over the last 6 months going over and over php, html5, css3, query, angualrjs, mvc frameworks, mysql so i'm tight on them. So frustrating, it just seems ridiculously complex to end up earning an average salary. I'm seriously considering becoming a taxi driver!! seriously my next door neighbour earns 20K more than me as one.
I see you are based in Herts. Are you looking at jobs in London and that kind of area? There is a shortage of good devs but unfortunately all the good ones are located in an around London. They have high expectations as well.

A lot of recruitment agents are crap. Mostly they subscribe to the concept of throwing enough st at the wall till some sticks. I am not calling you st by the way but I mean they will put you forward for jobs that you probably are not suitable for.

Ynox

1,754 posts

208 months

Friday 4th March 2016
quotequote all
A lot of this is simply down to experience interviewing I think.

I've had some truly nasty interview questions chucked my way in the past (one phone screen interview that I remember was a quick fire 5 minute round of technical question after technical question). When it comes to interview questions that you might not particularly understand, try to break it down as much as possible and show how you're planning on breaking it down at each step. You might not be right, but at least it'll show the train of thought you've gone through and how you're looking into the issue.

Got to agree on some companies taking the piss a bit about interviews though. We (a small team in one of the world's largest IT companies) tend to do a phone round, then technical test, then get them in for face to face, where a face to face will be a technical discussion about their test submission and then a general discussion. Pass that and you're offered. The tech test isn't particularly difficult, nor is there a right or wrong answer really. I was made redundant back in 2014 and it was a major plus point to me if companies could be quick with interview stages given i had a load of applications going on at the same time!

bigbob77

593 posts

195 months

Friday 4th March 2016
quotequote all
944fan said:
A lot of recruitment agents are crap. Mostly they subscribe to the concept of throwing enough st at the wall till some sticks. I am not calling you st by the way but I mean they will put you forward for jobs that you probably are not suitable for.
Having a good CV can work against you. I think (correct me if I'm wrong) that many recruitment agents get paid for each "competent" applicant that they put forward. My experience meant that they were desperate to put me forward to anything and everything related to development.
I was outright lied to by several different recruitment agents who told me I am IDEAL for their client. I specifically asked about technologies used and they only listed the ones I'm experienced with.
... The interviews were awful. They used completely different technologies that I have almost no experience or interest in. Happened to me at least 5 times last year.

And there's nothing you can do about it because almost all jobs are through recruitment agencies and (at least where I live) there are 3 agencies that get 90% of the jobs for the city. I did tell one of them to ps off after they wasted too much of my time, but the agency that I eventually found my job with was another one that had previously wasted my time... So you have to be diplomatic.

TankRizzo

8,012 posts

222 months

Friday 4th March 2016
quotequote all
jammy_basturd said:
That's quite an experienced junior you're after. I would expect a junior to know about variables, functions, maybe classes (depending on the language). A junior web developer should know the basics of HTML, CSS and JavaScript, maybe a little of jQuery. I would expect 90% of juniors to know little more. I would hope through an interviewing process to find maybe one motivated junior who has worked on his own projects and know a little more about structure and good coding habits.
Both juniors we recruited matched these criteria well smile

Flooble

5,755 posts

129 months

Friday 4th March 2016
quotequote all
I am finding it interesting that on this thread we have several Development Managers ... and several Developers.

We also have a fairly unanimous hatred of recruitment agents (I know I used to weep at the effect on my P&L when I saw the fees going out).

If only there was a way for the Developers and the Managers to talk to each other directly!

Oh, wait ...

0000

13,819 posts

220 months

Friday 4th March 2016
quotequote all
Flooble said:
I'm not so sure about these simplistic tests.

For example, the sort question. Yes, after twenty years I could probably still remember how to write a sort algorithm but I would have to really think about it. When I want to sort in day to day life (which isn't often anyway) there is usually a List<T>.Sort().

Ditto the SQL question, again it's basic to do a GROUP BY or whatever, however, a lot of developers would not have written SQL since University as all their work would be via an ORM.

If the idea is to simply use them as a filter, there is a high risk of throwing away a good developer because they don't have the answer to a particular algorithmic question.

I'd prefer to code together on a real problem, using their tool of choice.
Absolutely agree.