nowucca.com - personal software technology blog

Software Engineer Seeks Jobs in the Silicon Valley - An Experience

I work in Silicon Valley as a software engineer with 11 years experience, and recently I started looking for a new job.  I had 5 offers in 4 weeks, and made a decision to join a mid-stage startup.  People kept saying the market was "hot" right now but I tend to think it's just warm.  Which is sobering since the bay area technology companies are doing very well.  Maybe people are more "productive" right now. This article follows me through the experience, and is hopefully helpful to others.

A number of people have given me some advice over the last 5 weeks.  The most interesting advice seems like the most difficult - don't stop interviewing for long stretches. This was in the context of "you should always keep your interview skills fresh, and keep learning what is asked".  I think it's good advice, probably best applied when you're happy in your current job, and aren't scrambling like mad on some project.  I'd also add blog about some interesting stuff  while you are working - it will all help with your personal "brand" and confidence ultimately. So, whether you're doing this out of necessity, or just to keep your hand in, there is definitely an art to interviewing, and it pays to prepare.

So I started looking for a job.  And feeling pretty good, until I bombed my first interview.

The Bombed Interview

After 4 years in one position, and no interviewing in between, going in to an interview unprepared was a painful wake up call.   The first interview I bombed in a number of ways.

Prepare the Backdrop

After that bombed interview, I did not rush off straight away into a world of recruiters, phone interviews and on-sites.  When you do get a phone- or and on-site interview, you can be pretty sure that the hiring manager will run some reference searches online on LinkedIn, and Google your name.  That's what I would do!  So I wanted to be sure that they would find compelling content online about me.  This meant preparing a few things:  the resume, the LinkedIn profile, my personal website and this blog.  For me, I wanted consistent information, no links to distracting content (Facebook, photos etc)  and interesting content as much as possible.
I decided to approach the problem of consistent content by writing my resume in a Word document, and then using that content for both my LinkedIn profile, and my personal website.   This way I could add details on LinkedIn and my website that added richness that I could not fit into the resume due to space limitations.

Prepare The Stage

Before engaging the real world, I found it very central to visualize explicitly what I wanted in a new job.  I took all the positives from the last job and spent time designing what my own engineering team and process would look like.  In my case, I ended up looking for a mid- to end- stage startup with a challenging, interesting domain.  My criteria ended up being:

Start the Show, Act I: Contacts, Recruiters and Companies

I did not really have any recruiters from previous efforts, so this search started with people I knew (always great to find companies through them)  and took the approach of going with many recruiters at once.  I became a job seeker and open link member on LinkedIn, and replied to all recruiters who had previously and were now getting in touch with me.  This means I was actively engaged in about 20 contacts at once.  Gmail Calendaring on my iPhone became vital.  I also liked that I always sounded busy because it was hard to find a slot for a phone interview.  The flip side is that managing these people and dealing with phone calls becomes time consuming.  However, I think it's important to go wide initially - I have an idea on who the best recruiters are and what their approach is.  It sounds cliche, but I'd look for recruiters who use LinkedIn, have recommendations and spend far more time asking about you rather than just getting you to look at companies.  Also, if they do talk about companies, they spend some time talking about the hiring manager.
I found after a few days it was harder for me to source companies of interest by myself, and I'd exhausted the initial batch of recruiters.  I then started seriously looking at online job boards: stack overflow / stack exchange / linkedin / careerbuilder /monster / craiglist.   I also started looking at Y Combinator and other venture capital sites for companies that were funded 12-24 months ago that looked like they were doing well.  That's how I found companies like Evernote and oDesk.

Act II: The Phone Interview

I had very standard and very challenging phone interviews.  One company even had me perform a  non-trivial programming task that took me 10 hours to complete.  And it wasn't free work - it was more like a challenging all-day exam question.  I was very impressed by that, and since I eventually stumbled upon the "right" solution after much thought, it gave me a much needed confidence boost! In the end I must have done about 20 phone interviews.  I am still waiting to hear back from a few(!), some said no after a day, and some said sure.

Standard Phone Interview Questions (asked >2 times)

Interesting Phone Questions

When asked if you have any questions, I think it helps to show interest in the company but not too many details of pay, or benefits - it's too early.  I try to focus on how they make money, what the commute is like for the interviewer, how many engineers they have, and how they do releases and testing.  That shows an interest, without getting too detailed on any one area.

Act III: The On-Site Interview

In the valley, expect 3-6 hours of interviews.  I've been to about 7 on-sites in my process this time, and had offers from 5.  I've had a number of different experiences - from meeting VPs and management initially, to meeting engineers and product folks but not the hiring manager.  Most times you will be asked to code on a whiteboard.  If not, be wary!  When coding on a whiteboard I found it is very important to be happy, alert, open and to explain your thinking without getting too chatty, or distracted from the problem at hand.

WIth technical questions,  if you're good, you'll get by on intuition, design skills and by reviewing your data structures textbook (linked list implementations and hash tables/caches, or other cool lesser known data structures.)  Rather than focussing on the actual technical interview questions here, I'm going to defer that to another article; rather I'd like to suggest questions to ask which turn out to be pretty critical I think in showing how you think and your interest in a company.

Questions to ask VPs and CEOs

Questions to ask Managers

Questions to ask Future Colleagues

Act IV: Negotiations

Value yourself well.  You've done wonderful things for your last company, and you're good at working with people and not just coding, right?

I suggest being forthcoming and aggressive when talking numbers with your hiring manager.  I think it's a good idea to state your previous salary and what you're looking for now. And why.

Don't forget about reviewing glassdoor.com and payscale.com, and (with a grain of salt) asking recruiters what the salary ranges are right now.

I'd also say be firm up front.  Let them come back to you with an offer  If they come back with a lower offer, provide alternatives.  Can you play with benefits?  Can you suggest adjusting the  mix between equity/payment?

Of the 5 offers I had, I improved 2 of them by significant amounts, another offered $20k less than my aggressive number, and the others got closer (but less than) my aggressive number.  One company (perhaps wisely) wanted me to truly want to go there, so rather than made a numeric offer they effectively said "come back to us if you really want to work here".  I just don't think that's really giving me enough detail after meeting with them and having a 6 hour interview!

In the end, for the style and title I wanted, because I went aggressive, I can be pretty confident I'm not getting totally ripped off in the current market.

Conclusions

I think reading this should give you some ideas on how to start looking for a job, and some things to think about.  I don't really see it as prescriptive, but hopefully it will prod me in the future to get out there and give me a boost on what to think about when I go out there.  Ultimately, I'm really lucky that I work in a great, fun field with plenty of opportunity here in the valley.