Remix.run Logo
its-kostya 4 days ago

There are a lot of comments that I unfortunately cannot address individually so I'll make a single reply and try to address them all. A lot of valid call outs pointing out flaws in my claim and even extrapolating from my claim, please understand my coarse answer balanced brevity and thoroughness. I'll do my best to expand and provide evidence:

I am plugged into an alumni network (based in the US) so I'd say I have a decent sample size to draw conclusions/trends from. Yes, these trends don't apply to every market or locality so there are loads of counter examples. The demographics of the alum network appear to be mostly mid-to-senior level ICs and management from backgrounds being engineers in the private sector and gov contractors. The start-up scene is grossly under-represented.

The tell-tale sign of a mature technology that has the momentum to last is if businesses that do a lot of gov contracts finally adopt a technology. We've seen this pattern with virtualization, then with containers, then with clouds + micro-services. Gov contractors are very conservative to adopt and rely on technology because ultimately their customer (gov agencies) maintain the service. And their pay are not like big tech so they cannot compete on that front and need a healthy and established pool of talent to pick from.

Every successful project is staffed with leads who know the problem space and the technology that is used in the solution. When planning for a project, you HAVE to account for how easy it will be to find talent to support the project given your budget. For short-term or "high-risk-of-being-on-time" projects the talent pool is obviously larger for established technologies like c++ and so that is what has historically been chosen. Obviously where it is appropriate to use c++. For those of you claiming I am in a bubble... perhaps. But keep in mind that companies with a "first to market" mentality are not the majority :)

The point of inflection for Rust I am continually noticing, and why I am confident it is an excellent for career-growth, it is NO LONGER being labeled as a "high risk" for new medium to long-term projects/efforts. When there is runway to grow/find Rust developers and there is runway to develop a missing library that is a dependency, Rust seems to be favored. Yes, if your industry is dependent stable and battle tested libraries then that is a case when Rust might not displace it. But another trend that backs up my claims is seeing parts of such libraries/projects being refactored out into its own thing written in Rust - and all that lives in parallel. So perhaps the dev that knows both languages is the better career advice. Lean toward one language or another based on your interests.

One final thing I will add is there is a good deal of "internal learning" opportunities for already employed folks to learn rust and start on the new project. These are folks that know memory management, know the problem space, know the company tooling, etc. Compare that with a new hire that will also learn rust, and you can see which an employer will favor. Internal folks moving to Rust opportunities and back-filling them with new c++ devs is a common tactic. But that being said, talent still needs to be found and often times casting a wider net by looking for c++ folks that are willing to transition to Rust is a tactic used on job postings. Rust is in demand for systems programmers and zero trust applications, btw.