87 karma · joined August 10, 2012
I make programming jokes on Twitter: http://twitter.com/acreature You can find out more on my website: http://alexpounds.com/
I need to add more reviews of places, and more links, but I've been working on it for too long without it being live so I put it live earlier this week.
For instance, a sentence like "We're looking for guys and girls to join our development team" would get flagged by joblint. And that might give you pause, and realise that "We're looking for people to join our development team" is a perfectly good alternative to use instead.
I'm like you. A couple of months ago I screened a candidate who listed 'Object-oriented Javascript' in second place on his list of skills. I asked him a really tough, brutal question to test this limits of his knowledge on this:
"How do you do object orientation in JavaScript?"
Blank look. Silence. Okay, let's help him out: "Well, JavaScript doesn't give you a 'class' keyword or an 'inherits' keyword. So how would we write OO code?"
"... To be honest, I've only ever done it in jQuery." he said.
"Oh right, okay. I've never done it in jQuery. How does it work in jQuery?" I asked. Silence again. No hire.
I have no idea why people expect this stuff to pay off. It wasn't a front-end job; OO JS wasn't a job requirement and wasn't listed on the job ad. Why put it so high up on your CV if you don't know anything about it? Why put it on there at all?
I've got very limited availability for the next 1-2 months so can only take on small implementations or work as an advisor, but I'm more free from October so if you're planning ahead then it'd be good to hear from you.
There's a summary of my skills & experience here: http://alexpounds.com/cv
But when it came to an in-person interview, they struggled with FizzBuzz. They couldn't write the add() method for a linked list. Please understand: I want a candidate to thrive in an interview. I don't say "Please write the add() method for a linked list on the whiteboard," then sit back in silence with a stony look. No: I ask them if they've heard of a linked list, then (regardless of the answer) give them a refresher. I talk about what it is, and draw diagrams of the data structure, and code an example of how it's used & a Node struct they can use, and write a class skeleton for it. If they jump in then, great. If not, I'll suggest they start with the empty list case, and keep trying to be a friendly guide through the exercise. Even then, some candidates can't do it. At all.
This isn't quite a bullshit brainteaser, but it's definitely not a real-world problem. Nobody who got hired would be implementing their own collections. But that's not what the question's about: it's about understanding how two simple pieces of data interrelate, and being able to manipulate them. If a candidate can't grasp that, then I'm not going to hire them no matter what their CV says.
I don't think this is the best way of hiring people. I like the short term contractor approach – candidates get a real-world project to complete that should take 2-3 evenings, and their solutions are code reviewed & discussed. But that's not always feasible for the business or the candidate. So I don't think we'll see the death of this kind of interviewing for a while.
(¹ As a result of these experiences, my standard phone screen now contains some basic programming.)
I think the most important elements are fun, immediacy of feedback, and relevance. When you're working with Scratch you can see what happens immediately, and it makes it easy to explore changes. ("What happens if I change this number? What happens if I invert this conditional?" etc.) Making your own game or making a robot move is far more interesting and relevant than printing text or working with test data.
¹ https://www.codeclub.org.uk/ ² http://en.wikipedia.org/wiki/Turtle_(robot)
There are many drawbacks to this, of course, but it's easier to do this when you're freelancing than when you're working full time.
I think the other thing that can help is to understand that the world has changed. There's now two paths to a sure job: be world-class excellent at one thing, or be pretty good at 2-3 things. The first one almost certainly isn't going to happen; by definition, you're more likely to be in the 99.99% than the 0.01% of graphic designers. But what if you're a better-than-average graphic designer, can speak fluent German, and are pretty good at online marketing? Now you're some company's ideal employee.
Because it's a way more effective strategy if you practice the cut-throat approach while portraying a fuzzy, caring public image. To some extent, you can have your cake and eat it too.
I'm a backend-focused full stack web developer, who particularly enjoys working with startups. I'm happy building systems from scratch, extending existing systems, refactoring projects that have become unmaintainable, or scaling systems that have been pushed beyond their capacity.
I've got very limited availability for the next 2-3 months so can only take on small implementations or work as an advisor, but I'm more free from October so if you're planning ahead then it'd be good to hear from you.
There's a summary of my skills & experience here: http://alexpounds.com/cv
A 2 page CV is the norm, though you won't get dinged for a page either way - especially if the content is good. A cover letter can help, especially if it's focused on the company - why you want to work for them, what skills you can bring & why they're relevant, etc. It's also a chance to show off any side projects or Github accounts; if it was a front-end job you applied for, the logo in CSS3 sounds ideal. Don't worry too much about formality of language; polite but friendly is fine. Aim for 2-3 paragraphs. I wouldn't include a photo; that's a little weird in the UK job market, though it's generally understood to mean "Oh, the candidate's from another country."
Downsides? The website's sense of humour is irritating if it doesn't click with you. You have to host it yourself, which can be about a morning of setup. The documentation can be a little bit sparse. But it's the first bug tracking/developer workflow tool I've used that I've actually liked. And I like it a lot.
Over time you're going to start seeing duplicates (ie. things you've already archived/spidered), so the number will go down. But while you're still in the 'discovery' stage it's going to go up and up.
DrEd is a funded healthcare startup building the leading online doctor service in Europe. Our patients complete online assessments or engage in real-time video consultations with real doctors. The result is either mail order delivery of medication or a paper prescription that can be reimbursed at local pharmacies.
We're looking for a talented senior web developer with a backend focus. Someone who can head the technical team and act as system architectYou'll be comfortable with the LAMP stack, can work with HTML, CSS, JS, & PHP, understand MVC, and can cope with the idea of turning legacy code into something testable/maintainable.
It's a great company made up of people who care about their jobs and actually listen to/involve the technical members. There are no marketers standing over you with bullwhips & chairs demanding the impossible and no mushroom management. There is good coffee, a nice office, an openness to new ideas, and a strong work/life balance.
For more details & to apply, there's a more traditional job advert on Stack Overflow: http://careers.stackoverflow.com/jobs/30634/healthcare-start...
"Hmm. How is your idea different from X?" (Instead of "but X does that already, and has a 12 month head start.")
"But what happens when Y?" (Instead of "As soon as Y happens you're screwed.")
"Do you really need W & Z?" (Instead of "You're overreaching. You don't need W and Z in your first iterations.")
Questions let you find out if you're missing the bigger picture, and hopefully let them figure out for themselves what the problems are. If they blow you off they're probably beyond telling anyway.
One place said they couldn't amend the contract, but wrote that they had no interest in code I wrote outside of work. A lawyer friend said that was close enough to be a contract amendment and I needed the job, so I signed. Another place happily amended it so they only owned what I made on company time with company resources. Problem solved in an amicable way.
London, United Kingdom
DrEd is a funded healthcare startup building the leading online doctor service in Europe. Our patients complete online assessments or engage in real-time video consultations with real doctors. The result is either mail order delivery of medication or a paper prescription that can be reimbursed at local pharmacies.
We're looking for talented web developers with a backend focus. You may be a senior developer who can head the technical team and act as system architect, or a middleweight developer with more interest in coding and less in leading a team. Either way you'll be comfortable with the LAMP stack, can work with HTML, CSS, JS, & PHP, understand MVC, and can cope with the idea of turning legacy code into something testable/maintainable.
It's a great company made up of people who care about their jobs and actually listen to/involve the technical members. There are no marketers standing over you with bullwhips & chairs demanding the impossible and no mushroom management. There is good coffee, a nice office, an openness to new ideas, and a strong work/life balance.
For more details & to apply, there's a more traditional job advert on Stack Overflow: http://careers.stackoverflow.com/jobs/30634/healthcare-start...
"So, what's the real-time system going to help you decide that the current system won't?"
There is a long, uncomfortable pause as the two people look at each other, each hoping the other will answer.
"Well... it's not so much the real-time element, per se..." one managed. "But we want more granular data about how people are using our app."
"Okay. But you're currently doing analytics via HTTP callbacks, right? Why not just extend that to hit some new endpoints for your more granular data? You've already got infrastructure in place on the front and back end to support that."
No answer. We moved on. I don't know if I actually saved them 1-2 man-years of work or if they plowed ahead anyway.