Thursday, February 7, 2013

Employer Investment in Employees

Uncle Bob has a pretty clear opinion on who has the responsibility for a programmer’s practice/learning:

Professional programmers practice on their own time. It is not your employer’s job to help you keep your skills sharp for you.

Uncle Bob in The Clean Coder Chapter 6

Here Uncle Bob is talking to programmers, to employees.  What I hear is “don’t expect your employer to help you out.  If they’re not, that’s not an excuse.”

So, my question is, does that mean that employers should not provide any learning opportunities for it’s employees?

Sure, programmers are responsible for their own learning opportunities but could part of that be making sure to find an employer that provides those opportunities?  I personally take some time outside of work to sharpen my saw, but I also look for an employer that cares enough about me to invest in me.

Here is my reasoning why an employer would want to provide learning:

  • Hiring is hard and expensive. If you have people that are a good fit, it’s usually easier to improve their skills than to hire someone new.
  • Learning opportunities at work can inspire people to pursue outside work opportunities.  I have has several people that I work with start attending Utah Software Craftsmanship, Utah Code Camp and Coderetreats because of things that we’ve done during working hours.

What do you think?  Should employers provide opportunities for practice and learning?


  1. I've seen all four combinations of the employer and employee side of things. I think I'd rank the outcomes in this order:

    An employee who learns on their own and works for an employer that provides learning opportunities results in the most skilled and productive situation.
    I would say that the next best situation is an employee that learns on their own and the employer doesn't encourage it.
    I would put employees who don't learn on their own but their employer does provide learning opportunities next. Employers can only provide so much learning time, and if you're not in the habit of learning frequently you won't learn as fast during those employer provided situations.
    Lastly of course is the situation where the employee doesn't learn on their own and the employer doesn't encourage learning. This situation is just sad and is a great way to eventually kill off your career.

  2. I disagree with Uncle Bob. I think an employer has some responsibility in keeping employees/programmers trained. Employees are an investment that pay dividends. A great programmer can easily raise the valuation of a small startup.

    While I think the primary responsibility of learning falls upon the individual, the employer must bear some responsibility as well. I wouldn't want to work for a place that didn't align with those principles.

  3. Employers may offer you training. That's fine. You'd be a fool to turn that training down. More often than not, however, the training employers offer you is the training that they have chosen for you. This may, or may not coincide with your career goals and interests. If not, then it is still incumbent upon you to train yourself.

  4. @Robert - That is completely fair. If you want to learn something different than what your company wants you to learn, it is very much your responsibility to train yourself. (new language, new platform or framework) There is no excuse for playing the victim ("My company won't train me"). BUT, I guess in your world view, would you offer training as an employer? I ran into a company recently that took what you've said as "we don't provide any time for training and expect you to do it on your own because Uncle Bob said it's not a company's responsibility to train".

  5. What amount would it be able to create for you?" If it is a significant however non pay producing, at that point it isn't (and can't be) a speculation, obviously that it can't be salary producing in the event that it's anything but an important. Expert Network

  6. Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with extra information? It is extremely helpful for me. how to track and recover stolen bitcoin

  7. I haven’t any word to appreciate this post.....Really i am impressed from this post....the person who create this post it was a great human..thanks for shared this with us. Yandex Website Scraper Software

  8. In any case, an undertaking can decrease programming testing cost in various manners. It can decide on open source and free test mechanization instruments to decrease both testing time and cost. bluestacks


  9. I wanted to thank you for this excellent read!! I definitely loved every little bit of it.
    I have you bookmarked your site to check out the new stuff you post.

  10. They need the information to be gathered, mutual and gotten to across offices. They long for an operational course bookkeeping ERP programming arrangement that encourages the streaming and conveyance of expansive data on each work area and cell phone. CBT Web Scraper and Email Extractor Software

  11. this is really nice to read..informative post is very good to read..thanks a lot! Datacenter Proxies

  12. Job scope at significant scale lies for forensic science experts at crime laboratories rub by city, county or state governments. The other region exactly where an individual looking for a career in forensic science can secure job are Federal agencies including the Departments of Justice, Federal Bureau of Investigation, Secret Service, Drug Enforcement Administration, Bureau of Alcohol, Tobacco and Firearms, Postal Inspection Service and other crucial departments, private labs and university laboratories is also a location of work for Forensic Science technician. POS Software in UK


Original design by andrastudio
Blogger port by Blogger Templates