Julie Proteau
By Julie Mar 23, 2022

Soft Skills: The Final Touch of a Good Developer

A developer has great power in the design of an application or any custom solution. Their role is multidisciplinary.

To be at the top of your game, it is not enough to have a good technique or to know your language inside out. You have to be able to wear many hats at the same time, and demonstrate many qualities that are essential to the success of your projects.

As a Team Lead | Full-Stack Developer, here are the things I consider necessary to be good in my role.

The Analyst’s Hat

Before starting the development process, it is essential to analyze the situation. Make sure you understand the customer’s (Product Owner or PO’s) needs, and choose the most effective option.

The business analyst proposes solutions that generally meet the needs. However, it is the developer’s duty to question them with technical complexity in mind. The watchword: ensure an optimal value-added-complexity ratio.

A good developer must therefore be able to take a step back, analyze the needs, conceptualize the most efficient solution and defend their point. This requires courage, open-mindedness and a sharp analytical sense.

The Quality Assurance Hat

It can be easy to fall into the trap of believing that our role ends when the development of a task or feature is complete and ready for testing. But the reality is quite different! A task does not end when the pull request is opened.

The second aspect of the developer’s role is quality assurance. The developer has the most information about the potential impacts of code changes and edge cases that may cause problems. It is therefore very important that the developer clearly explains the test cases to be performed and the difficulties encountered during development to the QA expert.

One of my favorite techniques is to pair-test with the QA expert directly on the developer’s workstation before the code is even reviewed by a team colleague.

Another very effective method to increase quality and decrease return time is pair programming. When the solution is complex and we hesitate between several designs, it is a great idea to validate early with a colleague before investing all our time in a solution that may not be the best.

The techniques of pair programming and pair testing require humility, openness to others and the ability to question oneself. It is important to remember that alone, we go fast, but as a team, we go much further. It is also reassuring to collaborate with colleagues to ensure the accuracy and quality of your work.

The Consultant’s Hat

Another role of our profession is to advise the Product Owner. It can be easy to execute what the analyst and the PO ask of us, but it can be very damaging if we insist on developing a feature that is too complex in its entirety when just a small part of it could meet the need.

It is our duty to stick to the essentials and always focus on efficiency and need. We are in the best position to understand the impact of a change request or to cut out a feature to keep only the essential.

One practice that can help a lot is to show the Product Owner the work done as soon as possible. There is no point in waiting until the end of the sprint when the feature is in pre-production.

It can also be very useful to:

  • Ask for the PO’s opinion before completing the project
  • Propose alternative solutions
  • Ensure that they are comfortable with the chosen solution and that it meets their needs

No one has science hardwired into them and can think of everything when describing a story. It is the responsibility of all team members to make sure that “waste” is minimized. After all, the feature that has the most value may be the one that will never be developed. There is nothing more wasteful than unused functionality.

When our heart and our logic tell us that it is useless to develop what is asked of us, we must have the courage, the tact and the right arguments to convince the Product Owner by exposing the costs and the risks associated with the requested changes.

The Delivery Manager’s Hat

Last but not least, we are responsible for ensuring that our development is deployed and ready to be tested or used. The process only ends once the solution is available in production.

Reducing cycle time is everyone’s business, not just that of the team leader, Scrum Master or Release Manager. A very effective way to ensure that our tasks are not blocked is to always prioritize those that have been started first.

The Qualities of a Good Developer

To be most effective, a good developer makes sure to:

  • Accept that frequent and rapid failures help to design the right solution
  • Validate often with both the PO and the rest of the team
  • Propose more effective solutions
  • Stick to the basics
  • Collaborate
  • Deliver often and quickly

To do this, they need several qualities: courage, humility, openness to others, honesty, a good analytical mind and a strong sense of priorities. They must also be able to have difficult conversations and convince others for the good of the product.

Conclusion

Being a developer is a wonderful job. Our role in the development process is complex and central.

We have a great deal of power over the success of a product at all stages of design.

To effectively respond to this power, it is critical that our daily mantra be, “Am I doing the right thing in the most effective way possible?”

Are you able to wear all these hats, and do you have the coveted soft skills? We are always looking for Full-Stack Developers! Visit our Careers page to send us your application.

Recommended Articles
Published on November 18, 2021

Agile Fixed Price Contract: Sometimes Tricky but Always Possible

Agile is now common knowledge. IT development frameworks such as Scrum, which emerged 10 years ago, are now the norm. Indeed, most IT projects lend themselves very well to this mode given their complexity and uncertainty. In a service company doing development for clients under a fixed price contrac

Read more
Published on October 25, 2021

Extreme “Coincidence:” Extreme Programming at Uzinakod – Part 1/2

“Even programmers can be whole people in the real world. XP is an opportunity to test yourself, to be yourself, to realize that maybe you’ve been fine all along and just hanging with the wrong crowd.” Kent Beck – Extreme Programming Explained – 2nd Edition As of the writing of this article

Read more
Share on