paint-brush
Knowledge Work is Non-Linear—Here's How You Keep Devs Motivatedby@Maya.Kirianova
2,092 reads
2,092 reads

Knowledge Work is Non-Linear—Here's How You Keep Devs Motivated

by DDI developmentSeptember 10th, 2019
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Software development might not look exhausting at first glance, but it’s one of the most consuming fields out there. Developers need to maintain steady concentration through 8-10-hour working days, approach tasks creatively, and maintain communication with their colleagues. Even top talent gets bored and burnt out. 

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coin Mentioned

Mention Thumbnail
featured image - Knowledge Work is Non-Linear—Here's How You Keep Devs Motivated
DDI development HackerNoon profile picture

Software development might not look exhausting at first glance, but it’s one of the most consuming fields out there. Developers need to maintain steady concentration through 8-10-hour working days, approach tasks creatively, and maintain communication with their colleagues. Even top talent gets bored and burnt out. 

The Role of Motivation in Dev Work

The critical problem of any developer’s workflow is boredom.

Writing the same code day in and day out, fixing endless bugs, and doing monotonous stand-ups all lead to professional stagnation and emotional burn-out.

Managers have to shake up the routine and come up with new activities. 

Creative work is non-linear and requires high engagement.

Top 7 Tips to Motivate Software Engineers

The list of tasks to be done is specific to your team goals and each co-worker’s individuality. However, there are some general methods that work regardless of your team’s personalities. 

1. Keep the atmosphere positive

Some managers avoid conversations about the importance of soft skills. It’s considered that hard skills and communication can’t be combined. As a result, professional coders are imagined as tough and quiet pros who never leave their corners. 

In reality, the situation is quite the opposite. Productivity is strongly influenced by positive communication. 

  • Build a transparent workflow. When each team member knows what the other is doing, there are no suspicions about unproductivity.
  • Bring informality to stand-ups. Start your colleagues’ day with a joke or begin by discussing the weekend. 
  • Encourage active team building. Physical activities are a great way to show that you care about your employees. 
  • Assign mentors to new developers. Smoother onboarding increases the efficiency of newcomers and helps the team to adapt to a new member.

2. Accept and promote ideas

