Who should pay for your training?

TL;DR Effectiveness of professional training depends on several factors, including trainee's motivation, interest in the topic, its usefulness & relevance (now & in future), but also how rare (scarce) it is (training itself or the knowledge), how hard was it to obtain it, whether it was picked up by trainee's personal decision or not. What IMHO works best is to make it (training) as much a joint initiative as possible - one of the key elements here is sharing the cost: employer should be just co-funding the training, but in return he should also leave the trainee much more freedom in picking what exactly (within reason) & how will be trained.

There has been a lot already written about self-development & how important it is not even in becoming more skillful or more specialised, but just in staying up-to-date. Technical knowledge quickly becomes obsolete (especially areas not used in practice frequently) and retaining it at the desired level requires not only effort, but also funds. Books, classroom training, on-line courses, conference attendance - all these have their price-tags, usually well adjusted to (relatively high) software engineers' salaries. As we're speaking about considerable costs, a question pops up:

Who should pay for your training?

(disclaimer: of course I mean the training that lays within mutual interests of both employer & employee - not enforced corpo-brainwashes or employee's off-work hobby stuff that's not really applicable in work)

Developers themselves? Why? Because it's a form of an self-investment, that will aid their position in the job market - hence increasing potential future salary level.

Employers? Why? Because they want more educated & skillful specialists that will do their job better, more efficiently, with a higher level of quality.

Both parties seem to be at least partially right - this is one of the reasons why I'm an advocate of sharing the cost of such investments between both trainee & employer. But there are some more reasons as well:

Human nature is tricky - we tend to subliminally appreciate much less something we get for free, something we didn't fight for or earned with an effort. E.g. based on my observations through several years, people who got their Pluralsight subscriptions for free (from their employers) have barely used them. On the other hand, the ones who've made a conscious decision to pay (at least partially) for the subscription with their own money, were far more focused - they were usually creating course backlogs & developed rituals of watching at least N hours per week / month.

In theory there's no practical difference between the company that pays you X EUR more & the company that offers you an X EUR training co-financing budget (to spend according to your choice / preference, of course). Some may even prefer the 1st option due to its flexibility, but ... I'd really pick a company that at least makes an impression that it cares for my self-development, strives to create proper conditions for professional growth & actively promotes continuous learning as a part of its engineering culture.

That may actually serve an useful hint while comparing the job offers. Personally, I'd rather value higher job offers with training co-financing (even if I'd have to pay the larger part, but e.g. without a cap), over these with fixed training budget (and / or imposed training program) or no training options at all (but maybe slightly higher salary) - in the first case there's a slightly higher chance that employer considers employees development as a long-term investment & a win-win scenario, while the remaining ones smell like ordinary bargaining.