December 21, 2011

Being recruited in the USA

There is a lack of engineers everywhere, but finding talent is especially hard on the Bay Area.

I'm from Spain but I've been the last 3 months in San Francisco attending to some conferences and visiting some friends. At that time I was trying to start something but I changed my mind and I started looking for a job instead.

Getting in contact

Every single company I visited was recruiting. Companies were constantly providing pizza, beers and smart people talking about smart things just to attract talent.

I sent many resumes but the 90% of the times I didn't receive any response. I just didn't know what was missing. I have a CS degree, +5 years of experience and lots of open source contributions on cutting edge technologies. I guessed companies were not willing to sponsor me a H-1B visa.

I was about to come back to Spain when I received two calls from a couple of companies.

The interviews

The first interviews are always telephone interviews. They ask you about your background, some theoretical questions and some puzzles.

Then it's time for face to face interviews, which can be up to three hours long! You talk with people from different departments, answer more questions and solve more puzzles on whiteboards.

  • Implement a function that calculates square roots
  • Sort and concat arrays in a optimal way
  • Guess the two missing numbers in a array with n - 2 length containing 1..n unsorted numbers
  • Calculate the number of digits for a given number
  • Implement a function to detect palindromes
  • ...

Most of them are doable but I think they are probably missing amazing developers that may not know how to solve those problems, but they are capable of solving real-life problems (fix this bug, port this library, refactor this code...).

Some of the theoretical questions I had (mostly javascript related):

  • What is a closure and which disadvantages has
  • What is hoisting
  • How does this work
  • How float works and which issues have
  • How does the event loop work on the browser and how to delay a function to the next tick
  • How to optimize CSS, and how does specificity work

The offers

Both companies offered to sponsor me a H-1B visa and a good salary. I ended up accepting one of the offers because they where more transparent with the stock options and because they told me that I could work remotely until getting the visa.

I signed the contract, opened a bank account, left my job and came back to Spain.

The silence

Back in Spain I started to prepare myself for the new job. I learnt Python because I saw some people using it at that company's offices. I was super motivated and willing to start! I even sent some emails to the CTO to get some instructions on how to setup my development environment.

At my starting date I received the first email from the CTO saying that they were not able to get my visa and that they were thinking about the whole remoting thing. I answered them that it was not a problem for me. I've been remoting for a while and it had never been an issue.

What happened next? Nothing. Silence. I was ignored completly.

The problem

Getting a working visa is not easy. Companies should start to be more open minded with remote workers.

There is a huge deficit of talent on the USA, and a lot of wasted (and way cheaper) talent on other countries. An average engineer in the bay area can cost around $100k. In Spain, the same engineer costs less than a half.

The solution

Ironically, While I was in San Francisco I was working for Teambox, a company based in Spain. It was an amazing experience, the development was happening 24 hours a day. The git repository was constantly receiving commits, never sleeping. We used talker and teambox to communicate and we had exactly the same problems others have working insite:

Who broke the specs? They were green yesterday! git blame ...