Should a client be billed for a certain amount of the learning curve? Should an employer pick up the tab on overhead? Should it be the developer themselves? Or perhaps a combination of all three?
I am conflicted on this - I've heard it being said both ways - that a client (or project budget) should not have to deal with the inefficiency of a lesser experienced programmer. And again I've heard it being argued that people learn on the job so projects should include a certain amount of training budget.
I usually find that I (and other devs that I work with) work off hours or weekends reading up on technology , design patterns etc, sometimes struggling with a small piece that may go beyond contingency budgets - so most projects that we work on take up a bit more of our un-billed time.
I thought I'd open it up to the PM Stack-exchange hive mind for more insight from folks with much more experience. I have posted the same question on the Programmers (non programming related) StackExchange and am interested to look at the delta.