The Importance of Domain Knowledge

What’s the worst case scenario at your job if you mess up?

When I used to work in Adtech, if I messed up, some marketing person would have over spent (potentially a large sum of money) on the wrong Ad Campaign that wasn’t too profitable. Not ideal, but also not the end of the world. I’d survive.

But now that I work in the payments industry, the worst case scenario is leaked credit card data. It’s my merchants not being able to accept payments. It’s Code Red for a business.

And yet when I was switching jobs, I didn’t really think about how changing industries would impact my day to day. I didn’t think about how it would impact my stress levels, or even the type of ideas I generate for a future startup.

Part of the reason for this is that many technical folks assume that domain level knowledge is unimportant. After all, their skills are completely transferable.

Software Engineers write code. Data Scientists need data. And no matter which industry they work in, they have the ability to learn new technologies and produce the goods.

But it turns out that domain knowledge is still important. It helps add context, and without context none of the code you write or data you pull matters.

Utility matters

A programmer that has to automate a factory but that has no clue about manufacturing is going to be writing far less effective software than someone who’s gotten their hands dirty.

Imagine architects designing a fire station without consulting fire-men. I’d hate to see what happens when there’s a fire.

When utility matters, domain knowledge is very valuable. Take for example Zapier which makes every employee, regardless of their team, spend some time in support to better understand customer pain points.

In the examples above, domain knowledge is important primarily due to context. The more context you have on the business requirements you’re getting, the better the questions you can ask and the better you can translate those requirements into code or insights.

But I think we can even go a step beyond context. We can focus on meaning.

Which one of the following excites you more: “write this code to finish this five-point story” or “write this code to remove one huge infrastructure bottleneck which brings us closer to serving more customers in emerging economies”?

Meaning helps turn the CSV file with 23k rows into something more than just a blob of data. If you’re lucky, it might even make you not want to break your head. Imagine that. 🙂

Second, domain knowledge helps us make tradeoffs. It helps answer questions like:

But it’s not my job!

You might argue that this is the job of the business stakeholder on the project. For example, it’s the Product Manager’s job to speak to users, understand the industry, and tell technical folks like yourself what you need to do.

Well, here’s the thing. You think you’re saving time by not having to worry about all this business stuff right now? It'll cost you 10x later when you need to fix what you implemented due to not asking the right questions or pushing back when it was necessary.

Second, realize that the bar isn’t that high. Most folks will stay in their lane and not show an interest in anything even remotely outside their job requirements. By being curious and asking the right questions, you can set yourself apart and fuel your career.

Building Domain Knowledge

The first step is to build a habit of being curious about the business side of things. Schedule time on your calendar, maybe even just a couple of minutes per day, to find out what’s going on in the industry. I like to do this post lunch because I’m a bit sluggish around this time and it’s a productive way to procrastinate.

Second, don’t be afraid to put time on other people’s calendars and just ask about their job. When I joined my current company, my manager gave me a list of 10-15 people that he recommended I learn from. I put 15 min on everyone’s calendars and just tried to understand what they did, what they found important, and how I could help.

Industries As Upper Division Courses

Okay, so if we agree that domain knowledge is important, then switching industries into a completely new one should put you at a disadvantage since you’re starting from scratch. In other words, the opportunity cost of switching industries means to some extent foregoing so much of that domain knowledge you might already have built.

But I view it a bit differently. It’s sort of like taking upper division courses in college. You get to pick the ones you’re interested in and each course allows you to find out whether you want to go deeper into that topic or not.

Taking the same course over and over again would get boring, and everything you’ve learnt from one course would still help you out in a completely new course.

Having worked in different industries and domains allows you to solve problems much more creatively. You can take what you’ve learnt from one field and apply it to another.

Some industries are also very good precursors for moving into others or working on more ambitious projects. You would find it hard to build some sort of embedded finance product unless you already had experience in payments.

***

It’s important to keep sharpening your craft, but after a while that just becomes table stakes.

You probably don’t need an MBA, but you do need to know why you’re doing the work that you’re doing.

Until next time –

Shikhar



Get little knowledge packages sent to your inbox.

Read next

5 Ways To Improve Diversity In Tech