What Makes a Good Developer? A Manager’s POV

  • Date Published
  • Categories Blog
  • Reading Time 5-Minute Read

Developers are becoming critical to the success of a good product, and not only during the final stages, but also during the planning/development of the product. Due to this, a dev must develop not only a product but themselves, too.

There are a lot of high-achieving, brilliant-minded developers at Distillery. My duty as a project manager is to improve my skills and theirs, thereby helping them achieve amazing results that make both them — and our clients — look good.

Unfortunately, in my experience, not all dev teams know how to significantly increase the quality of their work and their services. Accordingly, I’d like to use this blog post to focus on some of the not-so-obvious things that make a good developer. You’ve probably read a lot about this topic in other blogs, however, so I want to make sure I’m truly adding some new insight. With that in mind, below are some of the seemingly universal principles I’ve learned through different periods of my professional life while working on projects both big and small.

1. Task Descriptions and Requirements Can Be Gathered by All Team Members

It is absolutely right to ask PM, analytic, QA, or any other product-side professionals to add descriptions to the tickets. But sometimes those folks are stretched across a few projects, making them bottlenecks for your awesome project. Of course, our Distillery devs are so cool that they can help a product team by adding those descriptions during grooming or sprint planning. But that’s impossible without having deep product knowledge. Which brings us to our next point…

2. Perfect Knowledge of the Product and All Flows Is a Must-Have for a Dev Team

To achieve this “perfect knowledge,” you first need more communication with the product team and the client. Second, you need time allocated for the study of all UX and UI flows. This is especially important during the earliest stages of the project (e.g., pre-development, prototyping). But I promise: it’s really that easy!

3. Look at the Project through the Eyes of the End User

Ideal code is great. But if that ideal code doesn’t help the end user reach his or her goals, it’s not okay. I’m not talking about bad code vs. good code. It’s about functional code vs. ideal code. So don’t waste your time on something that users will not see, notice, feel, or be affected by. Instead, even if you’re a developer, focus on making the product convenient for the end user.

4. Do Product Research to Understand the Needs of the End User

This may be obvious to any designer. But most likely, my colleagues from the developer department would prefer to spend their time reading about new technologies or programming languages (which is completely okay — it’s their passion, after all). But from time to time, it’s good to learn something about the products themselves. For example, find a similar project to the one you’re working on right now, and compare it with your product. Is it better or worse? Can you use some of the ideas? All this information helps in the end.

5. Be Mindful of Quality Control

In the production cycle, the developer is now one of the last links in the chain on the path from idea to realization. In the past, developers were used to working with imperfections and ideas that weren’t fully polished. But now, the weight of quality control also falls on their shoulders. What to do? Well, direct the team’s attention to the issues you encounter, and try to find the best way to solve them together.

6. Remember That Frontend Is the New Design

Nowadays, the number of screens, flows, and elements in each website or app is so huge that there is no designer who is capable of designing them all. From a UI perspective, the design itself is no longer a static image, but rather a smooth and clear transition between all possible states of a page (see Google’s Material guides).

So the frontend developers on our project teams need to evolve and actively develop their design expertise and taste. It’s just as important as learning the new Javascript framework. For those frontend designers who are willing to take up the call to arms, here are a few sources for inspiration:

7. Cultivate Your Soft Skills, Like Communication

This is something that’s crucially important for building a strong team. In our software development world — which is one exclusively made of teamwork — personal qualities have long been equated with professional ones. But a modern developer is not a geek or a freak, and certainly not a child. Modern developers should be the consummate professionals, and excellent communication skills should be their distinguishing skills. Also, at Distillery we love to involve our clients in the development process, so developing strong communication skills is very important for service quality.

8. Be a Mentor, and Delegate to Educate

I sincerely believe that the biggest advantage my senior colleagues have (regardless of their fields) is the ability to teach. The higher their levels, the less work they should do themselves. Instead, they should control results and monitor the quality level of the developed product. It’s necessary to give experienced team members regular opportunities to share their knowledge.

9. Give Accurate Estimates

It doesn’t matter which methodology you’re using. The ability to provide a correct and realistic assessment will be incredibly useful for both you and your company. There will always be tasks you have never faced before. Concentrate on your related experience, and not on what you don’t know. A competent assessment eventually results in the right timing, and the right timing leads to a qualitative result and justified expectations, which makes customers happy and your company prosperous.