I think the reason this isn't more popular is that our talent pool is small enough that unless you already have a Canadian presence it's not really worth opening up a business unit/office/whatever here. Obviously some big players have done it (MS, Amazon, EA) but if you're a medium sized company it may not be worth it.
I work for a US company but I'm a contractor for this reason. It works for me but if you don't have extended health through your partner or don't want to deal with the tax implications of being "self employed", it can be less attractive.
It's extremely easy to be self employed in Canada with a foreign corporation. You just start getting your money wired through Wise or whatever service and declare it on your income taxes. As you work for a foreign corporation, no need to charge sales tax. That's it, no separate entity or incorporation needed. You can still expense your tools expenses, part of your housing, etc.
Sure if you want to incorporate, it becomes more complicated. But you wouldn't be incorporated either if you had a salaried job for a tech company locally.
But "extremely easy" is relative. It's still more hassle than being a salaried employee. If you make a non-trivial amount of money you'll need to pay your income taxes in installments and set it aside yourself (no deductions after all). You need to pay 100% of your CPP contributions. You're likely getting paid in non Canadian currency so need to get set up with a good forex provider or get ripped off by your bank (I use xe, but there's a few out there).
Also your point about not needing to charge sales tax depends on what country your employer is in. In my case it's true I don't need to charge because we have a tax treaty with the USA; for other nations this may not be the case. If no tax treaty is present, you need a GST registration #, charge your employer said GST, hold it yourself and then pay it out just like your income tax.
Also the extended health can't be overstated. If you have dental issues, bad eyesight, are on prescription drugs etc. it can make a real difference.
Generally I'd recommend contracting to people but I just want to be realistic.. it has it's downsides.
So I'm also working as a contractor for a US (well, international remote but US incorporation I guess) company right now. And, yeah, no benefits isn't great. But I have also found that paying out of pocket for dental, etc. is better than buying a plan for myself.
Also a bit of a bummer that CRA has tightened up incorporation stuff a bit since the last time I did this. Given I have a single client only right now, I'll just be doing sole proprietorship.
The idea is you scale your rate to include enough for a benefits package.
Or they use a POE/EOR service, that's possible in Canada I think.
Either way, incorporation still has some advantages, one being that you time shift your pay as needed. It can make it easier to subcontract people too. And it's easy, and only costs a few hundred dollars.
My employer is using Deel, paying me as sole proprietor, and that's fine. Deel can also act as an EOR and I could be "full time", and that could offer benefits. But it feels like a bit of a veneer overtop over what feels like contracting anyways, and it would mean less $$ in my pocket. It doesn't make a lot of sense.
Especially now that pharmaceuticals in Ontario are free for kids whose parents don't have a plan.
Also, it seems that telling my dentist and physiotherapist that I don't have a plan seems to make them behave more responsibly, on the whole.
If I end up at some point landing more clients and I end up being more consultant than single-client contractor, then I will incorporate.
FWIW an EOR/POE is more about the convenience for the employer, not you - they don't have to establish a local business presence, register a bunch of tax accounts, etc. You can end up technically employed by the EOR with access to a decent benefits plan etc., and paid directly by payroll. At least that's how it works in some jurisdictions, as you note. It's different all over, but can make a huge difference in somewhere with crappy medical coverage, or other benefits you want to keep consistent.
When the most practical option is to form a corporate entity with a single employee, and BTW you may have to pay GST + PST on labor depending on if other Canadians use the service, it begins to look really unappetizing.
I get that employees as contractor relationships are rife for abuse, but, like so is exempting tech employees from overtime protection (BC and Ontario).
It really just shouldn't be this hard to do work for a company that isn't in Canada.
So it ends up being sole proprietorship only, which has far less tax advantages.
I mean, as a tax payer and citizen who paid exorbitant personal income taxes for years as an employee of a FAANG, I think this is probably equitable. But as a contractor, now... damn I'd like to be able to take advantage of corporate tax rates like I could 13 years ago when I did this last.
Something you have to keep in mind is that there are two parallel markets over there: SV caliber developers and the rest. The former won't have any issue getting a job in the US (takes maybe a week for a talented engineer to get one). Therefore, comp has to be priced appropriately. The later can't -and likely won't ever be able to- secure a US visa, mostly due to skills (there's a reason they immigrated to Canada, it's way easier and the quotas are close to 10x per capita compared to the US). Some companies leverage this and have floors of international devs they park in Canada for a fraction of their US counterpart through a subsidiary.
The "SV caliber" developers you identify [honestly, that's kind of offensive, but whatever] who can and do actively consider relocation to the US.
The same caliber of developers, but have no interest in ever living in the US, for personal or obligation reasons.
The permanent resident non-Canadian citizen category you allude to.
Google Waterloo for example is mostly full of the second category. Plenty of high caliber talent who are there and not in Mountain View because that's where they chose to be. Because any of them could relocate / transfer to MTV any time they liked, but prefer not to. In my last few years there, there were dozens of people who I met who had transferred (back) into Canada from SV/Bay Area because they simply couldn't stand living there anymore because of cost of living, politics, family, home sickness, etc.
There are other companies that set up shop in Canada merely to siphon the first. They offer an "ok" experience for people who choose to stay, but push hard to get talent to relocate. I get the impression there's lots of this happening in Vancouver in particular.
The prominence of the last (recent immigrant / PR) category is really something that has held back the Canadian tech scene in general TBH. It's a product of international recruitment by the Canadian immigration system. There are shops full of people essentially fresh off the boat from the PRC or Eastern Europe. Many of these are highly qualified -- but in the context of our industry as a whole -- underpaid/mistreated. Others are not as competent. And it's all mixed up, and it has messed up the local tech market, compensation ranges, and quality of work produced.
Of course all of this is in flux and changing because of the rise of remote work.
In fact Google pays Canadian similar to their non-premiun US locations like Raleigh.
There are a lot of very talented people that have values that don't align that way for a variety of extremely valid reasons.
As someone who has the right to work in both Canada and the US, and who has been attempted to recruit by SV companies, I prefer the benefits of living where I do in Canada over the lifestyle costs of living in SV with 3x the money.
Having a team completely unavailable during the USA working day is a real pain for collaboration and it's hard to sue people in other countries that "borrow" your source code to make their own version. Also, knowing exactly how to pay (say) a German developer and how taxes work and what the labor laws are is always an issue.
Aside: The very best contractors I ever hired were Ukranian. So many absolutely fantastic talents at around $30 an hour. Then Russia invaded (the first time) and annexed Sevastopol and the USA made it illegal to pay them any more.
Of course, people realized that and there's 0 unemployment in IT, however, there's still a long way to go before we get to the Bay Area salaries - 6 figure salaries are only for the top 1% devs and only working for the USA and usually short term contracts, but a decent developer makes north of 50.000 dollars a year which is a pretty good salary here.
Shameless plug- a buddy runs a dev shop out there, they have great devs and exceptional designers (and also are doing a fund for Ukrainians impacted by the war). If you're looking for help in that region, they're great people to chat with: https://beetroot.co/
only ones who stayed in Crimea
2. english language barriers - half the people I have worked with in South America (Colombia, Brazil) and China were so bad with English that it seriously affected the team's productivity.
Canadians fit the bill on both counts - same timezones and language.
I'm surprised cross boarder hiring hasn't become even more popular with the pandemic and forced work-from-homeness. Canadians mostly speak English (even most Quebecois do!) and are in a compatible timezone with the majority of the developers either in St. Lawrence valley or Vancouver and thus being either EST or PST.
Also, while the holidays differ I think the total number of stats is pretty close to the same.
It is going to be an interesting decade, the rise of working from home and ai creeping into every profession will make for some radical changes. Engineering managers can only hold their accountants overlords back for so long. I do hope SFO stops being the centre of the tech world as it is very inefficient, but that's probably 30-40 years away at the earliest unless all out war is triggered.
I'm not saying we're smarter or innately better, but coding is a tradeskill and the masters of the trade are almost all here.
I'm interested to see how much this changes over the next decade, though, since a lot of people have scattered across the globe thanks to remote work finally catching on.
Software is a people problem and what big tech looks for is top notch technical skills and the mindset/ability to solve them in a chaotic environment.
I'm fairly certain you're confusing anecdotes and culture with "big tech vs. your local shop". Software being a people problem meaning big tech is more people focused is a false dichotomy.
Most of the big tech companies' engineers are doing the same type of work as outside big tech. However, their internal practices are scattered and faster than outside (IME), which means you have to be able to keep your head above water, drive your own career, and deliver impact. You need to understand the product space quite well, as you are expected to be a partner. Rather than delivering code, you are delivering value.
Maybe 1 in 20 engineers that I've worked with outside big tech had this trait. I think they set the tech bar high, but the real skill differentiation I have seen is ownership.
The experience in scaling products that big and that fast is concentrated and not evenly distributed.
But that's far away from the claim from above, that any 250k+ total comp developer from SV can outprogram good people from outside the US who don't make 250k+ total comp in basically any benchmark.
Most SV employees never have to solve these problems.
I picked frontend intentionally because it's probably the area that's the furthest away from these problems, but still compensated at 250k+ levels, if you work in SV for the right employers.
But even among backend engineers, most have never touched hard to parallelize problems. I'd argue that most (definitely not all) FAANG backend tasks are easily scalable. Implementing them still takes work, whch is done by most FAANG engineers. FAANG level tooling definitely helps, and while developing that tooling is hard, the people who have built such tooling are only a tiny subset of FAANG employees (regardless whether they are more skilled than the average FAANG employee or not).
For one, developing frontends at the scale and complexity needed for quickly growing organizations is just as complex as backend scaling in a variety of ways.
If you're a frontend expert and can operate in the way needed to support a rapidly growing business/product - you can make just as much if not more than backend engineers (500k+ easily at senior levels). This instinct around large-scale abstractions is not developed by building small sites over and over gain. This is just simply experience not everyone has because it requires context.
Also programming ability alone is not the sole reason for the outsized comp packages. In my view, it is at most 1/3rd of the reason. There are a lot of other qualities that are important that can only be gained through a specific kind of experience.
What do you mean by large scale abstractions?
Generally, small frontends are different from large frontends. Already because you need to work on a team instead of being able to do it alone. But adding features is a quite orthogonal concern to scaling by the number of users I'd say. There can be extremely complex frontends that only have a dozen concurrent users (think some company internal admin console), and nothing prevents a small frontend from targetting billions. E.g. Google search used to have a quite simple frontend 17 years ago, and it still looks quite simple to the outside, but the results side has obviously been heavily enriched since.
From the frontend point of view, it is just calling an API, and processing its results, while there is backend magic happening to make it scalable. I'm disregarding SSR here for a moment. It shouldn't matter if the same frontend code is loaded by ten users or hundreds, or billions.
> There are a lot of other qualities that are important that can only be gained through a specific kind of experience.
Can you list some of those qualities? I'm curious.
Some problem that would hit one customer every few years and go away on refresh for a local mom & pop website will irritate thousands of people a day on Google.com, and those people will band together on Facebook into a support group, and that support group will get media coverage
You try to look into the issue and you can't reproduce it at all, you just have to figure it out from tiny wisps of clues
More precisely, the number of people who were there when "scaling products that big and that fast" applied to Facebook (or other comparable companies) is a tiny fraction of all SV developers.
That, perhaps, you have never had to come in and save any team at my company, or thousands of other companies, because we are competent developers?
Being able to do the work of 10 people once, does not mean that you are able to take 10 people from any company outside of a specific geographic area and replace them with one of you.
If paying 250k+ for a developer is insane, then so is a company able to pay 250k+ without running huge losses. Those developers still make peanuts compared to what the stakeholders and executives do, despite these salaries. It's ignoring the elephant in the room which is fat profits being with a few companies, subsequently making it tougher to compete for anyone not born in wealth or able to get VC money to play with.
SV could both bankrupt dozens of companies outside SV, slash that 250k locally and up to ante globally if it had a mentality shift, in less than a few years. That's how insane the profits are.
While I think the premise is wrong - not anyone can learn to code - there are also levels of "learn to code" so it's simpler to spin up a create-react-app and modify it a bit for a code school credit compared to advanced Scala - it's also true that learning to code is nowhere near the hardest part of software engineering productivity.
In the States, those things can exceed the salary cost of the engineer.
Should be outsourcing at the programme or project level, not hiring employees to add to US teams, then.
So in reality we almost always end up with a non zero price where supply equals demand.
My appetite for food is not infinite, I can only eat so much. Same, but less so, for cars, clothes, etc. in some abstract sense, maybe, there are people that want 100 cars, but not really.
Even with housing, demand is not really infinite. I don’t want to redo my kitchen every year.
But software, every company has a backlog far longer than they will ever be able to do, and the ROI is there for the most part.
My go to example is oxygen. There is more than enough of it for everyone, so there is no possibility/need to charge money for it.
Beyond that, I have no doubt that there are some people who would willingly charge everyone for oxygen, if there was only a way. This would be driven by the idea that even though there is plenty in the atmosphere, a person only needs to be deprived of it for a little while before the situation becomes dire.
No one actually believes "anyone can code" when you're at faang level of talent.
Source: recent offers and friends who recently got offers
e.g. Amazon was giving out SDE II (google L4 equivlant) @ 400k (first year no RSU but cash bonus paid out monthly) about 2 months ago.
re L3 level, if you have a master's or 1+ yr exp, while you're still at the entry level, you are considered "industrial hire" and 300 is very attainable
in my current company for new hires (again justed to google's leveling) we have L5 550+ and L6 650+ (200~300 cash + RSU , not pre-IPO bs)
In my earlier years I used to doubt those "ridiculous" numbers until I simply asked for more. There are plenty of companies out there, many medium-big sized non-FAANG companies pay just as well.
It's not "easy" to achieve this, but it might be possible. One doesn't just wake up and decide to go work at a FAANG and get a >90% percentile salary from them for the level.
I started my career in small companies and startups and it took me a long time to understand how TC works. Both in tech and finance base salaries are typically around 200 or less, but total compensations factoring in both bonuses and RSUs brings the amount of money you bring in each year much higher.
It's gotten much better in recent years with levels.fyi and the like helping more people to see this, but I found that a few years back if you didn't go to an elite school you likely didn't have someone explain to you how comp works.
If you want to make > 250k you absolutely can, and it doesn't mean selling your soul. Don't convince yourself that these TC levels are myths.
Though I do suspect we'll see dotcom level changes in comp soon.
Source: Nearly everyone I came up with as a programmer is in the 250+ range, and not just at FAANG. Check out https://levels.fyi
In my last job search which wasn't too long ago, I got several offers and not a single one was below $400k.
Statistically that's likely, but it's not always the case.
If you luck into one of the companies that IPOs and grows big (and doesn't need to be FB/GOOG-level big, just in the handful of billions in market cap), even the tiny sliver of options of a regular employee can become retirement-level money.
There are many public companies in SV that have market cap in the dozens of billions who made their regular employees who joined pre-IPO very rich even though the companies aren't FAANG and don't have such brand recognition.
It's unlikely, yes. But it happens.
I guess it depends how you define a "founding employee". I know several engineers who made enough to retire who joined unicorns around the pre-series A time or at the time of the raise itself but were not founding engineers.
More recently, last time I was on the job market and interviewed with startups, their offers were more along the lines of "If the company value rises to $1 billion, your stock options will be worth enough to buy a 3 bedroom family home within 30 minutes of the office" - a decent chunk of change, no doubt, but not enough to retire on, and far from guaranteed.
[1] https://www.businessinsider.com/graffiti-artist-painted-face...
Even for most engineers, somewhere between five and ten million is enough to retire on (3.5% safe withdrawal rate) at a nice standard of living, again assuming you don't want to live in the bay area, NYC, Seattle or LA.
Join an early stage startup as a senior engineer and you'll probably be getting less than half or a third of a % of equity. If they even deign to tell you how many outstanding shares there are. Say that company gets super lucky and sells for a $1B? You might be lucky get $1M out of it. Assuming they didn't play funny business with the paperwork during acquisition, or dilute your shares a whole bunch.
$1M is a lot of money, but it's not "goodbye workforce" or "I'm off to invest in seeding my own startup" money, not when you have a family, home, and are still youngish.
Meanwhile the founders and other major stock owners will be doing quite well for themselves.
It's not unjust necessarily. But it definitely should inform just how much passion people put into the startups that hire them. Don't be fooled. Treat it like a job.
Especially if you already own a place you're happy to live in long term, money in that range is enough to live very comfortably anywhere in the US. No, you're not flying private jets and maybe not employing multiple full-time domestic staff, but $200K-400K per year without even touching principal is absolutely enough to have a nice standard of living even in Manhattan.
They totally didn't care about our product or the productivity of the employees they brought in. They let us sit and twiddle our thumbs and "rest and vest" for at least a year, after making a big show for the DOJ about how this aquisition wasn't an anti-competitive move ([1])
And I hung around there moving protobufs around and fixing the odd bug for 10 years but getting paid stupid money to not go and do anything for anybody else or keep on top of industry trends etc. (Not claiming I'm some shit hot engineer, just speaking for my personal situation)
I don't think most people who are 'organically' hired into Google see it this way because for them it's a thing they seek out, a life goal they pursued. For me it was always in the back of my mind.
Which is one of the reasons I eventually had to leave despite it putting my family in a more precarious financial situation. It wasn't a place I was ever going to find meaning in my work or feel like I fit in.
Re: startups and compensation one major thing that has changed since 20 years ago is that it is simply not possible to become wealthy (like "I can afford going to retire wealthy" or "I can now afford to seed my own startup wealthy") out of the equity package that a startup will offer unless you're the cofounders or a founding employee. The packages they'll offer will be a fraction of a % of equity, which if you're really really lucky will turn into a few hundred thousand in an exit after busting your ass for a few years. From a strictly financial POV there's no reason to choose working at a startup over a FAANG. Most will simply not offer anything to make it worth the risk. You should only choose to do it for lifestyle or enjoyment reasons, really. (That said, I'm working for a startup again right now.)
[1] https://www.washingtonpost.com/business/economy/source-justi...