By encouraging your team to participate in the management and influence the course of the project, you prove the importance of their work. When you sit in front of the same development tools all day long, it’s easy to lose the bigger picture. Make sure your team members care about the client, product, and its values. 

  • Collective strategic brainstorming keeps the developers involved. Encourage everyone to come up with the minimal fixed number of ideas (at least 20-30, depending on the project). 
  • Gather design meetings where you discuss the latest decisions. 
  • Encourage participation in Open Source projects. Unlike in paid products, here developers can explore their creativity in full and make the most critical calls. You can even make collective Open Source session once in 1-2 weeks. 

  • Creating shared mind maps is a simple and effective way of encouraging team contributions

    3. Provide a strong vision

    An existential crisis in software development is a real deal. Not all projects are going to push the innovation or make the world a better place. There is often no direct contact with the client, and feedback loops might take ages. Sooner than later, developers start asking themselves: what’s it all for? 

    That’s where your team’s vision comes into play. Having strong internal standards and values helps to get through long projects and fight the feeling of futility. Even if one piece of work doesn’t feel necessary, the overall message of your company should be impactful, loud, and clear.

    • Make time for innovation. Even if your current projects lack room for experiment, you should have a fixed time for cutting-edge internal tasks, where developers will make socially beneficial work. 
    • Hold conferences and masterclasses. Value sharing is a compelling team value since it gives your colleagues a possibility to get to know each other. You can form a bigger picture out of each team member’s vision.
    • Visualize successes and share them. Make graphs and reports with your team’s accomplishments, share them on social media, and promote these posts. If other people compliment your job, it proves that your team’s work is appreciated.

    4. Offer career opportunities

    You can’t make everyone a project manager. Assigning a Senior title to each developer would lead to huge expenses and complicate the management. Giving financial incentives leaves your budget empty. What else is there? 

    Career development doesn’t have to be this linear

    Career opportunities are not limited to promotions and titles. As soon as you encourage your team members to have more responsibility and invest in learning, they will feel their careers developing - not just on paper, but in real life.

    • Use new technology stacks and invite experts. According to the Stack Overflow’s report, developers enjoy embracing new technologies more than getting promoted or working in a separate office. By motivating developers to improve their skills and recognizing the value of knowledge, team managers can achieve better results than with financial incentives. 
    • Participate in worldwide conferences and get in touch with international experts. Your team should feel in sync with the entire IT-world. 
    • Limit micromanagement. Give your developers a room for self-starting by cutting work into chunks and assigning a responsible person. It’s best to have a person who’d be handling only one piece of work, but thoroughly and correctly.

    5. Stay Flexible

    This applies both to the structure of workflow and software development decisions. If software engineers firstly have to run each small decision by you, the team is in big trouble. 

    Combining stability and agility is the key to productivity.

    • Developers should be able to come up with their frameworks for problem-solving. This also means freedom for used technology (although it should adhere to the overall standards of the project and company). Typically, it’s safe to allow using favourite frameworks and automated tools, as long as the entire team stays in the same ecosystem.
    • Flexible hours are a must. Software development is a highly creative work, and your team members should be on top of their game. The concentration doesn’t work on a 9-18 schedule for most people, so be ready to step out of this template. 
    • Use noncontrolling language. When you say phrases like ‘You should’ or ‘You’d better’, it leaves a negative imprint on the team’s atmosphere. Even though such words don’t have an immediate impact, they can demotivate employees and create a boss-team barrier.

    6. Visualize the work process

    Having access to statistics, charts, and kanban representation is a simple fix in the workflow - but it influences the quality a lot. Here is another way of how you may demonstrate the key performance metrics to your team. 

    Using color tags helps to add versatility to the process

    • Scrum Task Boards like Jira or Odoo. Each team member sees the progress of the project, including the assignment of a colleague. There are to-do lists, work in progress, and done tasks.  
    • Heatmaps - the tasks of different priorities are marked with various colour tags.
    • Tasks on a calendar to plan your time - take care to put all team meetings and stand-up events in Google Planner.
    • Priority maps - by defining the urgency of each task, you bring clarity into the process; the work is divided into manageable pieces in the order of importance.

    7. Lead by example

    The team will always look up to leadership. No automated means or systems can help if the manager slacks off. Whatever initiative you are implementing, you should also be its most active user and endorser.

    • Be open to changes. If your team member suggests trying a new automation system or communication schedule, try it out and put on a public discussion.
    • Listen to your team but make the call and take the fall. When a manager expects the team to make collective decisions all the time, there is no authority. Only by taking your responsibility seriously will you earn respect.
    • Admit your shortcomings. If you have implemented a system that turned out to be inefficient or uncomfortable, the worst thing is to stick to it to reaffirm the authority. Instead, be open about mistakes and put the team’s productivity and well-being first.

      A good manager has to be on top of both task and knowledge work

      Bottom line

      There is the only way to find out whether your team is motivated enough, and that is by asking them. Here is a list of seven questions that cover all the discussed aspects:

      • describe your team’s engagement in your professional and personal life;
      • recall when was the last time when the manager asked for your contribution;
      • describe our team’s vision in three words;
      • name lessons that you consider the main professional takeaways during your work in the company;
      • describe a time when you had to put up with the decision that you didn’t understand or approve;
      • explain what you think each of your colleagues is doing. 
      • name who in the company is the most enthusiastic about innovating your workflow.

        Improving the developers' motivation is an ongoing process. With each new member and project, you have to welcome new approaches and perspectives. Keep communicating, experimenting, and assessing the results with tangible metrics - and your team will let you know whether the improvements succeeded.
      • There is no right answer here. No matter what your developers answer, there is likely a lot of room for improvement. These questions are not just to detect whether there is a problem, but to understand the improvement vectors. 

        Improving the developers' motivation is an ongoing process. With each new member and project, you have to welcome new approaches and perspectives. Keep communicating, experimenting, and assessing the results with tangible metrics - and your team will let you know whether the improvements succeeded.