
Ask HN: Canadian, physics degree, in aviation, want to move to tech in US, how? - rohitb91
Basically the title. I&#x27;m 27 and am not in a relevant field. The job is great, but I just want to be part of more important things.<p>If I change my time horizon to, say, 3 years, is it possible for me to get sponsored to get a job in tech in the US? I have a bit of relevant experience in Python from computational physics courses and labs (lots of work with numpy and scipy).<p>My plan:
- Finish cs50, (currently week 4)
- Finish freecodecamp (currently done most of JS)
- Then from there I have a huge list of courses and am unsure of what to focus on. E.g. cs50x for react native, cs193p from stanford, leetcode projects, project euler (I have about 20 done), I&#x27;ve found a bunch of courses on MIT OCW for algorithms and data structures. 
Writing it out now, it seems a bit scattered as I&#x27;m not sure what exactly I would need to get a position as a data scientist or software developer at say, Google.
======
shoo
if you want to jump through the interviewing hoop at a major software/tech
company make sure you grind through a basic entry-level computer science
algorithms course.

where i went to univerity (in australia) this would be something like
"algorithms 1" as a second year course for students focusing on computer
science or software engineering. you want to come out of it with a decent
understanding of how to implement and when to use basic data structures (not
that you should ever need to implement them in the real world, but its good to
understand the fundamentals) and an ability to do informal (i.e. not formal
mathematical proof) asymptotic analysis ("big oh" notation) for time and space
complexity of algorithms. (on the other hand, if you ever took some math
courses and soaked up epsilon delta or epsilon N formal definitions of limits,
then you might enjoy the formal definition of big-oh stuff, but i dont imagine
anyone is ever going to ask for a formal proof for a hands-on software dev/eng
interview)

apart from some knowledge or intuition of when to use which data structure,
which you probably need to use every day, you dont need to use the above in
most actual industry software dev roles, but it does tend to get measured in
software engineering interviews.

there's a reasonable amount of advice over in this thread -- look for the
comments from people who have experience interviewing for the big K (for small
finite K > 1):
[https://news.ycombinator.com/item?id=17755688](https://news.ycombinator.com/item?id=17755688)

A completely different angle is not to focus on the big tech companies, and
instead focus on tech roles in large non-tech orgs, or delivering value to
businesses that happens to be partially implemented using technology. there
tends to be a much lower bar to entry in terms of needing to clear hoop-
jumping technical interview processes (for better and for worse).

------
docker_up
If by "tech" you mean programming, then it's not likely you will get a TN for
a programming job with a Physics degree. Your degree has to match your job,
and Physics won't pass for Programming.

Trump may get rid of TN visas anyway. Getting an H1B from Canada and not
working for the company in Canada is basically impossible since you need to be
hired before April so that you can try for an H1B via lottery, but you
couldn't start working until October.

Your best way to get in is by getting a job with a US company in Canada and
then transferring to the US. Or you can go get a Master's Degree at a US
university, get internships, and then a subsequent job afterwards via OPT.

