DEV Community

Bertil Muth
Bertil Muth

Posted on

Do devs need to understand the domain?

Let's say you're developing software for a reinsurance company. How much knowledge do you need about risk management?

Or you're developing software for an online retailer. How much knowledge do you need about retail, logistics and so forth?

Top comments (4)

Collapse
 
rhymes profile image
rhymes • Edited

Probably the more the better, how much depends a lot on the company and the products or services they offer and your role. As a general rule, especially if you want to climb the career ladder inside the company you should know as much as possible.

Sometimes you can probably get by with just the domain language and a few details, sometimes you might need to know ins and outs of the market. The latter never happened to me though.

I used to work for a financial company and I had to pick up stuff about trading, financial instruments, how the stock exchange works, important days, bonds and so on. I don't remember most of it anymore 🤣🤣🤣

Collapse
 
imad profile image
imad • Edited

I did my final year project in the insurance department of a big company, this was two years ago. My major was information systems, so my job wasn't only the software engineer part but all the process from studying the existant business processes, getting the requirements and give solutions to the problems, development was the last part of the project. The project pushed me to get a very solid understanding of the department (sometimes even more than some employees).
IMHO, I don't see you as a developer who just writes some code but as an engineer who must understand very well the domain, and in your life you will get to learn about new domains for almost every project and this what will make you a good engineer and make you stand out from the crowd.

Collapse
 
janux_de profile image
Jan Mewes

If you implement an algorithm, do you need to understand it? Sure. If you implement a business process, do you need to understand it? Sure. If you are just expected to code by the spec provided by some sort of analysts, do you need to understand the context? Not really but it might be useful.

I'd say as developers we need to learn as much about the domain as is required to elicit the requirements from the stakeholders. We need to learn the basic vocabulary of the domain to be able to speak with them about it. We also need to know about the interrelationships to understand and eventually solve their problems.

Collapse
 
elmuerte profile image
Michiel Hendriks

As a developer you create solutions for problems. If you do not understand the problem you cannot create a proper solution.

So domain knowledge is important for a developer. You do not need to be a domain expert, but you must understand what all the things are and how they relate to each other.

For the things you do not know, or cannot relate you obviously ask the domain experts for clarification. (Maybe they even overlooked something.)