supermikenews

My views on software, programming, Linux, the Internet, government, taxation, working, and life.

Saturday, May 13, 2006

The Problem with SEOMoz's Web Developer Interview Questions


This is driven from:

a blog at Seomoz.org

I have a few problems with this kind of employer. He has to realize that not only is he picking people he wants, but the candidates are trying to decide whether they want to work for him as well. I'm a manager and a programmer, myself, so I get to hire and fire people. Therefore, I try to be fair and try to make the candidate feel at ease because I don't want to scare the good candidates away simply because they don't fit in my template exactly. We're dealing with humans, not robots. Also, just because someone is inexperienced in a field, like handling the bandwidth of high-end websites, doesn't mean that I can't stick a person in that area because they have a strong interest for it. If I've got sufficient expertise in that group and they need some extra help, having a newbie to train does have its benefits, such as not getting a prima donna but getting someone you can mold into your template a little better. Also, you never know, they may have such an aptitude for it that, given enough time, he may be your strongest player in this group, topping everyone else who was mentoring him in the first place. People are not static.

Here are some other loose thoughts:

  • Although CSS is a necessary goal, tableless XHTML with CSS does have its problems. IE is one of those problems. Getting everything to look almost exactly the same in multiple browsers is in other. And, although a minor issue, consider someone who downloads the page but forgets the CSS -- they almost find they can't even read it. Anyway, in the future, tableless XHTML with CSS is the way to go, but it's too cutting edge until Microsoft's second-to-most-recent browser supports it 100% and looks the same as Firefox (at least by 80%).

  • I don't particularly like prima donnas who know everything already and pass your kind of 20 questions kind of interview with flying colors. I find I can't mold them to our way of doing things very easily.

  • Some of your questions are loaded questions. You'll end up wasting the time of your candidate and your time as well by asking them. For instance, in some cases, you only have a 50/50 chance that the candidate will answer it in the way you like it, such as the question about "do you prefer to work alone or on a team" or the question about whether someone can handle massive sites or medium/small sites. If you want to know these things, and if someone answers these wrong it's not even worth continuing the interview, then put it in writing and make it known up front in the classified or the initial phonecall. A couple years ago I called a receptionist at a French-American company to inquire about a programmer job. She said she would be happy to take my resume for the position, but then said, "You do realize, however, that you must speak, read, and comprehend French sort of okay in order to work here, right?" When I said I didn't even have a class in French, she said, "Your resume, unfortunately, is probably not a good fit here." I really appreciated she said that to me. It saved me a lot of wasted time and embarrassment.

  • If one developer prefers Bluefish, while another likes Eclipse, while another likes Screem -- I say who cares. Just as long as they aren't using any kind of limited thing like Notepad or gedit, can switch pages extremely fast, have colorized text, and can turn on bookmarks and line-numbering. If they're a super-brain with emacs or vi/vim, then fantastic -- even if I don't prefer those kinds of editors. I just want editing speed and the same results as everyone else on the team. I also don't want to walk over and find the developer hitting the down arrow in their IDE and saying, "1, 2, 3..." etc. That's a developer I'd bring back to my office for a quick corrective discussion.

  • I've hired an outstanding couple of programmers who did regular hours and were not passionate for coding. They came in, did what I asked, delivered on time, listened to my advice, made quick changes when I was in that kind of time crunch, and left. I can't fault someone for having a good life/work balance. However, I also can't run my teams entirely on this kind of individual, either, unfortunately. So, I don't disqualify someone because they like to go home at 5pm as best as they can, but I really do appreciate the extra stuff I get from those on the team who are passionate about coding and can show me something cool they figured out or read about at home and which could benefit our teams.

  • I can't fault someone for not visiting certain websites or having anything tangible to show me that they worked out in a kind of portfolio. You'd be amazed at the candidates who don't have this stuff for your 20 questions template but are amazing employees who can grow into the position quite well and exceed my expectations.

  • I do ask some of your tougher questions as a guide for me, but not as a disqualifier. I also make it known to my candidates up front what are the disqualifiers and if they pass that hurdle over the phone, I then use the interview as a guide for what I might see, right off the bat, with this kind of employee.

  • My biggest seven desires from a web developer are that they can communicate properly, that they don't force their way on the team without listening and using rational dialogue to earn our respect, that they show a flexibility and an aptitude to learn new things, that they stick to a schedule, that they know the importance of occasionally having to work faster, that they not wear a frown and stick with a negative attitude all the time, even a cynical one, and that they act professional and follow company rules. Everything else is usually possible with coaching and mentoring.


3 Comments:

  • At Sat May 13, 11:44:00 PM MST , Anonymous Anonymous said...

    Nice post. I've had similar experiences.

     
  • At Mon May 15, 02:24:00 PM MST , Blogger Michael Martinez said...

    I have never taken a side in the tables-versus-CSS argument.

    The inexperience and inflexibility of people who resort to name-calling and flaming when they cannot win their way in a technical argument underscores the lack of professionalism which afflicts the online technical community.

    Just because someone points out that CSS wasn't intended to replace tables doesn't mean that person is saying tables are better than CSS.

    To say one or the other is better is complete nonsense. They are not competing methodologies.

    As far as ugly Web pages go, they rank well on the search engines, they are legible, people bookmark them and link to them, and people keep coming back.

    When ugly works that well, there is no compelling reason to go pretty.

    When the flaming techies learn to look at things from a pragmatic rather than dogmatic approach, we'll see their flexibility and innovation increase significantly. Whether they can qualify for Web2.0 jobs is a wholly different issue.

    SEOMoz wants someone who understands the concept and is ready to take the plunge. Anyone who doesn't want to do that need not apply.

    I haven't applied. It's not my cup of tea.

     
  • At Wed Apr 09, 01:56:00 PM MST , Blogger mjmarcell said...

    Can I work for you? You're awesome. I really wish I could find an employer who doesn't expect me to fit directly into their "mold". There are so many technologies out there and as a developer I'm so busy doing the work that it's impossible to just learn every single way that an employer might do things in their work environment. As it is I've tried for a long time to learn everything, but it takes away from what I really should be doing...developing. You make a great point and I wished I lived in your area so we could meet. I would be sure to exceed your expectations.

     

Post a Comment

Subscribe to Post Comments [Atom]

<< Home