cloud strategy session

Consulting

How to Produce Effective Work and High-Performing Teams

How to Produce Effective Work and High-Performing Teams

Wizeline is full of high-performing engineers, so we set out to investigate what makes our team effective. We’re sharing our findings to help other teams identify these characters and foster an environment that produces everyone's best work.

Effective work is an elusive concept. Some people may confuse it with efficiency or productivity. In a software environment, we define “effective work” as work that helps us achieve the most impactful (usually business) outcomes faster and with a high degree of quality. 

We know, however, that we do have a lot of engineers who do effective work (aka “effective engineers”) at Wizeline. So we set out to investigate the characteristics that make engineers effective, and—through both primary and secondary research—learn some of their traits, and identify what can be done to foster an environment in which effective work flourishes. 

Our Findings

Our research uncovered many interesting findings on what makes an engineer effective at Wizeline—or other companies for that matter. Some of these findings were expected, based on secondary research and common knowledge, but others were surprising and fascinating. 

The following is a quick overview of the key takeaways around effective work at Wizeline. We share these so that other teams can apply these lessons and unlock their full potential.

Effective engineers:

  1. Focus on clarity of priorities/goals
  2. Value team over individual
  3. Never stop learning
  4. Are conscious of flow
  5. Follow a toolkit
  6. Reflect on/evaluate their work
  7. Maintain a sense of fun
  8. Are pragmatic and able to communicate trade-offs
  9. Value good health

It is easier to be an effective engineer when you have a great team, and they stayed with the same rhythm. For me, good team health, having fun, understanding the project, the business needs, and the BIG picture are the main factors.

Interviewed engineer

Wizeline

Focus on clarity of priorities

Effective engineers work on one thing at a time so they can focus on completing it. They get a sense of progress and satisfaction when that item is done. The level of granularity of that task may vary from individual to individual. For some of them, it’s a daily task that they set out to achieve; for others, it’s a weekly goal. Starting something but not finishing it during the allotted time frame is seen as ineffective. 

The way engineers select a priority to focus on is based on having clarity of the ultimate goal of the product or solution they are building. They make sure they understand that goal very clearly and they keep that goal in mind as they are making priority decisions. It also helps as they work with the team to provide clarity of what is expected of them, how to collaborate with others, and what to prioritize. It is important that this information is not “filtered” by someone on the team, like a project manager that acts as a gatekeeper, but rather that the individuals have clear access to goals and outcomes. 

Finally, having a clear understanding of the ultimate goal enables those effective engineers to “explore the future” before it hits the team. This may take different forms. In some cases, it’s about preventing future risks, planning future tasks, or reducing tech debt. In other cases, it may be about deciding when to spend time to do design in advance to prepare for upcoming work. In summary, they keep the “long cycle” in mind while they work on the “short cycle. 

Having a goal clearly defined on a project makes the work easier, as this helps correctly prioritize activities

Interviewed engineer

Wizeline

Team over individual

We also learned that effective engineers value the work and impact of the team over the value of the individual work and impact—or anybody else on the team for that matter. They get a sense of pride when the overall team is effective rather than just themselves. As such, they focus on giving support to the team (by removing obstacles and setting them up for success) to make them effective. They also embrace coming up with solutions as a team to ensure common alignment and buy-in.

Effective engineers understand that spending too much time over a technical issue individually instead of getting help from the team is detrimental to the team’s performance. 

Keep learning

One interesting finding of our research was that people who are deemed effective are always learning, even outside of work. But it isn’t the typical “I stay updated on the latest architecture trends in the evenings.” Rather, they keep learning about anything. Some of them, sign up for Coursera courses to learn more about artificial intelligence or design patterns. Others watch cooking videos on YouTube at night, read about World War II on the weekends, or listen to audiobooks during their commute.    

It turns out that what makes team members effective isn’t so much about learning work-related topics directly associated with their job. It’s about keeping their mind engaged with both work and non-work learning and skills.

 Conscious of flow

Effective people understand that in order to get things done, they require focused time, dedicated only to what they are trying to achieve. In other words, they require flow.

Achieving flow is hard in the modern era. Open office spaces are prone to noise. Tools like email and Slack add to that. And effective teammates are likely to be sought out by other people. Ineffective work tends to be associated with lots of time invested in meetings and being blocked for long periods of time.

Our effective engineers achieve flow with the following techniques:

  • Block chunks of time during the day, set “pomodoros,” turn off notifications, and isolate themselves from the outside world to focus on getting things done.
  • Many engineers are night owls, probably because it is when they find quieter spaces and time to work.
  • For meetings, they encourage to have defined agendas and clear outcomes, so they can get the most out of their time.
  • They leverage strategies such as mind maps and master their tools so they can invest their mental capacity on providing value, rather than low-impact activities.

In summary, they create an environment where they can do their best without getting distracted by other issues.

What can be done to limit interruptions and guard our time?

    • Block good chunks of time (mornings, afternoons, or evenings) to get work done. 
    • Optimize your peak performance times. While not everyone is a night owl, you should be aware of when your mind workds best and do your most focused tasks in those hours.
    • Try different tools and strategies to deal with interruptions. Some folks used documentation to stay focused: mindmaps, architecture diagrams, technical documentation.
    • Set actionable meeting agendas and only invite those who need to be involved.
    • Restrict Slack communication during focus time and only check email once or twice per day.

Master a toolkit

Effective work is associated with mastering a toolkit and consistently using it to get things done quickly. Some people (particularly those who have mastered flow) use tools like Clockwise, Wakatime, and Pomodoro techniques to master their time. These tools enable them to reduce interruptions, increase concentration, and coordinate with others. Others, create mind maps about the goal and the priorities; or quasi-architecture diagrams to make sense of the product, the relationship between its parts, and its integration with the ultimate goal. 

