A word of introduction about Zef Hemel and 100x engineering

Before we get to the matter at hand, we’d like to introduce you to our expert on the subject.

Zef Hemel has been in the software development game for a long time. He started coding at age 9 and obtained his first degree in Computer Science. He has held managerial positions in prominent tech companies. He was a Senior Manager at Egnyte, Director of Engineering at OLX Group, joined Mattermost as Engineering Lead, and recently became a Platform Group Lead.

Oh, and by the way, he was once one of us at STX Next. He joined our company as a developer and rose to the VP of Engineering position.

Zef has led teams of 60–100 developers and added great leadership skills to his arsenal along his professional journey. In our recent live session, he shared tips that’ll help you lead your tech team to reach 100x the impact of regular software developers.

Feel free to watch the conversation with Zef we based this article on below:

(Also, don’t miss the mini case study of how Zef applied the 100x engineering mindset to building a new product for OLX Group—it starts around the 22:50 mark!)

What your tech team needs to be doing to become more productive

The first step toward leading your team to achieve 100x impact is identifying what makes your team less productive and nipping it in the bud. It’s easy to overlook the productivity killers when your team is swamped with several projects. But this usually leads to wasting resources and time that could be invested in other projects.

If you want a productive tech team, follow these best practices we’ve outlined for you.

1. Avoid software development waste

Has your team ever worked on a product for several months that ended up never being used? Or conceived and built the “perfect” product only to discover that modifying an existing product could have been a better approach?

Such mistakes are not uncommon. However, if you review the steps taken by your team from when a product request is received to when the final product is delivered to the client, you may find out what went wrong. Most times, tech teams don’t bother to pause and ask, “Do we really need to build this right now?”

Answering this question before your team starts working on any project may help you explore creative ways to solve the users’ problems without any waste. It makes it easier for your team to figure out what’s needed and focus on delivering 100x results.

2. Involve engineers in pre-software development activities

Developers are ultimately responsible for ensuring that products satisfy users’ needs. Yet, they are often not engaged in the product research, end user research, vendor selection, and other pre-development processes.

Engaging your team members in these activities is a great way to get them invested and interested in the project. It makes them feel appreciated and willing to share their ideas on how to make the project run smoothly. Also, it’ll be a lot easier for them to build great products if they’ve been looped in and consulted from the beginning.

Teamwork is essential for productivity. Therefore, you should consult your team at every stage to achieve 100x more success. As the saying goes, “Coming together is a beginning, staying together is progress, and working together is success.”

3. Don’t ignore end user needs

It’s possible to get carried away with great ideas from your tech team on what the ideal features of a product should be. You can easily hold brainstorming sessions with your team to come up with several great concepts for projects. However, your team’s views on the product may be far from what the end users actually need.

Sadly, tech teams often fail to prioritize end user needs at the pre-development and development stages, which then leads to waste and end user dissatisfaction.

Products are made for the users and will only yield expected results if the users love and use the products. Therefore, you should always direct your team to figure out the end user needs when developing new products or refining existing products.

Who is a 100x engineer?

You may be wondering what all the fuss is about with the 100x engineer, anyways. Are they worth the hype and can they actually improve productivity? Yes. The 100x engineer is worth every commendation.

The concept of the 100x engineer is closely linked to the concept of the 10x engineer which dates back to the 1960s. A team of engineers conducted an experiment aimed at identifying the difference in developer performance between programmers with access to computers and programmers working with the traditional pen and paper.

The results from the experiment showed significant differences in the execution speed and the size of the programs produced by the two sets of programmers. This birthed the 10x engineer concept which focused on the execution speed of programmers.

For a long time, the concept of the 10x engineer dominated the industry and appealed to employers as employers focused on hiring fast programmers.

Let’s face it: the 10x engineer is perfect if all you need are engineers who can churn out code quickly. It’s possible to achieve more with fewer engineers if one had a team of 10x engineers coding lightning-fast. 10x engineers can easily write programs using a defined concept or following the specs in a Jira ticket.

But what happens if the concept is flawed and the feature shouldn’t be delivered in the first place? Who’s going to figure that out? Not the 10x engineer whose major concern is delivering code. Hence, you’ll need engineers with the 100x mindset.

100x engineers offer more than their coding ability. They think about the project and focus on understanding the business requirements and problems that the product is intended to solve. In the end, the 100x engineer may achieve more in less time than the 10x engineer.

So, how are 100x engineers different? Here are some of their key attributes.

1. Self-direction

100x engineers approach tasks with the ownership mindset. They are not lone wolves and they understand the importance of teamwork and respect leadership. 100x programmers manage their own actions, take charge of their work, and hold themselves accountable. They can easily make decisions that move the team closer to their goals and are not afraid to own up to their errors.

2. Innovation

100x programmers are not afraid to challenge the status quo. They come up with creative ways to achieve more with less and use various unique methods to solve challenging tasks. They don’t mind narrowing the scope to meet the client’s immediate needs. In fact, they may come up with several alternative ways to achieve the same objective.

3. Business-orientedness

100x engineers see themselves as more than programmers; they consider themselves partners to the business. This makes them eager to uncover the business context for each product. The 100x engineer seeks to understand the need for the product to build the best product for the team.

4. Negotiation and communication skills

100x engineers possess great negotiation and communication skills. It’s not easy to convince the product manager to narrow the scope of the project or ask them to perform user testing before implementation. Effective negotiation and communication skills are essential to convince tech leads, product managers, and other team members to approach projects from a different perspective.

5. Competent technical skills

