Being recruited in the USA (pau.calepin.co)
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...
151 comments
[ 4.0 ms ] story [ 200 ms ] threadThere should be a much longer moratorium on granting foreigners citizenship. Immigration rates are far too high and on a course to create serious overpopulation problems in north america. https://www.numbersusa.com/content/
Also, remember that there are many people who just want to work in a different country temporarily because it is good for their career+. E.g. here in The Netherlands, we have a high influx of Chinese students and PhD candidates. But nearly all of them return once they have a degree (a degree from a Western university usually gives them good positions in China).
+ There seems to be a widely spread belief in the US that the rest of the world is envious, and would preferably want to live in the US. I have been in the US very often, but I'd never want to live in the US permanently. Social welfare, healthcare, paid leaves, pensions, etc. are so much better arranged in West Europe.
If an industry does not employ the native people in a country, or only enriches a clique of owners, then who cares if it leaves? In any case, this line of argument is malarkey. There is no evidence of restrictive immigration driving away business. Typically you just get an industry with higher capital investments and higher wages.
That's a pretty extraordinary premise. Do you have evidence to support the idea that Silicon Valley only enriches a clique of owners, or that it wouldn't employ Americans? Or is this purely hypothetical?
It's not like the visa process allows unskilled, unemployed workers to pour into the country. It's a lengthy, expensive process that allows employers to hire for jobs they couldn't otherwise fill from other available candidates. This brings intelligent, educated and skilled immigrants who are perfectly capable of paying their own way and who bring a massive net gain to the US.
The similar problem with remote is that the manager and their team must consciously prevent the "silence" the author alluded too. Likely, the silence was not intentional. People get distracted in "realspace" and easily can neglect remote worker. In order to have a remote team be viable, you have to overcome this barrier. That's where the trust/competence of all parties comes into play.
http://news.ycombinator.com/item?id=3428195
That said, the author seems to be quite employable, I hope someone spots him for some remote work or lets him join a branch somewhere in the EU and transfer him across on an L1 visa.
You also have to be very careful coming to San Francisco to look for a job and then applying for an H1-B ...theoretically that is against 'the rules' so make sure both you and your future employer are comfortable with the situation.
I'd say try again next summer, I'd bet you find success. The $5K for an H1-B is nothing for a great dev!
It has some key differences to the H1B however:
- It is a 2 year visa (H1B is 3 year) and renewable indefinitely (typically H1Bs allow one renewal);
- The E3 by default is a multiple-entry visa;
- Renewing the visa inside the US is a huge pain. It takes months from USCIS and it's more expensive than obtaining a new visa (which can only be done outside the US);
- You don't renew your visa, you renew your status. This means if you leave the US after the visa expires but your status has been renewed you have to get a new visa anyway;
- The H1B visa requires a labor certification for the position and "proof" that you were unable to find a domestically qualified candidate. The E3 visa only requires the labor certification so has a much lower barrier to entry.
In addition, an E3 does not allow "dual intent". i.e. you may not seek permanent status in the US while holding an E3 visa. This means no Green Card applications, including the Green Card Lottery.
One other thing that may not be unique to the E3, but is worth understanding is that your tenuous presence in the US is bound to the employment quite tightly. If you quit your job, or are let go (startup winds up, etc), you must exit the US within 10 days. That's 10 days to pack up your things and leave the country.
There is a way around it on E3 but also a high chance the consular officer will decline you. Best to get a green card on a H1B. Use E3 as a way in (for Aussies), then transfer to H1B and apply for Green Card IF you believe its worth it. Remember the US government can tax you up to 10 years after you have given your green card back should you want to go home..
http://www.taxesforexpats.com/expat-tax-advice/citizenship-s...
If you move back to say Australia there are still negative tax consequences in so far as some Australian tax strategies that are quite beneficial will have those benefits negated when the US tax system is brought into account.
This will vary from individual to individual so seek a professional tax agents advise for your situation.
"An application for initial admission, change of status or extension of stay in E-3 classification, however, may not be denied solely on the basis of an approved request for permanent labor certification or a filed or approved immigrant visa preference petition."
That's straight from the horse's mouth: http://www.uscis.gov/files/pressrelease/E3PolGdnc_121505.pdf
So, you can enter the DV lottery, or apply for an employment based green card. But you still have to be able to prove you intend to return to your home country at your next E3 interview which is something you have to do anyway but I guess it would be a bit harder than if you had no GC applications.
The E3D lets a dependent of an E3 visa holder obtain an Employment Authorization Document (EAD). Once obtained, the EAD allows the dependent to work in a regular full time job - it's not restricted to a 'small amount of part time work'.
The process is easy and I didn't have any problems at all. All I needed was a degree (any university degree) and to be offered a job formally for a 'professional' position.
6 months into my employment here in seattle, I realized the role was completely different to what I was hired as ('consultant' sucking up money from microsoft vendor contracts) and no real design and development. So i got an offer from another company and left. I thought this would be a nightmare but as long as your not unemployed less that 10 (or was it 15) days you can submit to make adjustments to the visa. I am now happily with another company in seattle and going on 1 year in the USA.
Any regrets? Yes. Healthcare is too expensive. My wife is having a baby in february and even with insurance it will cost us about $5000. In australia it would have been free and the government would have paid us a baby bonus of $5,500.
If anyone has any questions about the process email me at lukemh *at gmail.com
This, after I've already been working in the US for two years- you would have thought they'd have asked for the letters when I applied the first time.
My H1B three year limit is in November of this year. I can apply to extend for another three years, but I can't wait to see what nonsense they throw my way when I try.
Instead you have to deal with the wonderful world of employer sponsored green card and your 15 year-long wait.
Every US immigrant I've spoken to wants to stay here, build up savings, buy a house, etc. I do too. But if there is no path for me to become a permanent resident then, yes, I'm going to take my savings and go home. I don't want to, but I won't have a choice.
Making the immigration process difficult is counter-productive for everyone.
In San Diego, it is a russian-roulette type of play: you go to Tijuana (right across the border) and you either get a visa extension or you don't. If you don't, you're stuck in Tijuana. I know people (from Europe) that had to arrange for a trip home because they were denied a visa extension (J-type).
Yes, April 1 is the day H1 Applications are officially opened for filing for worker coming in from October 1. However, with the recent lack of demands, blame the US economy and a much more strict Immigration rules, you're likely to be able to apply till end of year or even more. Last year's quota was available till late November if I can remember correctly (2010's quota was available till Feb of 2011).
But, do not wait for April 1, get your lawyer (or the company's lawyer) to start the paperworks and be ready before April 1. That way, you're likely to know the result earlier.
Of course, founders (executive roles) can look at L1 for a better alternative Visa than the H1.
Note: Your lawyer will also advised you to leave US soil before applying for your H1 else you're complicating yourself. Translation, you're soliciting yourself (being interviewed, meeting prospective employer) and that is not allowed.
Is this a catch-22 ? Nobody ever got legally an H1B ?
Other way is that you are on some other visa (other than B-1), that does allows you to solicit, give interviews, etc. For example at the end of F-1 study visa, you can go around and shop for some time to get a job, and the company will then sponsor for your H1B.
At the end of those (12+17) months you can seek H1B.
I've been reading up about hiring and interviewing, and shockingly enough there isn't any good research I can find on effective hiring practices. I worry that asking puzzles and brain teasers is just a fad that isn't doing anything to pick out the best candidates. There's no real evidence that we're doing it right...
Well, it is quite important knowing how `this` works in JavaScript. See: http://www.digital-web.com/articles/scope_in_javascript/
I don't know why "application developer" == "Don't have to know how the thing I'm using works"
Quite frankly I can never get away from knowing how the thing I'm using works. My greatest wish is that in 2050 we will create a computer language that has no performance penalties and all the JITers/vms/compilers are invisible to me. Until then I'm forced to learn all the inner workings of my languages if I want them to run reasonably.
My mind played tricks (back when I was researcher there was that option to increase your chances). However I do remember that presenting a legal case that my skills were worth was an important factor to get the H1B.
http://brunosan.eu/2012/01/04/being-recruited-in-the-usa/
So advice for people in the same boat in the future, If it is something you really want to do, then you need to know exactly how the process works at every step of the way and also have a really good Lawyer that the company can talk to if they have questions. They can help you if tricky things come up (and they will if the company applying for you is small enough).
I advise you not to go with a lawyer from a big firm, those guys just want to see dollars ... and if your case is small and tricky they will not be interested. trust me. Try to find an individual or small firm that is responsive and knows the ins and outs of the process far better than you ... if possible ask them to tell you the trickiest situation they've helped a client with before ... that should give you some idea of how good they are. Usually they can bill you for their time spent talking the company, or their lawyer down from the ledge (this will happen), or if they handle the process then you or the company can pay their fees.
Lay out the process when the company asks about it (because they will usually not know), let them know that its not complex, just a pain in the ass and that you will handle most of the legwork (you're prepared to do this right?) ... some people chip in to help with the fees if they're so inclined ... this is frowned upon and I think the law has been changed to make it illegal, use that information as you want.
Above all, be persistent, upbeat and constantly in touch, do not think that a company is going to jump through hoops to pay $5000 to get you. And remember that some of the requests that are made of the company (like tax returns etc) might cause them to stall, so be prepared for that.
It will come down to how bad you want it. good luck
I use a collaborative code editor so I can see what the person is typing, and I don't give trick problems. I pose the question, and ask them to think about it before coding. Once they've landed on an acceptable solution, I ask them to write it up. 80% of the time it's broken or they can't finish it (these solutions should be 20 lines or fewer). On at least one occasion the answer was copied directly from stack overflow :\.
Trick questions are all the rage, but I'm not convinced that they actually highlight a competent developer. The problem (in tech, not specifically at Amazon) is we're all trying to emulate Google, and since they ask brain teasers then we have to ask them too, because it must be the one true way.
In summary, I think there is both a shortage of good devs, and contrived puzzle questions are not actually an good for evaluating a candidate.
(1) These views expressed are my own, and not necessarily the views of Amazon or its employees. Disclaimer added at my own discretion, not due to any corporate policy.
EX: Microsoft has middle of the road reputation and I know people that would literary consider with them at 120k to be a better option than 140k at Amazon.
There are certainly people who apply to Amazon after having made a couple websites, thinking that Amazon is just a website so they're qualified. What they don't see is all of the intense engineering that happens to keep that website running. A very small portion of our engineers ever write HTML.
Amazon does have a reputation of being cheap (and it's well-deserved), which is probably causing a lot of great devs to avoid the company entirely. That would skew the numbers in favor of less talented devs. However, I don't believe our rejection rate is higher than the industry average. 80% rejection at phone screens is pretty standard.
Edit: Also, for your particular example, Microsoft was _way_ better benefits than Amazon and a better office environment. I can't comment on pay, since I don't know their typical payscale.
Many of us have presumably seen our share of brilliant people flame out because they could not adjust to the ambient value system, and figure out how to get the right things done. Often these people flourished in a prior context: school or another company with more or fewer constraints.
Assessing that context match is hard. The most successful way is to have a mutual trial period (ex: internship). Failing that, in interviewing for a full-time position, the closest you can get seems to be by trying to simulate what it'd be like to work together. That's why you try to throw them at coding exercises or difficult problems. "Brain teasers" are silly but coding challenges where you see how far they can go with some direction are actually pretty useful. They give you a large dynamic range within which to quicky hone in on someone's current skill level. More interesting than their current skill level is how quickly you think they can progress, and so that's what you try to simulate in an interview.
I'm not particularly good in interviews because I get nervous and stumble over my words. It is not at all like a real working environment, so I think any conclusions you draw from one are necessarily flawed. I recently read about Heroku's interview process, and I think it's great that they can invest so much in evaluating their candidates. They give each new candidate a project to work on and make a hiring decision after it's been completed. (See http://www.craigkerstiens.com/2011/12/02/how-heroku-works-hi...). I also think it's unsustainable as their company grows but I would love to be proven wrong.
Also, that collaborative editor might not fit their fingers due to a habit.
Even more: often people just don't like each other and the interviewees feel that, get nervous and perform poorly. I know someone who was dismissed as completely unqualified on the phone screen interview where I work and then Amazon hired him and he's quite successful there.
There is no such thing as a shortage in a free market. It's an oxymoron.
"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...)."
I do believe some startups are missing out on some amazingly talented developers by making this your rubric. Some people just don't some solve puzzles well, in the same way some people don't perform stellar on tests, but does that mean they are not capable of writing great code. Not at all. I've met some stellar coders who do not solve timed puzzle or timed tests well.
Will someone please explain to me exactly why solving a puzzle is a indicator of potential workplace success. Do you want to hire puzzle solvers or actual developers? Should I spend my time improving my puzzle solving skills or churning out code that solves real-life problems?
Not only are you paying for devs to help and evaluate the candidate, you are doing this over a much longer period than a traditional interview, and you have to pay the candidate for the work they did, even if you're going to throw it out.
Nobody wants to force candidates to jump through hoops or make them feel stupid. That's a recipe for bad word-of-mouth and never hiring good devs. When I conduct interviews, I always try to make people feel like they did an OK job. I don't want them to get off the phone thinking they did really poorly. I try hard to seem impartial, but that's often quite difficult to do.
The root problem is that nobody knows what the hell they're doing in interviews. We don't know the best way to evaluate candidates, so we try various things that are ineffective or wasteful. Eventually we'll figure it out.
1) It tests if you're able to think on your feet. Anyone can Google for help/solution/code for a problem, but most people want to know if you can think for yourself and that your first reaction to a problem isn't to go for the browser. They want to know what you're thinking and how you can solve a problem.
2) It tests how you handle stress. Do you blank out and panic? Do you start shaking uncontrollably and can't speak properly? Crunch time gets stressful, and if you're easily stressed out your desired employer may see this and think you're not a good fit.
3) It tests teamwork. A lot of times, interviewers will drop hints or advice on how to solve a problem. I've heard that some programmers will just disregard it or try to fight it and solve it their own way. It's a good time for an interviewer to see if you're someone they'd want to work with.
EDIT: If you're going to downvote me, you should leave a reply why you found my comment to be deconstructive or irrelevant.
1) They have to be short enough to complete in a "reasonable" amount of time.
2) They have to have enough resolution to distinguish between good, better, and best.
3) They have to be representative of the real life problems that the person / computer will be solving.
Most benchmarks only meet objective #1. Further, benchmarks that only meet objective #1 are easily "game-able".
Benchmarks which meet objectives #2 and #3 invariably don't meet #1, which makes them hard to use as a benchmark.
It's weird there are so many companies claiming to not be able to find people but you hear about their hiring process and it's no wonder.
For example, everybody knows merge sort, but assuming they didn't, draw out a couple iterations in a graph and ask them to code it.
(I don't think it's an awesome interview question in practice though, too many people do already know how to do it.).
And again, I do not think this is a good interview question. I just think it's bad for a different reason than the original poster claimed. Which was that it's supposedly not solvable even by top engineers unless they've recently implemented the algorithm.
I've written 100,000s lines of code and released 9 different commercial products over the last 15 years, and Newton's method is far from being in my working memory.
Now, if you ask about best practices in shipping software...
They need us so badly that they grasp at anything to show us we dont deserve to be paid. Its economics.
This seems more plausible to me. Recruiting is hard.
You'd be surprised how many people with a master's in CS show up to an interview and can't write a recursive method to compute n factorial out on a whiteboard. Hell, I'd say about 10% of the people I interviewed couldn't successfully complete FizzBuzz.
Technical weed-out questions are an unfortunate but necessary part of tech recruiting until other, better signals of ability are widely available.
Seriously, this is one reason I like the emphasis smart companies are putting on github accounts. Better signals are available, and portfolios are one such signal, and one that works great for many other professions.
Here's the more nuanced version (in which I largely agree with jnbiche):
The stuff listed in that article under "An Alternative" describes the exact tech interview I used to give. And we had several people pass it with flying colors who we later had to let go because they couldn't actually translate a requirement into code.
So we adjusted our interview to make sure that people had the ability to write basic code. I'm not talking about stupid puzzles or API quizzes. I'm talking about 'show me you understand what recursion is'. I'm talking about 'given a detailed description of the FizzBuzz problem, can you write me a loop (in any language; pseudocode is fine, too) that outputs the right answer? And can you adjust your code if I change the requirements slightly?' Stuff that anyone who codes on a daily basis should be able to breeze through.
This was dead-easy stuff. Just me and the candidate in a room - there wasn't a giant audience, there was not ticking clock, and I was explaining the algorithms. And again, quite a few people could not do it.
If they could do it, we moved on to the original interview where I asked about technology, past projects, etc. Some people didn't pass that part of the interview.
Believe me, we were stoked when we got a candidate who listed open-source projects on a resume or brought it up in the interview, because we got to see real-world code that the candidate had written. But that was a relatively rare occurrence.
This brings me to the crux of the 'until other, better signals of ability are widely available' comment. I think it's widely agreed (at least, in a place like HN) that code is the best signal of ability. But there are many, many candidates who write excellent code that no one outside of their company will (or even legally can) ever see. If I turned away candidates just because they didn't have a github account, I would have missed out on some of the greatest coders I ever worked with. There are plenty of people who passionately write excellent software every day, but who do so under NDA. They may not work on OS projects in their off time because they may not have any (or they have kids, or other time-consuming hobbies).
So for a lot of fantastic coders, the best possible signal of their ability is not publicly available. I would even go as far as to suggest that this may be true for the majority of fantastic coders. Everyone has to pay the bills, which means 8 hours of writing custom business software for a lot of people. I know for a fact that some of the best stuff I've ever written is buried with companies that failed, never to see the light of day. I can't show that in an interview. How many other people are in the same boat? http://xkcd.com/664/
Obviously, one huge part of the solution to this problem is for companies to open-source their code. That movement has already begun; lots of successful companies have come to the realization that keeping their code 'secret' has no value while allowing outside review and contribution has immense value. And some smart companies which use a lot of open-source tools and libraries are paying their employees to contribute bug fixes and features. Those trends are starting to address the 'widely available' part of my comment, and the day may eventually come where employers can simply throw away resumes which don't have any links to code contributions. In fact, if you're looking for another bullet point on your presentation to your employer about "why we should do open source", I would suggest mentioning the hiring benefits to the entire community.
But until we hit that critical mass, I'm still going to have to ask people to implement n-factorial on a whiteboard.
That said, Newton's method is not rocket science. The basic algorithm is iterating this line:
Where f is some function and f' is its derivative. In many cases this will rapidly converge to a root of f (i.e. z will converge such that f(z) = 0). As far as algorithms go, this one is pretty damn simple. It is not in my working memory either, and I expect that many people rederive it when they need it.The idea behind Newton's algorithm is that you approximate the function f(x) with the tangent line L at z:
Now L(x) is an approximation of f(x). How well an approximation this is depends on how much f(x) looked like a line in the first place. Then instead of solving f(x) = 0 (which is our goal, but hard) you solve L(x) = 0 (which is not exactly our goal but almost our goal, and it is easy). So: Rewriting: Now the approximation of f(x) at that x is 0. Because it's only an approximation to f(x) it will probably not make the real f(x) = 0. Therefore we apply the method again and again with x as the new starting point: Because we're iterating, this method works even if f(x) doesn't look much like a line. For example x^2 - a doesn't look much like a line, but Newton's method is very effective at computing its root to compute sqrt. To see how outrageously effective it is, lets compute sqrt(2.0) with it. Lets start with a starting guess x = 1.0. We get the following numbers: Note that at the 6th iteration already all 16 digits are correct.Newton's method is perhaps the most beautiful algorithm due to its simplicity and effectiveness, and worth knowing even if only for its beauty. It is also quite probably the most important algorithm ever invented. It is used everywhere from division in hardware to optimizing all kinds of things and solving differential equations.
http://en.wikipedia.org/wiki/Bisection_method
It's a fairly straight-forward transformation.
No. Not really. During a test I quickly coded the solution to a numeric problem in BASIC on a Casio PB-700. It was fun to watch the HP-41 crowd tearing their hair off. That's when I first learned pg's "beating the averages" lesson.
[0] https://developer.mozilla.org/en/DOM/window.setTimeout
Technically supplying '0' as the milliseconds is bad in old browsers, so you might want to say 10...but I've used '0' a lot without fail.
There have been several companies in the past years that expressed their interest in hiring me but were put away by this problem. I don't blame them, I blame the system.
When people ask me what the downsides of dropping out of college were, this one is the most important.
As far as the interview. Stupid questions asked by stupid people who can't tell a techie from their asshole. Should be a technical discussion not an interrogation. Their loss.
Also, I've never really had an interview. And I've had some pretty good jobs, but I never got them for solving math problems.
Seems to me it requires a person that falls in one of these categories:
- having a job that includes solving math problems - I'm web/mobile - motivated enough to prepare for it (I could believe that) - I would probably do this if I wanted the job - people who are so freakishly smart they can solve it right away - This is my idea of Google engineers, but it's not me - people who have fun solving math problems - I love to see things working, so not me
What do you think is the best strategy to increase my chances if I ever get to do an interview like that?
Anything that's worth doing involves a heavy amount of math. Most of my day is spend doing UI and I tend to deal with a heavy amount of math each day. So I don't know what you mean by "I'm web/mobile" but unless you are purely a designer*, your doing math.
The math that they ask at interviews usually doesn't involve anything that isn't reasonably expected to be in an algorithms book. To that extent they usually avoid some of the more specialized algorithms. eg, I've had BSTs but not Red-black trees but it's not unusual to have a question on RBTs depending on the company.
Other than knowing your algos really well that's about it.
But if you want a _specific_ job, it's always a good idea to find out about the interview culture (if you can, it's almost impossible for small companies) and then prep for the interview at hand.
I guess that falls under "motivated enough" :)
If you want to be prepared in a general sense, get "How would you move Mount Fuji", a book on those interview puzzlers. The upside of most of those puzzles is that the answer is blindingly obvious once you read it the first time. So read that book, and you're done ;)
Does anyone have any experience or know the process with transferring from F-1(ESL school) to H-1B?
From What I've been told the process is F-1 > OPT > H-1B but currently,I'm in ESL school and can't get OPT.
Briefly background :BSc from Thailand computer science,6 years experience with .Net full stack,Agile,Scrum,CMMI level 3,lately really into mobile app development(iOS almost 1 year)
I started applying for jobs by looking on the job listing site and even post my resume on craigslist. got several job interviews at the time apparently by phone which both directly from company and recruiter.
overall,the interview went pretty well then last question I was asked what is your currently work status I told them F-1 student visa.... nailed it...Well,never get a call back.
never give up I jump in every single opportunity, read every searched result to start my startup in USA (e.g. blueseed,startup visa act).
Went on one face-to-face job interview and finally,got a job offer as software engineer and assistant software architect they told me that they are willing to sponsor me for H-1B. They made a contact with one law firm and I got a couple forwarded emails from them which being said how the process works and how much will it cost blah..blah..blah (the company tried to show me that they were starting the process getting me a working visa).
the law firm asked what school are you in right now I said I'm in ESL school then they said you will get a better chance if you are not in ESL school but either graduate school or college which majoring in any field that related to the job.(software engineer).
This led me to my question above and I would like to know your opinion that Is there any chance for me to get a working visa in this situation?
Thank you.
Even professional recruiters are at a loss as to how to deal with this.