Interestingly, some engineers have spent years perfecting their coding toolset instead of jumping to the latest shiny IDE. They know their editor very well and have been using it for years, which enables them to rely on shortcuts and well-known tasks to accelerate activities like refactoring, variable naming and others. 

Reflect on and evaluate your work

Effective engineers take time to reflect on their work, assess their performance, and make improvements where necessary. They use this to revise their toolkit, their practices, and their interactions with the team. It also helps them identify areas they should work on and develop as well as habits they should change. 

Similarly, effective individuals use this reflection time to ensure they and their team are keeping higher-level goals in mind. This reflection time forces teams to do the hard work of planning, laying foundations, and thinking things through to avoid software chimeras. It ensures alignment and consistency while providing teams the autonomy to solve problems creatively. In short, this is also about keeping the “long cycle” in mind while building on the “short cycle.”

Every day I spend considerable time analyzing what I did, and what I should have done in my day. It helps me to identify what made me spend more time than needed, and consequently, what I have to improve

Interviewed engineer

Wizeline

Maintain a sense of fun

Our research uncovered that effective work is associated with having a sense of fun, both individually and as a team. Effective engineers feel motivated when they have fun, feel challenged, and learn a lot. 

As an organization, we maintain this sense of fun with routine events and opportunities for team bonding, passion, and play. These activities include Super Smash Bros tournaments, talent shows, Rumba dance lessons, internal conferences, hackathons and more.

Be pragmatic and communicate trade-offs

Another key takeaway of our research was how pragmatism and communication play such a significant role in work effectiveness. Effective engineers can make appropriate decisions regarding speed vs. “quality” (elegant code, scalability, performance optimization) based on whatever is needed at a particular point in time. They are very good at identifying what is “essential” in each product iteration and focus on that. 

They also embrace just-in-time refactoring rather than just-in-case refactoring. In many cases, effective engineers develop a functional solution first and then iterate on it as needed based on time, performance, and business constraints. As an example, one engineer told us that when he doesn’t have a clear understanding of how to deliver the issue, he focuses first on making it functional even if the code isn’t pretty. Once it’s functional, he writes the tests. Finally, he refactors and adds more tests. 

Related to their understanding of pragmatism, their ability to understand and explain trade-offs to clients (e.g., technical debt incurred while focusing on a speedy deliverable) ensures that the team and the client stay on the same page regarding conscious technical decisions and its impact on the product, presently and in the future. 

Effective engineers keep continuous communication between the team and with the client and foster an environment in which questions are asked and clarified as early as they appear. 

Value good health

Our research also identified a clear correlation between making a conscious effort to maintain one’s health and an individual’s effectiveness. As such, effective engineers integrate health-conscious habits into their daily routine. They place significant value in exercising or working out to maintain their health. They also ensure they have time to participate in activities to relax. And (it should come as no surprise that) they’ve discovered that sleeping well makes them more effective. 

We know the value of employee wellness, which is why we made sure that our newest facilities in Guadalajara, Mexico came equipped with a full gym, a meditation room, and an expansive terrace for fresh air. By offering yoga classes, daily meals, and space or adequate breaks, we are doing our part to keep health top-of-mind.

Our research process

When we set out on our research quest, we asked people to nominate engineers who they believed are effective teammates. Intentionally, we asked people who would see the outcomes and impact of what they develop (rather than their day-to-day output) so we could focus on those deemed effective by others. We asked project managers and delivery managers rather than other engineers, designers, or tech writers on their project team. 

We interviewed all the engineers who got at least two nominations. We also ended up interviewing seven of those highly effective engineers in person. 

In parallel, we did research to identify common characteristics of effective work, as seen by others. We re-read the following books on effective work: 

  • “The Effective Engineer” by Edmund Lau
  • “Great at Work” by Morten Hansen
  • “It Doesn’t Have to be Crazy at Work” by David Heinemeier Hansson and Jason Fried
  • “Rest” by Alex Soojung-Kim Pang

Some of the key insights identified in the research are depicted in the graph below.

 

We also sent out a survey to all nominees and received 24 responses. The survey questions were informed by both the results of the interviews and academic research. 

What does this mean for engineers, Wizeline, and our industry?

It highlights how important it is to be aware of our work environment. That the success of an engineering team can be influenced by everything from the physical layout of your office to the clarity of project goals, and the company culture.

  • Create awareness of best practices
    • Importance of uninterrupted time for FLOW
    • Build awareness on the tradeoffs of interruptions
    • Make sure meetings have clear agendas and outcomes. Establish rules around how expensive and precious meetings should be. 
    • Promote the benefits of sleep and workout on effective work
    • Promote a culture of learning and the benefits of continuous learning and passion projects.
    • Master a toolkit and stick with it, instead of constantly experimenting with different tools
  • Foster goal-setting
    • Establish OKRs and milestones
    • Weekly updates
    • Standups
  • Offer training
      • Conduct training on how to prioritize and  on how to focus on only a few tasks at once
      • Encourage multidisciplinary skills and interests

If you’re interested in learning more about Agile product development, effective work, and building a solid engineering culture through DevOps practices and Wizeline Academy programs, reach out to us at consulting@wizeline.com.

Julian Limon, Director of Agile Product Development at Wizeline, & Javier Hernandez, Software Engineer
Julian Limon, Director of Agile Product Development at Wizeline, & Javier Hernandez, Software Engineer

Nellie Luna

Posted by Nellie Luna on July 9, 2019