Archive for February, 2012

How long should it take for an interviewer to get back to me?

February 24, 2012

Every few days in the /r/jobs subreddit, someone will ask “It’s been N days since my interview, and I haven’t heard back. When can I follow up?  How long does it usually take?”

Two big lessons here:  1) there is no such thing as “usual” in the job process, and 2) the time to ask about timeframes is before you leave the interview.

Here’s an excerpt from chapter 8 of my book, Land The Tech Job You Love:

[After specifically stating you want the job, ]ask about follow-up. Ask about what the next steps in the process are and when you can expect them to happen. It can be very simple.

You: So, what are our next steps? What timeframe are we looking at?

Interviewer: Well, we’ve got a another week of interviews, and then we look at them as a group, so probably the next two weeks you should hear from us.

You: That sounds fine. If I don’t hear back by the 18th, may I call you? Is this number on your card best?

This part is purely for your benefit, so you may omit it if you don’t really care about waiting. However, if you’re like most people, after a while you’ll wonder “Have they forgotten me? Are they just taking a long time?” There’s no such thing as a “usual” amount of time it takes to hear back, so it’s up to you to ask before you leave. This is also a good time to ask for a business card, if you haven’t already been offered one, to make sure you have all the contact information you need.

Be sure to get a specific day, rather than “a couple of days.” As I posted last week, “a couple of days” may mean very different things to you than to the interviewer. Leaving it at “couple of days” is too vague, and leaves you wondering “How many days did he mean?”

Have you ever been asked “What is your biggest weakness?”

February 20, 2012

It’s become a bit of a joke by now, being asked in a job interview “What is your biggest weakness?” Numerous books and blog posts talk about how to answer the question, turning a negative into a positive, without sounding glib. I discuss it in the “Tough Questions” chapter of my book. It’s been parodied in this movie:

It’s a pretty bad question to ask. Presumably it’s asked to find out how self-aware the candidate is of where they have room for improvement, but there are better ways to find that out. For example, I’ve asked it directly in interviews, “Where do you see room for improvement in your skillset, and what are you doing to make that happen?”

Watching the “biggest weakness” movie above, I realized that I don’t think I’ve ever actually been asked the question in a real job interview. I know that if an interviewer did ask me, my opinion of him would drop considerably. I would wonder if he just got it out of a stock list of questions to ask.

I know what my answer would be, if I was ever asked this live: “I don’t know JavaScript as well as I should. I know enough to do basic form validation and graphic mouseovers, but as far as applications being written with tools like jQuery, I just haven’t gotten into that, and I should because that’s clearly where much of the web is headed.”

What about you? Have you, personally, ever been asked the question in a job interview? How long ago was it? What year? How did you answer, and how did the interviewer take your answer? How was the rest of the interview?

Or is “What is your biggest weakness” almost a sort of urban legend of interview questions, the one that you hear about other people getting asked, but never yourself?

Today’s PostgreSQL indexing gotcha

February 16, 2012

At work, I have a big 14M-row production table with a bunch of indexes on it.  One of the indexes was bloated, so I built a new version of the index, and dropped the old bloated index.  Got back a gig of space on the filesystem.  Excellent.

Now, from what I understand, that should be all I have to do.  Postgres doesn’t need an ANALYZE on the table to use the new index.  All the column stats for the table in pg_stats are still there, so the query planner can use the index, and it should all Just Work.

Except that all of a sudden slow queries started showing up in the server log, and we were doing sequential scans. The planner wasn’t using the newly built index.

So I did an ANALYZE on the table, and suddenly the planner started using the index. Why was this?

This goes against what I knew. On this page, Robert Treat, Pg guru, says:

When adding indexes, it is not necessary to re-analyze the table so that postgres will “know” about the index; simply creating the index is enough for postgres to know about it.

So why didn’t it work for me? Turns out it was because the index I rebuilt was a functional index.

Apparently, Pg doesn’t know about the functional index unless there’s an ANALYZE to make the planner know about it. I’m guessing that somewhere there’s a pg_stats equivalent that has functional index histograms in it, too.

If you have further insight on this, please let me know in the comments.

Clarify user expectations to the minute to eliminate frustration and extra work

February 9, 2012

Vague timeframes like “ASAP” or “in a few days” are a sure way to get sorrow into your work day.  You’ll likely spend too much effort getting something earlier than the customer wanted, or later than he expected, leaving him frustrated.

Consider this simple request: “Can you get me the number of widgets we sold in 2011 ASAP?”  What exactly does “ASAP” mean?  Always ask for clarification.  “When exactly do you need this?  In ten minutes?”  You might get an answer of “Within half an hour. Jim has a conference call to London at 11:00.”  Or you might get an answer like “Oh, no, by the end of Tuesday is fine.”

This is also the same approach to take when someone asks “How long will it take for you to do X?”  She doesn’t really want to know how long it will take, but rather if you can do it in the timeframe she wants.  Therefore, don’t answer the question, but instead find out what the user actually wants by asking “When do you want it by?”

Make sure you always get time requirements down to the minute, not the day.  For instance, if a user says “Can you email me those numbers by Wednesday?” when exactly does that mean?  You might take that to mean “some time on Wednesday”, but she might mean “Wednesday at 8am because that’s when I come in and will want to incorporate them into a report.”  When 8am comes and no numbers are in her mailbox, you look like a chump.  If it’s the other way around and you get her numbers sooner than necessary, you’ve prioritized her work higher than other tasks that need to get done first.

