Job Search 2013 Edition

Job Search 2013 Edition

Background

The year was 2013. I was entering the second year of my traveling hiatus. I was technically, but not practically, homeless: frequently moving around and staying in short term month-to-month rooms or two-weeks-at-a-time traveler hostels.

Money was running out, so it became time to look for a job again.

Throughout the year I interviewed with 9 companies and had one acceptable job offer, which goes against the cliché meme of “omg computar people get jobs in two weeks with ten offers and a brazillion dollars worth of options plus six figure signing bonuses!”

This is a retrospective chronicle of all my (hiring) rejections in 2013. It also acts as the jumping off point for an upcoming article on fixing hiring practices. Let’s jump off things together.

At every company listed below (names have been changed to protect the guilty), I had direct recruiter-level or interview-level contact. These were clear prospects, not just resume submissions with no responses.

Let’s take a journey into how companies rejected me every step of the way! Fun!

Companies

Some Conditionally Old Publishing Company (March)

This company advertised about needing JavaScript people. I had just finished multiple front-end MVC JavaScript sites with thousand+ lines each, so it seemed like a good fit.

The company was revamping their internal CMS for a marching-themed weekly publication. After a quick email chat, I visited their office near Grand Central Station for an interview. Interview guy asked questions, said I had the best answers he heard so far, then mentioned his budget only had room for one full time $60,000 hire.

So, I turned that one down.

I did offer to work on a shorter term for a daily rate, but they never replied back1.

Horribleness: Unambitious work with unreasonably low pay for the area.

Some Internet Search Company (April)

Internet Search Company routinely emails people from their vast archive of past resume submissions. They had emailed me twice so far in the year, so I finally responded. They set up a quick HR chat (where the nice HR person asks you templated CS questions they have answers to). I walked around Union Square Park answering the templated HR questions and apparently passed well enough. They scheduled a phone/code interview for a week later.

Personal note: up to this point in my in-between-job times, I had spent the past few months mostly doing frame-by-frame video editing (for a pet project) in Motion—which has zero applicability to an Internet Search Company interview.

Since it had been a few months since I touched actual code editing, a lot of the day-to-day API garbage was fully flushed from my brain2.

The phone interview went okay-ish, but not great, so a week after the phone interview, the 24 year old HR person called to say “sorry, you’re not moving on.” That part was great—I had just arrived in Miami and wasn’t in a place to deal with Internet Search Company anymore at the moment.

But, at the end of the rejection call, the nice 24 year old HR person said perhaps the most condescending thing I’ve ever heard in an evaluation process. They said, “Feel free to apply again in another six months when you have more experience.

So, since I didn’t have a solid chunk of the Python API memorized, they proceeded to invalidate my entire university schooling (CS degree, 3 years), work experience (10 years), and life experience of sitting in front of a computer making things (~20+ years)?

Thanks guys.

Their loss.

Horribleness: They assume demonstrating feats of technical inanity reflects a person’s ground truth abilities and reflects the person’s actual working habits. After Recruiter was told about Failure to Pass The Interview Process, Recruiter became unknowingly (?) condescending.

Some Just Ok Company (July)

So, after Internet Search Company rejection, I gave up on applying to new places for a few months3. When I started job search mode again, I was in Santa Monica.

I submitted my resume to Some Just Ok Company for a JavaScript position. They quickly set up a phone/codepad interview, it went well, then they scheduled me to fly up to NYC for an in person interview.

I had them arrange an inbound flight from LA to NYC with an outbound flight being a week later to Las Vegas (for Defcon).

After I arrived at NYC and got to my hotel room, the interviewer emailed me and asked, since I was already in town for a few days after the original interview date, if they could re-schedule my interview for a day later. I said okay, fine, that works.

But, they didn’t extend my hotel room. So, I had to attend the morning interview from way across town where I had my hostel booked. It was a big oversight on their part. The interview engineer re-scheduled under their own authority without consulting the office manager who books things. They really should have fixed the room issue, but I didn’t bring it up.

The on-site interview involved two people sitting in a room asking JavaScript questions while I stood at a whiteboard. One person was engaging and pleasant, but the other person projected a disposition like I was interrupting his favorite TV show and he couldn’t wait to leave. It didn’t give me great vibes of “This is a friendly place and I want to work here.”4

After the question portion, they handed me a laptop and gave me an hour to complete a range of tasks in text documents they had pre-loaded.

They weren’t watching the laptop portion—they had left the room—and afterwards they collected the laptop, said they would review the results, and sent me on my way. They never discussed the laptop work or mentioned the coding session again.

