Iris Classon
Iris Classon - In Love with Code

Stupid Question 65: Can we expect a workplace to let us set aside time for learning?

[To celebrate my first year of programming I will ask a ‘stupid’ questions daily on my blog for a year, to make sure I learn at least 365 new things during my second year as a developer]

Can we expect a workplace to let us set aside time for learning? I’m quite lucky, both the companies I work for encourage their developers to sharpen their skills and there is time set aside for learning/further education. At Dotnet Mentor for example we have a set amount of conference days a year, we get half the Friday for own projects, we do presentations for our colleagues, and we support several usergroups as well. With Telerik I get to travel, exchange knowledge with other evangelists and developers on the team, play with new technology and so much more. Being spoiled like that, I am curious how it is in other workplaces, as I have a feeling it is a bit different. One company that offered me a developer position answered to my question that’developers working for us are expected to know what they need to know do do their job- learning beyond that we expect to be done on their own time,- not ours’. Another company I know of has on paper that 10% of the time can be used for learning, but in practice this 10% is never possible to take as the developer is booked at 100% with a customer. How is it at your workplace, and tell me- what is the ’normal’?


Leave a comment (via email)
10/23/2012 11:24:02 AM
I'm lucky too, that my management supports learning as well. 
Brett Slaski
10/23/2012 11:51:18 AM
A company I work for was always a big advocate of training for employees.  Though as time went on there never seemed to be time or budget for the training.  With there being less employees on a team and wicked long backlog to fill, I see this too often in companies. If managers don't make it as part of the developers schedule it will not happen (add the time into their sprint, that has worked for my teams in the past).  In the corporations I have worked for it has always been a battle to get employees trained.  In either case, where training is offered and time is allocated for self projects and development, or the company expects you to do one your own, ultimately it is your responsibility to keep your craft up to speed.  If you are falling behind because you are working too many hours or can't get get the company to pay for a course or two, it may be time to look elsewhere for employment.  They are obviously not interested in keeping the best in class employees, so why stay? 
Carlos Avila
10/23/2012 11:53:44 AM
At my spot we are an Agile/Scrum team of about 6 (pretty small for the work we do). We do research spikes and POCs before committing to much larger stories. We've also been lucky enough to do things like pair programming, code dojos, timed katas, and workshops. We're always fiddling with new things. We have access to plenty of material and have a good attitude when it comes to sharing knowledge or trying new technology that may fit or help our product/development cycle. I think bigger teams aren't so lucky. 

The places you've worked sound awesome. I hope they become the new norm as I'm still pretty fresh in the field. I tend to shy away from jobs that have that 'do what we need and only that' attitude. It's usually a question I ask back at every interview. Our field is built on lifetime learning and changes at a speed that even we struggle to keep up with sometimes. I think as developers/coders/engineers/programmers we need to set the norm as such. If a job doesn't support that then I don't feel they have my best interests in mind as an employee and it will be harder to reciprocate for the company in the long run. 
10/23/2012 11:57:45 AM
No company I have worked at has provided time for learning.  One company provided external training, but that was because they were trying to get a federal credit.

I will say, my first company may not have provided specific time, but they did allow for us to try different things in the development of the product.  However, that was 15 years ago and the software industry was much different (slower on project work).

Every certification or new skill I have has been because I have taken my personal time and money to learn the tech.  Sometimes this is better as then I do not owe the company anything and can leave if needed.

I think some (most?) American tech companies may be hesitant / unwilling to invest in their employees as they are concerned the developer will find another job once they have the new skills.  Thus the company will lose the person / skill and the monetary / time investment.  Comapanies in Europe may have a different point of view.

Would I want to work for a company that invests in me and allows me to use the learned skills?  Sure, who would not want to learn new stuff.  Would I be loyal to a company who made that investment?  I believe that I would since I would be using the new skills.  Once I “buy” into a company I am loyal until I feel there is no further that I can go and even then I discuss with the company before making a move. 
Kristof Claes
10/23/2012 12:15:57 PM
A while I ago I started reading The Professional Programmer by Robert "Uncle Bob" Martin. In the book Uncle Bob says you can't call yourself a professional programmer is you don't spend at least 20 hours of your spare time programming. He also states that the responsibility to stay up to date lies with the developer alone.

I really, really, REALLY don't agree with this. I believe both the employee and the employer are responsible. If you're a self employed developer, you're both employer and employee so in that case you are indeed completely responsible. But when you are an in-house software developer working for a company that sells custom software, then I strongly believe the employer has a big responsibility to keep his staff educated and up to date.

I discussed this a bit with Mark Rendle and he said it better than I can ever say in this awesome blogpost. 
Dan Maharry
10/23/2012 2:00:57 PM
Sad to say that in the two previous jobs I've had (one large enterprise, one small webshop), where both said time and budget was allocated to personal training / development, neither time nor budget actually materialized. "We're too busy right now" was the general response. Even so far in one case to refuse me the opportunity to go to a free one-day seminar on web development - bang on song with what we did - or an hour each week to try out a new technique or library. Now I probably could have forced it some how because it was in the contract, but in both cases it seemed a waste of effort. So no, I wouldn't expect it - it's a nice bonus if the company actually follows up on that promise in my experience. 
10/23/2012 2:16:50 PM
For long-term sustainability, the obvious solution is to build in training. The classic line here (courtesy of Richard Franklin I believe), is 
Manager: What if we train our employees and they leave?
Team Lead: What if we don't and they stay?

Big places like MS and Google build in training to their budgets, but they've also built in pay raises. But these places are quite profitable and have money sitting around to do so. If you work at a small consultancy, there is not always money for both.

I have worked at several places with various policies regarding "training". Most of them had little or no support for training and even less support for mentorship. For various reasons, both employers and employees do not necessarily think long term. 

And like all things job-related there are clear trade-offs here with respect to salary.

If you're a manager and you pay for training, is it also fair to compensate that employee for completing training? What about for becoming more efficient due to training? 

It's easy for an employee to take the stance that "I should earn more now that I know more", but then they know more because their boss paid them to know more. Unless you can bill more to the client, there's not necessarily extra money just sitting around to pay the newly trained employee.

Unless you can convert training into "billable" or "more product per hour", training is not an easy sell for someone who's primary interest is bringing in next month's payroll.

On the flip side, employees can often view "self-training" as the path to a better job. In my first career job, I was offered an extra $1/hour of salary for each MS developer cert that I completed. I needed 5 to get the old MCSD, but never made it because I was hired away by the time I had completed 2.

I ended up being "hired away" a couple more times in the following year. Each for more money, each because of the skills I had built up on my own time (on top of my day job growth).

At the end of the day, employers should be providing regular employee training. And you will see it at every top (non-startup) company in the tech field. If you're an employer, the training hesitation seems well-justified, but if you're an employee, the lack of training has to make you wonder if there's budgetary space for a pay raise. Lack of space for a pay raise has to make you wonder how long they can keep you around at all.

In general, you want to work for the companies that have enough vision to keep you trained, well-paid and under their employ for years. Training is not the deal-breaker here, but lack of a training plan is generally a negative sign among other signs that things are going in the wrong direction.

just read the Mark Rendle post from another poster, that's a longer form of my thoughts, but spot on. 
Nathan Gloyn
10/24/2012 1:29:25 PM
In all the places I've worked none have given any time in working hours to develop your skills or if they said there was time available work was more important and we never got to take it.

If you find a company that will actually give you time within working hours to learn then you have found a rare thing. 

Last modified on 2012-10-22