kai_mactane: (Default)

I keep hearing about developers who, when interviewing for potential jobs, consider coding tests to be “a waste of time”, “insulting”, or “beneath me”. The logic seems to be: Once you’ve risen to the level of Senior Developer (or some similar title), people should realize that yes, you really do know how to write simple pieces of code. You can write functions that sum all elements in an array, or reverse a string, or whatever.

I’m not bothered by them. I’m far too aware of the great number of coders that, to put it bluntly, simply can’t code. It doesn’t matter to me whether they’ve risen to their level of incompetence, or they’ve been in sky-high architect territory for too long and gotten rusty at function-level coding, or they’re simply lying on their résumé and they were never able to so much as solve a FizzBuzz problem. The fact is, they keep winding up in interviews, and it’s (part of) the interviewer’s job to weed them out. As quickly as possible, to avoid wasting any more time than necessary.

Back when I was in my first tech job, as a Linux sysadmin, I was one of the people interviewing potential candidates. I decided it would be nice to set them at ease by starting off with a few easy, “warmup” questions. So I’d start off with things like, “What is a runlevel in Unix? What are the most commonly-used runlevels, and what do they do?” Or, “What port does HTTP use by default? How about SMTP?”

I was astounded to find that there were applicants who couldn’t answer these questions.

Not in the sense of, “I’m sorry, but I’d have to look that up” (though even that would be a little odd; these are things any Unix sysadmin should have engraved on their consciousness). No, this was in the sense of “A runlevel? Ummm… I think I’ve heard that term, but I don’t know those kinds of details.”

My only real quarrel with FizzBuzz is that, at this point, any developer worth their salt is familiar with it. And tired of it. It’d be nice to have a few slightly new and different tests of completely basic competence… but you know what? Any test that is so basic would have to be just as boring. That’s okay.

These tests are essentially saying, “Prove that you’re not lying on your résumé.” And while I may know perfectly well that I’m not lying, how is a total stranger to know that about me? I’m not bothered by the “trust, but verify” stance of modern interviewers, because there are so many people who do lie on their résumés (and fail at simple, FizzBuzz-style tests) that it would be lunacy to blindly believe applicants any more.

(What that says about our society is a topic for another post… a post on another blog. It’s outside Coyote Tracks‘ scope.)

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)

For backward-compatibility testing, I’ve just installed a few versions of WordPress ranging back to version 2.0. It’s kind of fascinating to see a sort of fast-rewind retrospective of the software. Even just looking at the installation experience, it’s like watching HAL 9000 descend into childish incoherence as Dave Bowman yanks his memory chips.

By the time you get back to WordPress 2.0 and try hitting the blog installation directory in your web browser, all you get is a plain, unstyled page that says:

It doesn’t look like you’ve installed WP yet. Try running install.php.

The funny thing is, that page works just fine. You click the link, it takes you to install.php, and… that’s really just a splash page, which talks about what you’re going to do, and requires that you click on a big link that says “First Step” in order to proceed. So, while it does “work”, it does so at the expense of making the user click the mouse twice, unnecessarily.

In the past 4 years, the WordPress team has made the install process look sleeker and more styled. But I think the real improvement in user experience isn’t the visuals — it’s the removal of those two unnecesary, time-wasting mouse clicks.

Originally published at Coyote Tracks. You can comment here or there.

kai_mactane: (Default)

A while back, when I was writing Hummingbird, I needed to look for Twitter usernames in various strings. More recently, I’m doing some work that involves Twitter at my new job. Once again, I need to find and match on Twitter usernames.

Luckily, this time, Twitter seems to have updated its signup page with some nice AJAX that constrains the user’s options, and provides helpful feedback. So, for anyone else who needs this information in the future, here’s the scoop:

  1. Letters, numbers, and underscores only. It’s case-blind, so you can enter hi_there, Hi_There, or HI_THERE and they’ll all work the same (and be treated as a single account).
  2. There is apparently no minimum-length requirement; the user a exists on Twitter. Maximum length is 15 characters.
  3. There is also no requirement that the name contain letters at all; the user 69 exists, as does a user whose name I can’t pronounce.

If you want a regex to match on this, /[a-zA-Z0-9_]{1,15}/ would be nice and safe for use in both POSIX and Perl-style regex syntax. (If you’ve got Perl-compatible regexes, /\w{1,15}/ is quick and easy.)

Originally published at Coyote Tracks. You can comment here or there.


kai_mactane: (Default)

July 2011

101112 13141516


RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 23rd, 2017 08:44 pm
Powered by Dreamwidth Studios