One of the tasks was a 100% front-end focused “code an entire drop-down menu system from scratch” (searching was forbidden in the solo laptop portion). Now, the JavaScript position they advertised wasn’t mentioned as a front-end/design JS thing. There’s plenty of JS work these days in non-design application architectures. So, they could have saved themselves a lot of time by having an accurate job posting mentioning they wanted JS+Designer.

They sent me an email a few days later saying I was rejected.

Horribleness: Unclear job description, unclear pre-screening, unfriendly secondary interviewer, re-scheduled interview without extending room stay.

Some Company on a Street (August)

After Defcon, I flew up to Chicago for two weeks. From there I submitted my resume to Some Company on a Street.

Typical process ensued: recruiter, phone discussion-only interview, then they diverged and asked for some original content.

They asked I complete some custom code tests to continue to the next interview stage. It took me a few days to complete their requested project(s). It ended up taking me multiple days, instead of just a few hours, because I thought I could get some bonus points by deciding to use the company’s own open source libraries instead of other packages.

But, their open source libraries had internal bugs! Those bugs-in-the-library kept crashing my programs for days before I realized their library was the source of the problem.

I mentioned their buggy crap library when I sent my final, working programs to them, but they never mentioned their buggy open source pollution or even acknowledged their library problems. As far as the code I submitted goes, they never mentioned it or discussed it in the remaining interview process.

A week later, they scheduled another phone interview, this time with a codepad. It was a simple interview with more dumb Python string manipulation tests. The twist on this interview was they gave you a time restriction (“Every minute it takes you to complete this task, the company is losing $10,000. Work quickly.”)

There were multiple communication problems during the session—they didn’t tell me I was allowed to use documentation. After wasting half a minute trying to remember an API function, they effectively screamed, “JUST SEARCH FOR THE ANSWER—WE ARE LOSING MONEY!”

Thanks, guys. There were other conceptual communication conflicts later as well. When we started talking about data structure implementations in functional languages, I left out some details of state propagation because the details are mostly standard boilerplate. But, they assumed the omission was due to me not knowing what the hell I was doing.

They thought I was objectively wrong due to communication differences, but there weren’t actually any conceptual misunderstandings.

A week later they sent me their rejection email.

At no point did they test any underlying skills or abilities (outside of time-pressure ‘fix the broken thing’ constraints)—it was mostly trivia-driven interviewing.

Plus (warning: GRIPE AHEAD), they had me spend multiple hours working on their required coding tests. They never mentioned the coding tests again after I sent them. So, they don’t care enough to discuss your design or implementation decisions, but they sure don’t mind wasting your (uncompensated) time creating it5.

Horribleness: Uncompensated coding requirements, blaming interviewee for not reading the interviewer’s mind for conditions of the interview, interviewer assuming omissions of technical details were due to interviewee incompetence instead of interviewee trying to not talk down to interviewer by stating every basic obvious repetitive detail.

Some Digital Seafaring Company (August)

I submitted my resume to Some Digital Seafaring Company. The CEO replied quickly asking me to call him. Ugh. I hate calling people.

But, I called anyway. I got his voicemail. This is why I hate calling people.

He eventually called back, explained what they do, then said everybody was traveling, but maybe they could send the real-time interview package next week.

Next week they emailed me essentially saying “do you want to be interviewed or what?” It seems odd they put the onus on me to schedule my own interview, but I reply to set something up.

I replied saying I was ready, but they didn’t reply back.

A few days later I replied again just to make sure my message didn’t get lost in the shuffle.

They never replied.

So, they can rot.

Horribleness: Disorganized communication with no follow through. CEO seemingly doing the entire process, but the process appeared to have no structure or schedule other than “do whatever whenever.”

Some Flicking Network Company (September)

I submitted my resume online to a Flicking Network Company. Two two days later a recruiter called me and left a voicemail: “I’m calling for Matt to talk about the resume he submitted.” I was happy to get their call; it gave me some hope after a barrage of rejections up to this point6.

But, after getting in touch with the recruiter, all they wanted to say is they couldn’t read my resume. They asked me to re-send it directly to them instead of through their automated web form that corrupts ASCII documents.

After emailing my resume directly to them, they never replied again.

Guess they didn’t like what they could finally see.

Horribleness: Implied interest then never followed up again.

Some SDN So Not Worth It Company (September)

I was interested in a SDN company with a few job postings on teh intarwebs. They had the same job posting both on their own website and through a recruiter.

