Every once in a while I get asked a variation of the same question. "Viktor, how do we create a learning culture in our company?" In most cases, my answer receives a bad reception. The short version of it is to "stop doing what you're doing, and get out of the way."
Engineers love learning. Most of us became engineers because we like to "play" with tech. And yet, people in many organizations complain that they are not allowed to innovate and that they don't have time to learn. If my statement that engineers are playful kind of people, lack of innovation cannot be attributed to them, so we need to look for causes somewhere else.
The main culprit for the lack of innovation and learning is Henry Ford. The software industry is based on its models and processes. Everyone working in an IT organization is a worker in a factory. Everyone is highly specialized and is trained to work only on a small segment of the process. One person is writing Java getters and setters. Another one is in charge of testing. The third is in charge of deployments. The forth is working on integration. The sixth is merging branches. And so on.
High specialization defies the need for learning. "This is what I do, and nothing else. There's no need for me to learn things I'll never be allowed to apply. Instead, I'll play with my hobby projects at home."
The problem is that we know that software development is not factory work. Doing the same thing over and over again brings no value to a company. Those things should be automated, so that we have time to dedicate to the "real" job which, in most cases, should be solving problems. If we define engineering job as problem-solving, the situation changes drastically. The definition of what we do stops being "the same as yesterday," and becomes "solving a new challenge." If that's the case, how do we expect to solve a problem or a challenge if we do not learn new things on a daily basis? At best, we'll spend a lot of time inventing something that already exists. That's to be expected if we do not know what other companies did. How do we know what was already done? By learning. How do we innovate? By knowing what already exists? How do we create something new (and hopefully better)? By being up to date with what's going on in the industry.
However, there is a problem with the idea of learning, solving problems, and working on challenges. Repetitive tasks are everywhere, and they will not be done by themselves. They are like the fire we are continually trying to put down, only to discover that the source is still burning. Extinguishing flames is what prevents most companies from solving the problems, including those that initiated those fires. "This needs to be fixed immediately" is a constant mantra which results in all our efforts being wasted. That's like being sick and only taking medicine that eliminates the symptoms, not curing the disease itself.
Going back to the question of how to create a culture of learning... The answer is simple. Give people freedom and time to dedicate to whatever they want to do. Most will accept that with open arms. The exceptions are often people who spent too much time in a single company and gave up on being kids. Those that already have positions due to pure seniority will not want to innovate. They'll want the world to continue being frozen at the moment when they gave up learning. They want their knowledge to be valuable, even if it comes from 1999. For everyone else, time and freedom are all it takes.
I take "time and freedom" by the literal meaning. People need to have free time outside the deadlines. They cannot learn new tech and processes if you're breathing down their necks and asking them for status reports. Still, time is not enough. It needs to be combined with the free choice of what to learn, what to build, and what to explore. Innovation and micromanagement do not go well together. Give everyone free Friday to do whatever they think is interesting. You'll be surprised how many useful things will come out of it.
Sure, during the first couple of weeks, or even months, nothing will come out of that free time. In the beginning, people will be confused. They will not know what to do with their time and freedom. They developed Stockholm Syndrome, and they will need to gain perspective and adjust to the change. But, after a while, they'll start learning, innovating, and improving.
The best thing is that you can give freedom to people for purely selfish reasons. The outcome will be an improvement in productivity and higher return on investment. People will learn to do things better and faster. They'll find new tools, learn new processes and languages, and find out what others are doing. After a while, they'll stop wasting their time on mundane tasks and start doing what engineers are supposed to do. They'll begin solving problems and stop acting as if they are scripts that execute the same set of operations over and over again.
One more thing... Don't even think about creating an "innovation department." That's just silly. It'll result in architects smoking weed, playing with toys, and imagining how they can be useful to others. They'll come up with thousands of pages of Word documents and graphs with many colors that are useful only to them and a few managers who get impressed with colorful drawings. Learning and innovation are not something a privileged few should enforce on others. It's something that everyone can benefit from, and (almost) everyone craves for. We need to give people time and freedom. That's all there is to it. No restrictions. No plans. No deadlines. No pressure.