Stories about Software


Your Specialty Should Be Easy to Explain

I know, I know.  I’ve been on a bad run lately with doing reader question Mondays on Tuesdays.

But I have what I think of as a pretty good excuse.

For my wife’s birthday, we spent the weekend in New Orleans, dining out, listening to live music, and exploring the city.  I don’t think I cracked my laptop, let alone had time to write a post.

C’est la vie, no?

Anywho, on to the reader question.  I’ve been talking a lot to people about this, so I’m going away from the typical FIFO-ish approach and am pulling a question from the comments of a recent post.

Great article. I’m a Software Engineer currently focusing on Machine Learning and Natural Language Processing (NLP). When I think about specialization, I always have trouble in the granularity of it.

I’m working on difficult NLP problems so I think I have something there, but is NLP a specialization or is it too general? What could be the right specialization? some branch of NLP like Natural Language Generation or some vertical like “Real Estate”?

I’m not sure about this process, I guess that you start at the top level (NLP for example) and then you start getting some information about which path to take, kind of organically.

What do you think?

Good questions, all.  And thinking about how to answer this brought into focus that I might be muddying the waters when I use the term “specialty” in some contexts.  To clarify, I’ll go outside of the software world with a hypothetical story.

The What-Do-You-Do Conversation at a Party

First off, understand that I’m going to take some liberties here to talk about a domain in which I’m a relative novice: cooking.  So if you’re a serious chef or even a seasoned amateur, I make no pretense that this will hold up to much scrutiny.

That said, imagine the following conversation at a dinner party.

Alice: Hi there. I’m Alice.  It’s nice to meet you, Bob.  So, what do you do?

Bob: Well, I’m very into cedar plank techniques lately.  It’s become my specialty.

Alice:  Huh.  So, I’m sorry, what do you do with these cedar planks?

Bob: It’s a roasting technique that actually imbues a smoky flavor, so you kind of get the best of all worlds: smoking, grilling and roasting.

Alice: So, you’re a cook or something?

Bob: Yes, I’m a chef.

Alice: Oh!  Where do you work?  I should come try your food sometime!

Now, this conversation probably wouldn’t happen in real life.  And that’s because chefs (and people in most non-programming domains) easily adjust for context and know how to talk to their buyers.  But the world has coached us as programmers to instead impress our peers.

We think of specialty and niche in terms of creating such a granularity of expertise that nobody understands what we do, including our peers and competitors.  But we should be heading in the opposite direction, like Bob through the course of this conversation, as Alice dragged information out of him.

Specialty vs Competitive Advantage

So what is Bob’s specialty?  Well, we don’t really know because he managed not ever to actually talk about it, in spite of Alice’s passing interest.  Oh, sure, he told her that he had a specialty.  But think of that really more as a competitive advantage.

So what is Bob’s actual specialty?  Well, let’s assign him one.

I make huge portions of stick-to-your-ribs meat dishes for an affordable price in an otherwise expensive neighborhood in New Orleans.  If you like barbecue and oven-roasted meat dishes, you’ll find a flavor here you can’t find anywhere else, and you’ll go home stuffed.

Now, if you’ll excuse how much it would sound like a commercial, imagine Bob answering Alice’s question with that little spiel.  She would immediately know not only what he does, but also whether she’d like what he had to offer or not.  Bob’s value proposition would scream through this description of how he earns his living.

Where does the cedar plank shop talk fit in?  That’s Bob’s “secret sauce” (pun not intended) — his competitive advantage.

Bob solves a market problem (large portions of really good food inexpensively) by doing something novel.  For argument’s sake here, let’s say his work with cedar planks allows him to simulate flavor that would otherwise be more labor-intensive, and thus expensive to create.

NLP and Other Techs/Techniques are Metaphorical Cedar Planks

Let’s talk about natural language processing, specifically, since that’s the reader question.  But you can map your own “specialty” onto what I say here.  People have written me about all sorts of topics in the programming world as potential specialties: architecture, ORMs, database performance, block chain, etc.

You don’t go to a party, explain to someone that you specialize in natural language processing, and then hear them say, “oh, awesome, I could totally use some labor focused on natural language processing.”  There’s just no human alive who would say such a thing, even as nobody would say “oh, nice — I could use some cedar plank work!”

