How Influencing Motivation can Drive Learning and Productivity
What motivation really is and how we can influence it to produce better and happier developers
Motivation is usually thought of as an individual thing. People are motivated to do things based on factors internal to them. For example you may think about how you can influence your own motivation but how often do you think about influencing the motivation of others? And do you ever think about how motivation affects performance and learning in the workplace?
We may not think about these things but we really should.
Motivation is an extremely important factor in the growth and happiness of employees. Understanding it and knowing how to influence it can make a huge difference in creating a positive working environment.
In this article I will explore the topic of motivation firstly through explaining the theory from research and literature and then how that theory can be applied to tech companies and development teams.
Theory of motivation
So, what is motivation? The theory of motivation¹ firstly establishes Goals as the way to define what a person is motivated towards. For every Goal there are then three levers that can influence the motivation towards it. Those levers are:
- Expectancies of success
- (Supportiveness of the) Environment
I will describe these 4 topics (goals, value, expectancies and environment) here and then further down how to apply them in the real world.
Goals are a way to think about what we actually want. Goals provide guidance and direction for what you want to achieve. Once you have established these goals you can understand what type of activities you want to pursue. Without clear goals it is difficult to influence motivation.
Subjective value of a goal or task is a key feature in influencing motivation. People are more motivated to work on tasks or towards goals of higher value to them. Value is derived from 3 sources:
- Attainment value - satisfaction gained from mastery or accomplishment of a task
- Intrinsic value - satisfaction from the doing of the task itself (rather than from the outcome)
- Instrumental value - degree to which an activity helps accomplish other goals (usually extrinsic goals such as money, recognition etc)
By solving difficult problems I feel like I am growing my programming skills, I derive attainment value from this as I continue the path to mastery as a developer.
Solving difficult problems is enjoyable for me, I have an analytical mind and I love to think about and try to solve challenging problems, this provides me with intrinsic value.
By solving difficult problems I am demonstrating my abilities to my colleagues, this will help me get recognition and put me in a good place for career progression, this provides me with instrumental value.
People are motivated to pursue goals they expect to achieve. There are 2 types of expectancies
- Outcome expectancies - belief that actions will bring desired outcomes
- Efficacy expectancies - one has the ability to identify and execute the actions to get to the desired outcome
Motivation to solving difficult problems could look like this:
I do not believe I have the current ability to solve the difficult problems I am facing, therefore I feel demotivated because I have negative efficacy expectancies.
4. Perception of environment
A person’s perception of their working or learning environment also affects motivation. If a person perceives that those around them are supportive of them, that seniors are approachable and willing to help, that they can fail and won’t be vilified, then they are more motivated to engage in those activities. Conversely motivation can easily be eroded if the environment is not seen as supportive.
Our junior developer could feel the following about their environment:
I have a lot of supportive colleagues who will help me, therefore I feel my environment is very supportive and my motivation to tackle these problems is better because of that.
How to apply these concepts to development teams
As managers, coaches and senior developers we need to understand we can influence the developers we work with and should take responsibility for how the processes, culture and environment we establish affects their motivation.
First we should ensure we help our developers have clear goals. Both personal and wider goals are important, the developers need to feel like there’s some target, reason or purpose for the work they are doing, either for internal fulfilment or career development. In addition to this, ensuring they are clear on how the work they are doing affects the goals of the company can provide another avenue for motivation. If they don’t know what their team’s / organisation’s goals are then you are relying only on their personal goals to motivate them in their work.
Having clear goals is an important first step, without a target to work towards motivation can suffer.
In my current project working for Gousto (a London based recipe delivery startup) we are heavily involved in the process of deciding what our objectives should be for the quarter. As a team we come up with what we think we should be measured on and this is then agreed with the leadership team where together we set the teams objectives and measures for the quarter.
This democratic nature and developer empowerment provides a huge amount of clarity on our goals, we know what our goals are because we help decide them. We are motivated because we feel very connected with the goals of the organisation as they are our goals too. Therefore motivation is boosted by providing us with extra personal goals and clarity on the wider goals.
Secondly we need to work with our developers to help them realise the value in the work they are doing.
For achieving Attainment Value (satisfaction gained from mastery or accomplishment of a task), we should help them understand how the task they are working on could help them become a better developer, especially if the task seems unrelated to the areas they want to grow in. If the work they are assigned isn’t helping them to improve their skills and achieve mastery then we should think about the work we are assigning them. Can we help them get onto more challenging or useful work? Can we adjust priorities or give them priority on any new tickets that could be good for them?
For Intrinsic Value (satisfaction from the doing of the task itself), we need to be on the lookout that our developers are enjoying their day to day work. If we find that they are not we should try to unearth the reasons for that. Maybe a change is required, that could be something as small as a shift in focus all the way through to something as large as moving to a new team. Our job is to facilitate and make these changes happen.
For Instrumental Value (degree to which an activity helps accomplish other goals), the most common goal is usually around career progression or promotion. For example working with our developers to develop career growth plans or ensuring the progression system is transparent enough so they know what they need to do to get to the next level.
Next we need to understand whether they possess positive or negative expectancies around achieving their goals. If they have negative expectancies then we need to identify why and what can we do to improve them.
Expectancies can be negative if developers are assigned difficult tickets and don’t get enough support. This can especially be the case with new or junior members on teams. Senior developers can often feel like they don’t have the time to support or slow down their work to explain things as they go along. We should be wary of throwing developers into ‘shadowing’ type situations where they aren’t really getting useful help and are just watching senior developers do their work for them.
We also shouldn’t throw developers too far in the deep end, we need to give them a balance. They need to have the chance to tackle problems on their own first, without that they will never be challenged enough to grow out of their comfort zones. However they also should not be pushed so far that they struggle and don’t learn.
Expectancies can also be negative if developers have low confidence in their development skills. We should try to recognise and praise their work when they do a good job to boost confidence and show them that they can do a good job. This is especially important in this industry as imposter syndrome is high and many developers compare themselves to others who sometimes have achieved much more than them in their careers.
Lastly we need understand whether the environment we’ve created and the culture of the company make people feel supported. Developers can thrive if they feel like those around them support them, are approachable and willing to help when needed. This is not just about asking questions when stuck, if people don’t feel like those around them are there to support them they may not feel confident pushing themselves to work on more challenging tickets. Their learning and development could then suffer. They may not put themselves in situations where they feel outside of their comfort zones and those are situations where the most learning occurs.
People also need to not feel the pressure of doing things right first time and not being allowed to make mistakes. We know about failing fast in product development but what about in problem solving? The opportunity to fail fast as a developer not only helps provide learning opportunities but also inspires us to be more expressive and creative, which can improve motivation by enhancing the intrinsic value of work.
Motivation is an important element to consider when managing development teams. Motivation can be influenced by us and we should look to how we can best utilise the levers of motivation to get the most out of our developers.
Further reading (and the source for this article):
¹How Learning Works, Chapter 2, What Factors Motivate Students to Learn?