My journey up from Senior/Staff was mostly on the back of proposing and then leading cross-functional projects.
Which means I was doing Principal work before being granted the title. To be honest it was (and remains) a huge amount of work and I wouldn't continue doing it if the recognition and compensation hadn't been forthcoming in the following perf reviews.
If you are doing this stuff and aren't moving up where you are then you should be going somewhere else as that is probably a very exploitive work relationship.
It sounds like you were one of the actual Principal Engineers, then. In my experience, there are some who had presumably done some of that in the past but now had to maintain their position by generating "cross-team impact" which was mostly just a PITA to actual practitioners.
One case in particular, there was a re-org and the new org lacked principals but we had a common vision and a bunch of pieces in place. We needed a new vision that was led by the new principal, for obvious reasons. Whole thing was set back by a couple years while this was figured out. The existing, well-functioning pieces (with lots of users) were shipped to India teams for maintenance while the org slowly figured out facsimile pieces.
VictoriaMetrics stack. Better, cheaper, faster queries, more k8s native, etc.
Easy to run with budget saved from not being on Datadog + attracts smart and observability minded engineers to your team.
> what % of this labor could be sourced domestically and what actually needs to be imported?
None of it? The way I see it is every top tier programmer in America is already employed.
I think the inevitable outcome would just be the big multi-nationals (FAANG in particular) would just hire more in their international offices and spread out their engineering org more instead of remaining so American heavy and using immigration to centralise staffing.
There probably isn't a world where these huge companies decide to simply not take advantage of the global talent pool, if they don't exploit it someone else will and they can't have that.
Apple employees thousands of H1Bs, many of them literally push buttons and file bug reports all day and don’t know how to code or barely know how. I know this because I’ve worked with teams of them for a decade at Apple.
These are not top tier talent type people, this is work that my mom could do, but Apple can pay much less by bringing people over from India, Pakistan, China to do this work instead of finding Americans to do it.
Not disputing this, but working thru this, lets say H-1Bs suddenly become really hard for companies to get. I dont think it follows that a ton of IT jobs suddenly open up for Americans. Isnt it more likely that all those H-1B jobs are replaced by workers in offshore locations?
Or, that those jobs disappear and are not replaced at all. Or, that the jobs go and the work is expected to happen (somehow) with AI tools operated by whoever is left.
My point is, whatever you or I might think about H-1B misuse, both the people who want to keep it, and the people who want to eliminate it are not really friends of the American worker.
Many of these roles, such as the ones where people just push buttons and send emails, could be done by Americans with just a little bit of training. But there is no incentive for Apple to train Americans or invest in their existing employees when they can just claim “labor shortage” and hire someone from India instead.
We know this works already because this is how the country worked until 1990, when they created the H1B and massively increased all other types of immigration. By 1990 the US was the undisputed powerhouse of the world, and it was built completely with native born labor.
There was plenty of offshoring that happened during the 90’s but the companies that rely on it heavily do not end up winning. In the end nothing beats Americans working in America and that’s obvious just by looking at the stock market.
The people who want to eliminate the H1B are absolutely pro-worker in my opinion. It’s a tool that’s used almost exclusively to suppress wages, the quality of the workers is almost always significantly worse than the American equivalent and serves only to boost profits for the company owners at the expense of their own workers.
My point is that even if H-1B were eliminated and all the people that hold them today returned to their home countries, employers' response is less likely to be "we need to hire and train more Americans, asap" but more like "let's expand our overseas operations, so we can get work done without paying Americans".
In other words eliminating immigration like this is only half the solution of you don't also have a way to stop offshoring.
Because they are an American company which benefits from all of the advantages of this country, and indeed would not exist at all without this country's people. They rely on the tax incentives, stable society, culture, cities, infrastructure, and PEOPLE of this country. It's a company founded by Americans in the USA, they have reaped the benefits of everything that comes from this country.
Do you think that Apple could or would have been founded in India? or China? Or Brazil? Obviously not. It's obviously the product of this country.
Is your argument that since Apple makes money in other countries that they should transcend nations and become their own super-national entity? That they should not have to follow the rules or even try to benefit their home country?
At the end of the day that is what's happening. These mega corps have basically usurped the power of nations and made their own rules. They have changed the immigration system to give themselves the power to import cheap labor at the expense of the country that allowed them to exist in the first place. We as workers are saying that we should use the power of government to push back against this practice.
I think Apple benefits from the tax incentives, "stable" society, and freedoms in my country too. And it employs many people here and elsewhere around the world and there is no chance it could sell as many units as it does without those people
> These are not top tier talent type people, this is work that my mom could do, but Apple can pay much less by bringing people over from India, Pakistan, China to do this work instead of finding Americans to do it.
H1Bs are not getting approved for these for years now.
Infosys and TechM exploited the crap out of it to do shit like this which caused the rules to be tightened massively.
These days you are only getting H1B for folks atleast earning 200k+ base.
I mean you could read the linked website where it points out we aren’t talking about top tier talent. It’s just shit IT jobs we used to pay Americans to do so they could be furries. Now we pay Indians to do it so they can act like they are better than Mexicans.
Many of the top tier companies (meta, Amazon, google, microsoft etc) have had massive layoffs in the 10's of thousands range. Those workers were top tier programmers. So you need to be quite delusional or uninformed to have your view point on the work force.
Bar was lowered massively during the COVID employment boom (with the exception of Apple really).
Unfortunately resetting the bar has massive collateral damage but it will sort itself out pretty quickly.
All the good ones will be re-employed within short order. The ones that the layoffs were trying to flush out with said layoffs will transition out of FAANG into lower-tier employers.
No. The talent shortage is not a myth.
The unemployed/underemployed American programmer that can actually keep up is a myth. Everyone good (without additional baggage) is either a) employed or b) could be employed whenever they feel like it.
If you aren't good enough then don't be surprised the companies prefer an immigrant. You don't get an automatic American free pass for having less skills, experience, interviewing poorly, etc.
i.e skill issue.
Ending immigration for tech would simply mean far more global workers/offshoring in order to access the top tier talent via different means as that is the real reason all along.
Wage suppression was the old (and now largely incorrect) story. The visa is still exploitive, it should be amended to be a 10 year visa that is independent of employment so immigrants aren't screwed by layoffs.
Work at faang/etc. I don’t see any notable difference between immigrant and non-immigrant. Arguably, one could say the Americans are better because they typically have less education and still manage to do the same job. Somehow managing to do the same job but with less training? That sounds like someone who is “better” to me.
You are proving my point - FAANG hires the top tier talent, and makes extensive use of both the global talent pool and sponsoring immigration in order to meet their needs.
The Americans you work with (along with your other co-workers) meet the bar.
If there were more Americans that met the bar they would employ them before taking on all the extra work and cost of immigration.
I'm not talking about Americans you work with. I'm talking about the mythical ones you don't work with that are somehow disadvantaged by H1B and thus unemployed/underemployed. You don't work with these people because they don't exist.
You’re not really responding to my point. I’ve told you that Americans are in faang and don’t have the same level of education as all the immigrants. This goes in the face of what you’re saying. Americans by your measure are more intelligent and require less education to achieve the same results. (Entry to faang and doing the same quality of work)
I interpreted this:
> I don’t see any notable difference between immigrant and non-immigrant
As your main point.
More educated or not doesn't actually matter, whether they meet the bar or not is all that matters no?
My over-arching point is if there were more Americans to be hired that meet the bar they will usually be hired before immigrants because they are less paperwork and money (immigration lawyers fees).
Also I think comparing to immigrant education isn't necessarily a great idea, immigrants need more on-paper education to simply clear the immigration requirements because most governments around the world place a higher emphasis on that than work experience or their salary. US in particular values years of education at a roughly 2:5 ratio vs work experience with 10 years of work experience necessary to qualify vs a 4 year degree.
If you are somehow implying immigrants are fundamentally less intelligent then yeah I don't know what to tell you but that is probably not correct.
You may be correct about many US programmers not keeping up, but the H1Bs I've seen in action, other than being more compliant, didn't seem to be much better and often worse.
"Top Talent". Ya, no not generally. Not from H1B. May get OK talent from time to time.
My argument is that the H1Bs meet the bar to be hired at their respective companies. Neither pool is inherently better but availability matters.
There are only so many American engineers that meet said bar, they are all either employed or choosing not to be employed.
The ones that don't meet the bar are either employed by smaller employers with lower bars that don't use H1B anyway or yes, maybe unemployed or transitioning to a new industry because they couldn't hack it.
The mythical group I am saying doesn't exist is engineers that are somehow perfectly capable of meeting FAANG bar but are somehow being displaced by H1B. That group doesn't exist.
When the incentives are so strong for a company to hire someone who will remain loyal for less pay, skills is definitely not the issue. The company can invest in the employee that is smart enough (and utterly unskilled), even if it costs them $100k up front.
> Singapore is a much more democratic country than most outsiders realize
Yeah no.
In Singapore you have a single party which has used it's constitution, laws, courts and media control to enforce a defacto one-party state for 60 years.
Singapore citizens can (and do) vote but those votes have absolutely zero chance of changing anything.
Is it technically democracy? Well they vote so yes? Is there any chance at all of peaceful regime change through voting? Technically yes, in practice? Probably not. I would expect extreme suppression and HK style riot crushing. They have been doing it quietly for decades, targeting and legally destroying/bankrupting any opposition to the PAP.
So the only real difference vs say China is that while both are authoritarian regimes the Chinese didn't bother with a mechanism to pretend you can throw them out.
To be clear, I don't object to their form of government. I think it works for them and thus it's completely ok. If anything I find Singapore a really safe and efficient place and visit frequently.
I do object to people pretending it's somehow a liberal democracy though, that just ain't the truth.
People also voted in USSR. DPRK has a 99,9% voter turnout that modern OECD countries could only dream about.
Voting is only a part of the democratic process, but is meaningless taken alone.
To add to what you say, Singapore is not a democracy, Lee Kuan Yew's son ruled the country for 20 years after his death, and his successor was chosen by him.
those votes have every chance of changing everything.
its a first past the post system.
but fact is they always have majority of the popular vote. i dont think it ever declined below 55%. and at best they get 60+%.
there's always a large proportion of singaporeans who want the change. just never enough of them, yet. and maybe there might never be, if most singaporeans are happy with things as they stand.
People get overfixated on the runners. They don't matter.
GHA, Buildkite, Jenkens, Gilab, doesn't matter. That isn't to say GHA isn't poo (it is and always has been poo) but it is to say it's not the actual problem.
The actual problem is using a bunch of unportable vendor YAML for literally anything.
Define your entire build + artifact publishing pipeline in something like Bazel, Nix, etc and completely decouple everything from the runner.
This allows running it locally and also switching runners extremely easily if one of them is no longer to your liking.
Coming from a lot of bare metal C and FreeRTOS it finally feels like embedded is getting a toolchain that is actually modern and better.
Some of that isn't just Embassy but the surrounding ecosystem, some highlights:
* probe-rs w/cargo run integration
* defmt logging (combined with probe-rs and rtt it's very nice)
* embedded_hal (and in my case stm32-rs)
I have also tried RTIC but I decided to keep going with Embassy because I like the async ergonomics more and the few times it's been a downside/missing functionality (no existing async driver for specific peripherals basically) it wasn't to hard to implement what I needed.
I was surprised it just works out of the box on OS X also, generally speaking I would always end up having to use Linux to develop for embedded. Being able to compile on fast Apple M hardware and then run immediately with zero friction is awesome.
It took a little bit to get my head around how to share access to peripherals etc but once I did it's been great and it's nice to know that locking semantics are essentially enforced at compile time so it's actually not possible to have 2 things stomping over the same bus etc which can sometimes be a very hard bug to track down when working with big and fast SOCs.
Other really big aspect Embassy has been good for is really high quality USB and networking stacks. I am using both the USB stack (for PLDM over USB) and Ethernet w/the TCP stack in embassy_net and both have been flawless.
Only real downsides I can think of are it can sometimes be hard to onboard folk that are used to copy/paste from vendor examples and sometimes communicating and debugging with vendors themselves when they aren't familar and won't engage unless you can reproduce on the vendor HAL.
So overall really happy with it and I highly recommend trying it out especially if you are in the STM ecosphere.
Absolutely. I'm using it on RP2040, and it's actually superfun to have real low-level code working in parallel.
In my case, one CPU is doing the CAN-based communication and the device control loop, and the other core is providing the IP-based interface with SNMP-based monitoring.
>it finally feels like embedded is getting a toolchain that is actually modern and better
Last time i tried embassy, it pulled over 100 dependencies just to build a blinky. Its great for hobbyist programming but i doubt its going to be used in any industrial application any time soon.
In all seriousness, why is that a problem? Surely for embedded, the size and hardware usage of the resultant binary is what matters, not the size/number of tools used to build it? I get that a lot of people worry about supply chain attacks right now (and that's fine, everyone should be thinking about how to mitigate that problem/reduce it) - but going back to a world where code re-use is significantly less usable isn't likely to magically make everything better, that has trade-offs too - particularly if (as plenty of people clearly do) they want a modern dev experience for embedded hardware.
It's already in use at least it automotive. If you are not working with safety critical systems (ADAS type) Rust and to some extent embassy is already in the wild. Companies like ETAS (https://www.etas.com/ww/en/) or Ferrous (https://ferrous-systems.com) are working to certify Rust and some crates (embassy is there) to be used with safety critical components. It's not question if but when it will be used. Volvo, Renault and some Chinese brands already ship cars with Rust embedded components in non safety critical path.
Do you have any (soft) evidences, that actually embassy is used in safety-critical applications? I think that is quite more difficult to qualify the whole of embassy with the HAL, executor and the other components used. Ferrous is just the qualified toolchain incl. core std. and some other libraries. Additionally a question is how well it integrates e.g. with ARM self-test libraries for the platform safety.
I know that sonair [0] is actually using Rust in the safety critical path. Toyota Woven [1] is for now just using it in infotainment and non-safety applications.
A lot of those dependencies are from the same project, though. It's just split into multiple crate so you don't need to pull in one mega-lump of code for everything.
(Also, I am currently using it for an industrial application)
Late stage capitalism, protracted and targeted destruction of public education and health systems, lack of STEM focus eroding most of their massive lead in innovation, overemphasis on preservation and subsidisation of dying energy vs new energy (also contributing to innovation losses), overemphasis on meaningless politics and culture wars that ultimately mean absolutely nothing, excessive inequality resulting in the destruction of productivity in the lower ~50% of the wealth pyramid, over-extraction of the middle class leading to declining birth rates (increasing reliance on immigration), poorer health outcomes than other developed countries due to numerous factors (broken overly exploitive health insurance system, terrible diet/obesity, decreasing vaccination rates), toothless antitrust leading to monopolies/duopolies in most critical areas further exacerbating the rent-seeking and over-extraction, loss of soft power due to destruction of the state system under first Trump admin and continued decline due to tariffs and being an unreliable international partner.
So there isn't one reason, there is a ton of reasons.
It's not irrecoverable but it's bad. I honestly hope there is some wake-up moment for Americans when they realise that their leaders have been selling them out for decades now.
Upvote for Bazel. I think these days I place a lot more value on how well an ecosystem slots into Bazel/friends because monorepos are increasingly more useful and relevant.
So nice to see there are good rules for Zig and that folks are using them.
Also ironically I think starting with Bazel/Buck/whatever your poison of choice is almost always a good move even if people tell you it's overkill. The easiest time to do it as at the beginning, all times after that is too hard and the marginal cost of building with it from the start is minimal.
People are free to knock themselves out with Bazel if they’re into that kind of masochism, but having it as the ONLY way to build your OSS project is a big no.
The problem with "the language tooling is already a build system" is that cross-language dependency chains are a thing. The moment you need a Rust or Zig file to be regenerated and recompiled when a JSON schema or .proto file is updated, you're outside what most of those language-specific toolchains can support. This is where Bazel absolutely shines.
If all of your dependencies need to use the same build system as your project then your build system/process is defect anyway. It should be possible to invoke a foreign build system as part of your build.
I asked AI where should I publish my article, it said Medium at first. I submitted to illustration and 10 days later, the article is still pending review right now. So I ask AI again, what should I do? It says HN is the best but also toughest, it's hard to show in the front page. After I tried, I think I kinda made it.
My journey up from Senior/Staff was mostly on the back of proposing and then leading cross-functional projects.
Which means I was doing Principal work before being granted the title. To be honest it was (and remains) a huge amount of work and I wouldn't continue doing it if the recognition and compensation hadn't been forthcoming in the following perf reviews.
If you are doing this stuff and aren't moving up where you are then you should be going somewhere else as that is probably a very exploitive work relationship.
reply