I've worked for five companies, on the same products (well, variations there-of over time), for 25 years, due to take-overs (I nearly left ~10 years ago due to management numskullery, but a timely buy-out of the bit I worked for fixed my problems while the rest of the company died off).
Hanging around for a while (a long while) doesn't necessarily mean dedication worth investing in, it could just be that I have a shocking lack of ambition :)
Consider the rate of job hopping that would be evident on that resume. I'm not sure how many companies would be willing to invest in sending a FTE who stays somewhere for likely less than a year to a conference or say "Ok, you an spend 20% of your time improving your skills."
What is more likely with the 35 number is that these are multiple simultaneous contracts. When working as a contractor you're fixing that problem or that project. The company isn't going to have you around for longer than a month after it's been fixed and documented.
There's no reason to spend company resources on training a person any more than there's reason for you to pay a plumber to be reading "learn to be an electrician in 10 days" while they're supposed to be working on fixing the sink or doing the plumbing for new construction.
This argument falls apart if you consider what field we're talking about. At what point would going to school for 5 years give you the whole education you actually needed? Does learning C in 1995-2000 prepare you for Rust in 2026? No, and it shouldn't, but work needs done, so _yes_ there is a dollar amount of value for educating your workforce that has already been vetted and already knows the context for your business goals. Asking what that number is completely misses the point.
Actually I found that if you have a pretty good understanding of the core parts of the C standard (e.g. the idea of the abstract machine, storage durations, unspecified vs undefined behavior, etc.) and working experience with the language, Rust is then quite natural. To first approximation, Rust basically makes lifetime management/ownership semantics that would be "good practice" in C into mandatory parts of the type system.
I agree - I was mostly trying to think of an example against OP's rather facetious attitude towards the time and effort required to maintain engineering performance.
In my experience, a lot of the Rust fighting with the borrow checker is really just enforcing better quality code I should've been writing anyway.
Point still stands. You're going to take up the mantle for suggesting a computer science degree from 2000 completely qualifies someone for work in 2026? No further education needed?
I don't disagree about the core CS fundamentals - 100% the same page. I suppose this really boils down to a difference in what constitutes "training/education".
Any $PROGRAMMER_TITLE worth their salary can learn a new stack for a project, because they know the fundamentals. BUT there's still a lead time on being comfortable with new languages, frameworks, problem domains, etc. It's this kind of time and effort that I am trying to get at when discussing companies paying for training/education. It can be worth investing in your people if your goals are longer horizon.
I don't think it makes sense for companies to pay for their employees to learn basic data structures or other "prerequisite" fundamentals, though. That would be a large investment!
Why would a company you are consulting for invest in training you up exactly? They are paying a consultant with the expectation that they are bringing the knowledge.
Eh, consultants are brought in not for the knowledge or advice! Management already knows what todo and where to go- they just want somebody external sanctify the decision!
It seems they were correct not to invest in your skills.
I've worked for six companies over almost 20 years. The majority invested in my skills, and I hope that investment has paid off for them!