In addition to the soft skills, a 100x engineer should have the right technical skills. After all, it takes a competent engineer to apply the 100x mindset to the product development process.

How to lead developers to adopt the 100x engineer thinking

The 100x engineering mindset is desirable. However, the implementation may prove difficult. You may find that the engineers on your team would rather receive Jira tickets and code away. Also, businesses are often pressed for time and expect their projects to be delivered on time. Thus, it may be difficult to convince your team members to apply the 100x engineer mindset.

Fortunately, it’s not impossible. Here are some techniques that will help you lead your team of developers to apply the 100x engineer thinking.

1. Emphasize the project objectives

Rather than dumping the scope of the project on your developers, you should get them to focus on the project objectives. This way, they’ll be more inclined to think about several ways to achieve the objectives.

2. Encourage them to take risks

Developers may have ideas worth exploring, but feel reluctant to share them because of the risks. Encouraging developers to take risks will make them innovative and eager to execute projects with the 100x mindset.

3. Motivate and reward developers applying the 100x mindset

When you reward team members who have adopted the 100x approach, you encourage others to do the same. You can motivate them by providing any technical assistance they need to explore various avenues within the project.

4. Embrace diversity

You’ll find engineering-focused, regular coders as well as product-focused, 100x engineers on your team—and it’s good to have both. The regular members of the team can work faster with guidance and support from 100x engineers. Thus, you should embrace your diverse team.

How to hire 100x engineers

Building a team of 100x engineers extends to the hiring process. It’d be a lot easier if candidates had “100x engineer” boldly written on their foreheads. Sadly, this is not the case and a 100x programmer can be difficult to identify out of several qualified engineers. However, it’s possible to spot a potential 100x programmer when hiring. Here are some tips that will help.

1. Evaluate the candidate’s understanding of your business

Many candidates express enthusiasm about a role, but aren’t familiar with the organization’s business. A 100x engineer is equally interested in the business. They know they have the essential skills and can acquire other skills needed to perform their duties. Hence, they are curious about the projects the organization handles.

One good practice is to ask candidates about their views on the recent activities of your organization that are public knowledge.

2. Look out for the key attributes of 100x engineers

The recruitment period is a good time to identify the key attributes of 100x engineers we’ve discussed in this article. Test for such attributes as well as technical skills. Oftentimes, candidates will display more technical proficiency than soft skills. You can find out if they possess the attributes of the 100x engineer by asking questions such as:

                         
  • When was the last time they challenged a program requirement?
  •                      
  • Do they criticize program requirements?
  •                      
  • How do they conduct end user research?
  •                      

3. Get to know the developers personally

The 100x mindset is transferable and cuts across different aspects of a person’s life. Thus, you can spot potential 100x programmers from their personal stories. It’s advisable to look beyond technical and soft skills related to the job role. Ask them questions about their hobbies, passion, interests, and personal achievements.

How to apply the 100x engineer mindset to a project in flight

The best time to apply the 100x engineering approach is when you have a new product or product refinement request coming in. It’s easier to get things right from the beginning. However, you may not have the opportunity to be there at the start of every project.

If you’re faced with a project that’s already in progress, you can still maximize productivity by applying the 100x engineer approach. Here are some strategies that will help.

1. Conduct end user research

The best products are not necessarily the best designed or engineered products. The best products are products that users will use and enjoy using. Thus, it’s important to prioritize your end users in the product development process.

Before jumping on any project, get your team to identify the target users for the product, what problems they’re trying to solve, and how the product can solve their problems. This will ensure that you have a vivid picture of what is being built and why. It also spurs creativity.

You can also get your team to put themselves in the position of the end users and build something that solves their problems.

2. Understand the priorities

Generally, product requests tend to be vague and merely specify the problem intended to be solved plus the must-have features. As a 100x engineering lead, you’re responsible for identifying the priorities and communicating them to your team.

Figuring out the priorities will make you consider alternative ways to achieve the expected results. You’ll be able to reduce the scope, come up with a minimum viable product, and reduce time-to-market.

3. Build lean products first

Rather than build the perfect product, focus on developing a prototype to test the market. Adopting a build-measure-learn product development approach gives room for experimenting with lean products or prototypes until your team figures out what the clients want.

You can improve and update the prototype using feedback from ideal customers. This way, you’ll be able to build a final product that the clients will love and use, reduce software development waste, and maximize your resources.

Be sure to check out our live stream recording for a short case study of how Zef Hemel implemented lean startup thinking when building a “Tinder for jobs” for OLX Group—using a special technique he likes to call “pop-up driven development.”

4. Take advantage of usability testing

A good way to ensure that your product solves the problems of the target users is to engage ideal users to test the products. Usability testing provides qualitative data needed to refine products during and after product development. It can also increase the demand for the products and increase business productivity.

You can conduct usability testing with your organization’s existing platforms or create a minimum viable product to do so.

Final thoughts on software development productivity with 100x engineering

The 100x engineer is ten times better than the 10x engineer and 100 times better than the average programmer. There are many benefits of having them on your team. Luckily, you can always guide your team to approach projects with the 100x engineer mindset using the tips we’ve covered in this article.

It’s not a day’s work, but it’s important to start instilling the 100x culture in your team right away. You’ll increase their productivity and start building products that people will actually use, which makes the effort worthwhile.

Go ahead and check out some of our previous articles below for more advice on maximizing your team’s productivity and improving your product development process:

Are you ready to start your project? We have a dedicated team of 100x engineers willing to make sure your project is successful. Reach out to us and find out how we can work with you!