For NLP to be useful, you need a bunch of other people.

  • First, you need someone that comes up with a product or service offering that makes NLP a competitive advantage.
  • Then you need someone like a CTO that can mentally bridge the gap between the business problem and how a heavily technical competitive advantage solves that problem.
  • And, finally, you need some kind of project manager to navigate the day to day of making your competitive advantage useful and keeping you on track.

In short, picking a heavily technical and granular specialty helps you and your peers stake out territory that the wider world neither understands nor cares about.  And it tees you up to be an employee or contractor.  NLP isn’t a specialty in the way I’m talking about — it’s a competitive advantage to a business that someone other than you owns, runs, and strategizes about.

We’re Really Talking about Value Propositions

So to clear up confusion, I think it’s better that I start describing this not as a specialty, but a value proposition.  I cringe a little at that, since value prop is a very hand-wavy, consultant-y term.  But it also accurately conveys what I’m driving at.

In a nutshell, value proposition is a clear statement that:  (1) explains how your product solves customers’ problems or improves their situation (relevancy), (2) delivers specific benefits (quantified value), (3) tells the ideal customer why they should buy from you and not from the competition (unique differentiation).

I’ve often, in my writing here, condensed this to the shorter form of “I help [who] do [what].”  But the idea is the same.

Your specialty value proposition isn’t about you — it’s about the people you help.  When I go to the restaurant on the corner to get a huge plate of ribs, I don’t care whether the chef used cedar or not.  When I get annoyed that Alexa can’t understand me with a mouthful of ribs, I don’t care about the finer points of natural language processing.

You care about your competitive advantage so that your buyers don’t have to.

Building a Bussiness around NLP

Does this mean that that you should be a martyr and abandon doing work that interests you?  Should you identify a value prop and then deliver that value, however odious you find the work?

No, of course not.

Figuring out how to exist as a free agent or efficiencer (or even the right kind of salaried employee) is the art of discovering the intersection between some value proposition and your competitive advantage.

That’s messy stuff.

You’re going to have to iterate and brainstorm a whole lot before getting started.  And, as you go, both your value prop and your competitive advantage will necessarily evolve.  This isn’t easy — but it’s crucial.

And that makes it hard to offer a specific blueprint.  I can offer some answers to the questions in the broader reader question.

  • Is NLP too general?  As a competitive advantage, it’ll probably serve you well.  As a value proposition, it’s certainly not too general — it’s way too specific and technical.
  • Is some branch of NLP a good value prop?  No, that’s worse.
  • Should you focus on a vertical, like real estate?  Definitely getting warmer!

Aside from the framework of this post, I don’t know how to advise on specifics.  You could focus on a particular vertical.

This is a process known as market segmentation, and it’s closely tied with your value proposition.  But you could also focus on, say, building products or SaaS and offering a consumer application.  You can match a lot of value props to your competitive advantage and vice versa.

Taking Helpful Next Steps

I’ll close by offering advice — not so much on which value prop to pick, but on how to pick one.

First, do some market research and start to learn a lot about the different sorts of business problems that NLP solves.  Learn about the people for whom it solves these problems.  As you do that, you may find that not only does NLP appeal to you, but so does some particular vertical or general consumer of the technology.

From there, you can start to conduct informal interviews with people to see what solutions exist and also what gaps exist.  Are there companies using NLP in some way where they fail to take full advantage?  Or are there companies not using it at all that could really benefit?  Go lurk on NLP project forums and see what feature requests come up that nobody seems to implement.

This style of research will let you learn more about your prospective competitive advantage and toolbox, while giving you ideas for value propositions.  The more research you do, the longer your list of potential offerings will grow, and the more intersection points you’ll find between doing what interests you and scratching real itches that others have and will pay for.

It is indeed an organic and evolutionary process.  But it’s important to be very deliberate about setting up the framework to to engage that process.

No Fields Found.
Newest Most Voted
Inline Feedbacks
View all comments
6 years ago

Hey Erik thanks for the post! specially because I’m the one who made you that question about NLP specialization. Since your response in a previous thread, I resolved to build an MVP of a web application that allows real estate agents to input home features and get an automatically generated home description. I don’t know if it’s something real estate agents are interested about so my approach is to show the MVP to the CEO of a CRM for real estate companies (20% of the market) and check if he’s interested on integrating my service to their CRM. This way… Read more »

6 years ago

Thanks Erik. How did you do the market research for your speciality ? How did you grew your consulting to strategic IT decisions ?


[…] last week, I’m running afoul of my attempts at a FIFO model, but I just got this question and it set my […]