How to apply Via Negativa philosophy in software development

Recently while browsing through one of the LinkedIn conversation, I came across the term Via Negativa and dived a bit deeper into it. If you go through that blog post, you will feel that you already know the things mentioned over there by some way or the other. The same is the case with any self-help or motivational content, you already know the message it is trying to convey but still it helps to refresh your concept and knowledge about it via different ways.

The important point here is we tend to forget what we already know to apply in our day to day life. Similarly, this Via Negativa philosophy struct me to find out ways how we can apply it in our work life (which is product development, software development for me).

Here, I will try to list down areas where we can apply this philosophy — “Eliminate negative first before adding positive” from the perspective of different roles in an organization.

image source: google

As a developer

  • Focus on refactoring the code/module along with the development rather than delaying it to later stage. That later stage hardly comes in today’s agile environment where we are delivering softwares with tight deadlines.
  • Resolve existing bugs first before jumping into new feature.
  • Eliminate warnings, deprecated apis, scalability bottlenecks before jumping into next sprint.

As a product owner/ manager / lead

  • Focus on clearing back logs without leaving behind anything unaddressed for the later stage in a hurry to start next sprint.
  • Focus on eliminating any known blockers/hurdles/scalability issues at earlier stage before focusing on planning new features for the product.
  • Focus on resolving user feedbacks at earliest.
  • Focus on Eliminating/Replacing under performer/inexperienced resource with the one that is required for the product/project before things go out of hand.

As a company owner/CEO

  • It is always tough to let go your employees who is not performing. But it is equally important to eliminate under performer or the one who does not have matching skills for your requirement. This is important on both ends for employee also and company also. You might be thinking that how it is good for employee as they are the one who will get fired? It is good for them because there are various reasons they might not be performing well in the required situation. 1) They might have different skill set where they can perform great at some other organization. 2) The current situation might be demanding too much from them compared to their current experience. or there can be many more reasons.
  • This article is a great read which explains why you should not hire someone to fix under performer : https://www.linkedin.com/pulse/dont-hire-someone-fix-underperformer-spencer-rascoff

In general

  • There can be various other roles also to which this philosophy can be applied ( QA/BA/UX etc). But I have just listed the ones that came to my mind quickly and the roles to which I am closely associated with.
  • In general terms, we should try and eliminate any negative things first before focusing on adding something to cover it up.
  • Get rid of all the distractions that come in your way to become more productive
  • Avoid procrastinating and start learning that new skill, that new tech that is required for you and your organization to scale up the game and give best quality product to the customer.

Drop in your comments and suggestions to add any more points over here, I would be happy to include points which you feel are important as per your role.

Did you find this article valuable?

Support Javal Nanda by becoming a sponsor. Any amount is appreciated!