There are all sorts of vague terms to clarify.  “End of business” usually means “I really want it the following morning”, and “by lunchtime” probably means “when I get back from lunch”.  In all cases, clarify to eliminate misunderstanding.

Finally, close the conversation by reiterating your commitment and include your understanding of the time frame.  “I’ll email you an Excel document with those numbers by 4pm tomorrow.”  This makes everything clear and gives one more chance for potential misunderstandings to be made explicit.

Why I’m finally leaving GoDaddy

February 6, 2012

I watched the Super Bowl last night, and GoDaddy’s annual brain-dead skinfest reminds me that I have domains to transfer off of this embarrassment of a company. I’ve already transferred away a half dozen, and have nine more coming up for renewal in the next eight months. All will be transferred to new registrars.

I’m not leaving GoDaddy because their TV ads are demeaning to women.

It’s not that their TV ads are demeaning to viewers.

It’s not that their home page currently features seven sexualized women in the first screen. Even playboy.com only has three.

It’s not that they supported SOPA.

It’s not that they changed their stance on SOPA in the face of predictable public backlash.

It’s not that their user-facing admin screens were designed by an orangutan on meth and a committee from Marketing.

It’s all of it. Put together, GoDaddy prove themselves to be buffoons.

The SOPA turnaround was especially telling. The company figured it could come out with some good PR by taking a stand on SOPA, and bailed when they found out they were on the wrong side of it. “Go Daddy will support it when and if the Internet community supports it” said a press release. That’s hardly inspiring, GoDaddy. If you’re going to come out and support legislation, do it because it’s the right thing to do, not because “the Internet community” says so.

Worst, how can I support a company that treats me with such contempt? Every part of every admin process is filled with pitches for add-on services that obscure what I want to do. Bob Parsons thinks that I’m going to be swayed to use his company because they’re edgy enough to show skin.

GoDaddy thinks I’m stupid. And maybe I was for sticking with them for this long. No more.

For me, I’ve been moving my domains to pairNIC and dynadot. Some people have recommended gandi.net, but I think that any company that sells itself with a tagline of “no bullshit™” is only slightly less buffoonish as selling with the Pussycat Dolls.

If you’re using GoDaddy as a registrar, I ask you to consider the contempt with which GoDaddy holds you in next time it’s time to renew your domain names.

Never put “excellent communication skills” on your resume

February 1, 2012

Never put “excellent communication skills” in your resume. Who doesn’t think they have “excellent communication skills?” It means nothing. It’s fluff that detracts from the real content of your resume. Instead, give the reader examples of how you use those skills.

Imagine four different people who have put “excellent communication skills” on their resumes, and their thought processes:

  • “I give weekly status presentations to upper management about project status. I can put ‘excellent communication skills’ on my resume!”
  • “I taught a lunch & learn session on JavaScript. I can put ‘excellent communication skills’ on my resume!”
  • “I’ve written articles for the company newsletter. I can put ‘excellent communication skills’ on my resume!”
  • “I am proud of my ability to spell and use basic English mechanics. I can put ‘excellent communication skills’ on my resume!”

So when someone reading your resume sees “excellent communication skills” on your resume, which one will she think it means? Chances are, she’s going to assume you’re the “I can spel gud” guy and gloss over it.

(Have you noticed that while you read this article, you tire of reading the words “excellent communication skills”? So does the poor hiring manager who has to read it on every resume he gets.)

Instead of putting those dreaded three words on your resume, replace it with a description about how exactly you use these skills. Doing that is an iterative process that digs down to find the interesting stuff that the hiring manager wants to read.

The other day I was helping my friend Katie with her resume, and I spotted the dreaded “excellent communication skills” near the top. We had an exercise to come up with something better that went a little like this:

Andy: “Why do you say you have excellent communication skills?”

Katie: “I don’t know, I’m just good communicating. People talk to me.”

Andy: “How do you mean they talk to you? About what?”

Katie: “There was this one time where I was on a project with these outside consultants, and consultants were upset because they weren’t getting what they need, and management didn’t know what was going on. It was just a mess. And people were really frustrated and they’d tell me all the things that were going wrong.”

Andy: “Good! And so what did you do?”

Katie: “I talked to the project leader, and explained what was going wrong that he hadn’t heard about, and we worked on ways to make sure everybody could keep track of the deliverables, and get them to the consultants. And then the project leader asked me to do status reports for upper management. It all worked really well.”

Andy: “So would you feel comfortable saying ‘Reworked project process to increase communication, both vertically and horizontally, across the company and with outside consultants?’ And can you specify how many people were on the project, too?”

Katie: “Yeah, that sounds good. And plus, there was this other time….”

Notice how with just a little digging and iteration (shortened for this article) Katie and I turned her vague “excellent communication skills” into something that tells the reader exactly how she has used those skills to benefit the business. What we wound up with is far more impressive than being able to write clearly.

As I’ve said before, don’t put self-assessments in your resume. Give the evidence and let the reader make her own decision.

What are your dreaded cliches on resumes that mean nothing? Let me know in the comments below.