I emailed them directly first. After a week with no reply, I emailed their recruiter.

Their recruiter called me the next day, sounded interested, then sent my details to the company. The CEO of the company emailed me the next day essentially saying “We weren’t interested in you the first time. Please go away.”

They fully rejected me—without any contact—even after I expressed direct interest in their work. My job history was littered with direct experience matching most of what they were looking for from their job posting.

In situations like this, I feel they are looking more for explicit pedigree, and without GoogAppSoft on your resume, they just assume you are worthless.

So, they can rot.

Horribleness: Being jerks.

Some Iffy Tilted Adidas Logo Company (September)

I sent my resume to Some Iffy Tilted Adidas Logo Company. The HR person called me, asked me to actually use the service before the technical interview, then scheduled a phone interview.

The technical interview was abominable. They had someone my junior, both in age7 and experience, conduct the interview. Their opening questions were “Can you name three open source licenses? Can you name three open source operating systems?” I paused for a moment to see if they were joking. Apparently their entire interview process is geared towards hiring potentially clueless 16 year olds.

I managed to not insult them too much through the phone interview, and they scheduled an in person interview, arranged a slightly annoying flight disregarding the airport I asked to be launched from, and set up the obligatory fancy hotel room. I had them schedule my outbound flight two weeks later up to Boston.

Their in person interview was slightly a mess too. They stuck me in a room and had a selection of people on (an invisible) schedule come in and ask questions, but they let it run a bit too long. By the third or fourth person I was starting to get light headed from constant talking and lack of food.

They were also very proud of some very backwards infrastructure choices they had made, but when you’re looking for a job it’s not great to hate on the company when you first say hello.

Finally someone showed up to have lunch. After five minutes of talking with the newest person, they mentioned they were the hiring manager. That may have been nice to know first instead of half a conversation later? So, lots of bad communication all around.

The hiring manager was also from the early days of the company’s HQ overseas. It feels limiting when your managers are installed by the home office to oversee remote branches. Is there any advancement potential when the managers are picked from friends of the founders and the CXO management chain lives overseas?8

A week later they sent me their rejection email.

Horribleness: Disorganized interview process, phone interview questions geared towards assuming interviewee is either incompetent or infantile, hiring process seemed geared towards selecting people who already worked there?

Some Heavy Knowing Company (September)

While I was in Boston, Some Heaving Knowing Company followed up and decided to interview me in person. I took an Amtrak train down to NYC for the day.

They also had me submit a multi-hour pre-interview coding assignment, and they also never mentioned it again after I submitted my code. Completely uncompensated for the coding time as well.

The first interview was a bit of a wreck. They asked a lot of direct algorithm implementation questions (e.g. write a working red black tree on the whiteboard right now while people stare at you). I’m objectively not good at thinking in those scenarios. If the answer isn’t already in my brain, I can’t live-discover, or even necessarily iterate on, solutions in front of uncomfortable strangers.

The afternoon interview was better, but I still failed to reach the conclusion they wanted. The second interview at least grew from constructing easier solutions instead of asking for The Hard Answer immediately. But, the final answer they wanted was an obscure data structure you either already knew about or would have to re-invent on the spot.

Two weeks later they emailed me a rejection notice.

Horribleness: Uncompensated mandatory custom code submission (which was never mentioned discussed after submission), prickly algorithm-heavy interview questions largely unanswerable unless you had the solution pre-memorized or can re-create CS theory on the fly, company is widely known to drive people to psychosis.

Some Maybe Dead or Maybe Alive Company (October)

I submitted my resume to Some Maybe Dead or Maybe Alive Company.

First they asked me to do a pre-interview coding exercise that took about ten hours. After I submitted it, the recruiter said “whoops, that position isn’t available anymore. But, we have another position, please do this other pre-interview test now.”

So, coding tests are uncompensated, and they wasted multiple days of my time so far. Their second test wasn’t coding, it was just question/answer format. I rage-answered those individual questions in less than five words each.

They invited me up for an interview. I took Amtrak from DC to NYC. Standard arrangement: Hotel room, interview, goodbye. They were very lenient on the booking process to the point of being unorganized. They essentially said “book whatever and we’ll reimburse you.” So, I booked the $300/night hotel room and the travel tickets out of my own pocket.

During the interview they asked me some questions I consider irrelevant (“write an SQL select statement” … “how would you design these two tables to store blah and bleh…”). I haven’t touched SQL in years, so those were pulled out of The Vault as accurately as possible.

