This reminds me of the movie 300 where an army shows up with potters and other tradesmen, while the army of Sparta were all soldiers.
Opinion: as an expat, I'm not sure who would join the CAF nowadays. Not much to be proud of in my opinion. Without exaggerating, not a single person I grew up with is doing well, and I had to leave Canada to start my family.
In high-tech warfare we're seeing these days your metaphor is reversed. These artisans (potters etc) are tech engineers, mathematicians, chemists. They are quick to mobilize and become effective (operate drones, robots, cyber, complex machines).
I cannot comment on your opinion of Canada, it's too vague in my opinion.
Generally, western Armed Forces (CAF included) reduced their personnel and spending when the Cold War ended (90s). Rightly so. Since then, war is fought very differently and AF are now very quickly adapting.
Recent conflicts in near/along Levant and near/along the Black Sea, show how effective certain types of warfare are in the current climate.
How can we know that you arent a russian propaganda account, who created a legend that you live outside of Canada, when in reality you never lived there and your lies that "Canada military bad" are just written from Moscow?
I suppose "doing well" isn't a very good metric. It's based on my feelings and experiences having traveled to 5 wealthy countries and chatting with people there. Even in third world countries, like Brazil, I didn't see people dying of opioid overdoses everywhere downtown.
Amazon eng did some research and found the number of comments in a code review is proportional to the number of lines changed. Huge CRs get little comments. Small CRs get a lot of comments. At Amazon, it's common to have a 150 to 300 line limit to changes. It depends on the team.
In your case, I'd just reject it and ensure repo merges require your approval.
That's good. Because large refactorings are usually harmful. They are also usually unplanned, not scoped and based on very unquantifiable observations like "I don't like the code is structured" - let's do ity way.
That's a good thing, large scale refactorings should be very, very rare. Even automated code style changes can be controversial because of the churn they create. For large and/or important software, churn should be left to a minimum, even at the cost of readability or code cleanliness. I've seen enough open source projects that simply state they won't accept refactoring / reformatting PRs.
A new language feature is released, you cannot apply it to old code, since that would make a big PR. You need to do super slowly over time and most old code will never see it.
A better static type checker, that finds some bugs for you, you cannot fix them as your PR would be too big, you instead would need to make a baseline and split it up endlessly.
In theory yes, maybe a bit safer to do it this way, but discouraging developers to make changes is bad IMO.
Obviously depends on your usecase, if you develop software that is critical to people's literal life, then you'll move more carefully.
But I wager 99% of the software the world produces is some commerce software, where the only thing lost is money.
> A new language feature is released, you cannot apply it to old code, since that would make a big PR.
Good. Don't change code for the sake of shiny new things syndrome.
> A better static type checker, that finds some bugs for you, you cannot fix them as your PR would be too big,
Good. Report each bug separately, with a suggested fix, categorised by region of the code. Just because you ran the program, that doesn't mean you understand the code well enough to actually fix stuff: those bugs may be symptomatic of a deeper issue with the module they're part of. The last thing you need is to turn accidentally-correct code into subtly-wrong code.
If you do understand the code well enough, what's the harm in submitting each bugfix as a separate (independent) commit? It makes it easier for the reviewers to go "yup, yup, yup", rather than having to think "does this part affect that part?".
Large-scale refactoring is not something you want from an external contributed, especially not if unsolicited.
Typically such refactoring is done by the core development team / maintainers, who are very familiar with the codebase. Also because DOING such a change is much easier than REVIEWING it if done by someone else.
This reminds me of in The Tick series. A villain named Chairface Chippendale, a sophisticated criminal mastermind with a distinctive chair for a head. Chairface decided to leave his mark on history - literally - by carving his entire name into the surface of the moon. Using incredibly powerful Geissman Lenses that could focus candlelight into an intense heat ray, he managed to carve out "CHA" before being stopped by The Tick and his allies. Musk is a comic book personality.
It's the social equivalent of ultra-processed food. Hyper-palatable and habit-forming, you always crave more. You end up (socially) both overfed and malnourished.
I see OpenAI is entering the phase of building peripheral products no one asked for. Another widget here and there. In my experience, when a company stops innovating, this usually happens. Time for OpenAI to spend 30 years being a trillon dollar company and delivering 0 innovations akin to Google.
Last mile delivery of foundational models is part of innovating. Innovation didn't stop when transistors were invented - innovation was bringing this technology to the masses in the form of Facebook, Google Search, Maps and so on.
But transistor designers didn't pivot away from designing transistors. They left Facebook and all the other stuff to others and kept designing better transistors.
Googles marginal ROIC is horrific. Its average ROIC in the aggregate on the other hand looks nice, because most of its returns are from projects taken 10+ years ago.
> Maybe big tech will hire a few hundred every year ...
A few hundred? All of the tech companies I've worked for are > 50% Indians in the US. Especially in big tech. I could be wrong, but my understanding is there there is not enough software developers in the US, hence the temp workers. Is there expectation that the demand will drop?
Opinion: as an expat, I'm not sure who would join the CAF nowadays. Not much to be proud of in my opinion. Without exaggerating, not a single person I grew up with is doing well, and I had to leave Canada to start my family.