The Pragmatic Programmer #3 : Coding doesn't cut in Anymore, develop soft-skills and domain knowledge


This advice is common sense for the most part if you are experience enough, Chad basically asks you to understand your business domain, the action mentioned suggests something to the effect, I believe this is often omitted by developers especially at the start of their career, I most certainly did until I came to a self realization on how important this is.


To quote the book itself,

To excel at a company, you’re going to have to understand how you fit into the business’s plan to make money.

What this essentially mean is, you have to create value to the business to justify what they provide you, if we understand the trade of the market then it is just a commerce of skill and benefits, benefit for a Software Professional mostly mean money for the most part.

If you want to stay relevant, you’re going to have to dive into the domain of the business you’re in.

This talks about the difference of experience, every organization has some people who are not as excited by technology and are ok as a Software Professional but if you think about it what they bring to the table is huge amount of domain expertise, They are better at understanding business problems and Product Managers, Project Manager or Analysts (basically any business person) has easier time explaining the problem to them.

As a corollary, imagine if you encounter a technical problem and a stakeholder(customer, your project manager or any concerned party) wants an explanation, how easy it would be for you to explain to them that the performance problem happened because during migration between versions you didn't take into account the internal DB object representation might have occurred which resulted in cache invalidation in each step, you understand this is very hard to realize at the time, but this is really hard to explain to somebody.

Personal Experience

My Current company is in Financial Markets and because of talking to various people in the company on day-to-day basis, I have got some understanding on the market itself, also this I realized have given me some insight into feature implementation from time to time which results in increasing my productivity compared to 3 years ago when I just joined the company and needed very specific technical specification to work on the project.


I don't have to act on this advice since I am already acting on it for quite some time, however it's nice to have the experience validated.