A live-coding portion of their interview resulted in me providing the answer using recursion, the interviewer scoffing at how unnatural recursion is for anything, then having me re-do it in a non-recursive solution.

Three weeks after the interview they sent me a rejection note.

Five months after their rejection note, they sent me another email asking if I’d be interested in a position “less sophisticated” than the one I applied for originally.

Horribleness: Disorganized recruiting process, uncompensated coding submission, when code was submitted they informed me the position didn’t exist anymore and had me re-apply from the beginning for a different position.

Some Relationally Turning Company (October)

I sent my resume to Some Relationally Turning Company and it took them about a month to start the interview process.

My first interview with them was over IM while I was tethered to my phone on an Amtrak train between Boston and DC. It went well enough. They scheduled a skype call with other project managers. The position was largely going to be new, so they were interested in orienting the position rather than evaluating direct skills.

They essentially asked, “Can you do this?” To which I responded, yes, I can do this.

They actually trusted my thousands of lines of open source code scattered around the interblogodome. They didn’t subject me to any trivial questions or cargo cult interview practices9. Everything was very up front and professional—just how you would expect most companies to act, but so few do.

So, they didn’t reject me after multiple contacts! Progress!

Then a multi-week negotiation process commenced. I kept trying to tell them it’s to their advantage to pay me a little more because I’m currently in between jobs and traveling—note: never use the word homeless in a negotiation—and they would get better work out of me if I had, you know, a bed and a desk and food and a solo apartment.

Before the negotiations were finalized, I took one last Amtrak trip from Baltimore back to NYC. This was going to be the end of my short term travels one way or another (fallback position: rep at soho apple store?). Two days into being back in NYC, we reached an agreement, they emailed me the paperwork, and I had a start date one week later.

With a signed offer and a start date, I had the fun task of finding an apartment in NYC with less than a week to get everything closed.

So, the only place willing to hire me is the place where I both a.) didn’t do any live coding interviews and b.) never met anybody in person — their entire interview process was IM/Skype-based10. I’m not sure what that says about me, but I try not to think about it.

Conclusion

I covered all the Bad Things above, but what about the good things?

Every company did either pay for all travel themselves or reimburse travel I paid for myself. One company reimbursed immediately through paypal, other companies reimbursed weeks later through paper checks in the mail.

Every company kept the process moving along as quickly as they could during the “still in the game” phase, but every company took a week or two to file an official rejection. It became fairly obvious when a rejection would soon follow.

By The Numbers

  • On-Site Travel Interviews: 4
    • LAX->LGA->LAS
    • HOU->LGA->BOS
    • [amtrak] BOS->NYP->BOS
    • [amtrak] WAS->NYP->BAL
  • Rejected in Phoneterview Stage: 2
  • Never Properly Considered: 3

Next Steps

This retrospective is background rationale for creating a professional, repeatable, and verifiable hiring process. More on that soon (or at least eventually).


  1. Across dozens of interactions, I’ve seen that once you set a concrete price for your services, the other party just stops responding.

  2. Without looking it up, is it "string".split("-") or "string".tokens("-")? What if you want to split/tokenize multiple times instead of the first match? Do you add another parameter? If so, is the additional parameter the number of additional matches or just True to imply “match everything?” Don’t get me started on join or how utterly backwards it is to get length of a list in Python too.

  3. Due to other reasons like: succumbing to multi-day food sickness three times in less than a month, traveling to costa rica for a few weeks, then recovering upon re-entry to the US in San Diego.

  4. Always remember an interview process is two ways. You should be evaluating them, their environment, and their prospects as much as, or more than, they are grilling you.

  5. This brings us to a whole problem of businesses existing as godheads in society where employees are all supplicants to the wishes of The Corporation. You must sacrifice yourself, your time, your thoughts, for the betterment of any large organization without equal reciprocation.

  6. This retrospective leaves out details of the progressive stress induced emotional and physical damage caused by never-ending streams of rejections while also being technically homeless and running out of money.

  7. The “younger” detail isn’t entirely relevant—tons of people younger than me are smarter than I can comprehend. But, you don’t want your junior engineers interviewing mid-to-senior career level people; it’s just disrespectful to the people and the process.

  8. That’s probably overstating it, but it’s a valid delusional conclusion in the absence of other evidence.

  9. I still don’t know if the lack of formal real-time testing was intentional or if everybody just thought someone else already did that part of the evaluation.

  10. The hiring manager was in London, his boss is in NJ, and I was interviewing from a combination of on-a-train, DC, Baltimore, and NYC. My manager has subsequently left the company. I never met him in person.