Motivation in Software Engineering

Motivation plays an important role in keeping people proactive, and obtaining a productive role from a person. However, motivation is by no means the only factor involved.

In the last twenty years, an increasing number of productivity studies were conducted about how software engineers work, the productivity studies shown that individuals vary in their performance.

What are the needs identified in Maslow’s hierarchy that applies for software engineers?

m814_blk01_f3_1.eps

  • Stability and security: Maslow shows that there is a basic need for stability and security, a need whose breach can lead to stress. Providing stability in a software engineering context could be about ensuring that there is a robust process for handling changes to requirements so that people are not faced with trying to achieve goals that change unpredictably. Security of employment is also important and, as long as demand for software engineering skills remains high, this can be found in freelance contracting.
  • Belonging: ensure good communication so that everyone feels involved at every level, and where people work in teams make sure that the teams ‘gel’.
  • Self-respect and the respect of others: it’s important that everyone feels competent and that an individual’s competence is recognised by colleagues, so people should not be challenged to the degree that they are led into failure (but they do need to be challenged enough that they can achieve self-fulfilment); ensure adequate training. Additionally, competition between individuals and teams has to be carefully managed by recognising achievements in an equitable way.
  • Self-actualisation: ensure that everyone has the opportunity to extend their knowledge and learn new things, and then apply that knowledge. Some people find software beautiful. Others gain aesthetic pleasure from good human–computer interfaces. Various personal management methods encourage people to set themselves objectives and to regularly review whether they have met those personal targets.

People are motivated by opportunities for self-development and social interaction and contribution to their organisation and society.

The better the software development community becomes at creating software, the more software the world seems to demand. The relationship between people and their work may vary considerably between communities and countries, and it would be risky to try to transfer certain organisational structures and processes unchanged.

Organisations tend to hire expertise to resolve a problem, which will lead to knowledge for the organisation. To achieve a successful working team we need to focus on hiring engineers which has the expertise & innovative at the same time. On the other hand has the discipline to keep the focus on the business value of the organisation.

The discipline of expertise and innovation:

Marian Petre has spent many years studying expert engineers in order to uncover how they work and consistently create innovative solutions. She has discovered (Petre, 2004) that innovative expert teams and individuals:

– Acquire knowledge systematically from undertaking patent searches, reading relevant journals and books, attending conferences, monitoring legislation changes and monitoring the competition.
– Habitually solve problems and store the solutions for later use.
– Keep records of all work they do.
– Reflect on newly completed and related projects, and general themes as they emerge.
– Reuse and reapply recent innovations.
– Identify barriers to what is wanted, and remove them.
– Focus on conflicts between competing requirements and analyse these.
– Regularly brainstorm to generate new ideas.
– Look for gaps in knowledge and understanding, seeking to find new possibilities.
– Work through scenarios to explore the consequences of design proposals.
– Abstract away from real problems to focus on the essence of the problem.
– Explore constraints on a design and aim to reduce these.
– Play with toys as a way of discovering solutions to real problems.
– Follow online courses to keep the knowledge up to date. For example (www.coursera.org/, www.pluralsight.com, www.lynda.com, www.udemy.com)

From this we can see that experts are highly disciplined individuals who do not sit around waiting for inspiration, but systematically develop their capabilities and seek out that inspiration.

How does the preceding discussion of human motivation and the need for actualisation relate to learning organisations?

In order for an organisation to learn, the people within the organisation needs to learn, and through that the organisation business process can change and evolve. People are motivated by opportunities for personal development and growth, learning forms an important part of this. Thus there is a powerful willingness for people to learn along with the organisation that employs them. We can extend this argument a little further and conjecture that a learning organisation constitutes a “community of practice” within which the development and growth of that organisation and its employees can take place to mutual benefit.

In conclusion:

An engineer without enough motivation can turn into legacy, as organisation and engineers  we should keep focusing on motivation. The benefits are priceless on personal and organisation level.

 

Gabriel Ajabahian
Senior Software Engineer at RIPE NCC
As a Software Engineer at RIPE NCC, I’m passionate about creating dynamic applications that is used around the globe.

I have extensive software engineering experience, recently I focus on Scala/Java and JavaScript. On the other hand, I have experience with C# and .net framework. I focus on integrating applications that are built against different frameworks and can run on different platforms.

Scalability, efficiency and performance are key topics for any software, that’s why I keep track of the newest technologies, I never underestimate the power of the cloud, that’s why I do believe in using this power with “edge applications” to expand software’s and solutions to a new level.

Being a software engineer who understand the business as well as my team, looking at things from different perspectives. Being open and honest and investing in relationship makes a big difference.

Specialties: Software development, Scrum/Agile, Process and Problem management.

PS: Please don’t contact me or connect with me if your recruiter, I’m not interested in any job.