How to Find Leads & Niche Down? – Reader Question

Recently I received these questions from a reader:

  1. What has been your best method for lead generation as a programmer? Please tell me a bit more about this in detail if possible because this is the most important question I wanted to ask you.
  2. Do you target only a specific niche?

My Answer:

How To Do Lead Generation As A Programmer

There are two ways you can generate leads: Inbound and outbound. I think of them as hunting and gardening.

Inbound leads are acquired through gardening. Gardening is a consistent effort to build trust and relationships with potential clients and colleagues. Examples include having conversations, writing, and speaking. Inbound leads tend to be of higher quality and an easier sell. When someone seeks you out specifically, you already have their interest, and they come with pre-existing knowledge of what it is that you sell.

However, gardening takes time. You cannot plant lettuce when you need to eat a salad for lunch. In those cases, you have to go out on the hunt. Looking for clients directly can get you work quicker, but it comes with a cost. When people are out looking for developers, you’ll be competing against the field. This means you may end up making less than you would from a higher quality lead, and end up in a position where you are treated strictly as a labor source, and not as a trusted advisor.

Gardening and Hunting Tactics

Some tactics are outlined here: A Guaranteed Strategy For Getting Your First Clients. These were intended for people just getting started, but can be put to work at any point in your freelancing career. In a moment I’ll outline my go-to hunting strategies, but first I’d like to show how the five tactics from that article can fit into this gardening/hunting paradigm:

  1. Talk to your current or previous employer. This is one of the more surefire ways to get work. If someone has paid for your services before, they are some of the most likely people to do so again. When hunting, reach out immediately. Otherwise, check-in with them on a regular basis.
  2. Reach out to your current network. Same as #1 with a broader target audience. Reaching out to 3-5 people daily is a great gardening habit to get into.
  3. Reach out to other Agencies and Freelancers. Also the same as #1.
  4. Hang out with your peers. Definitely gardening and not hunting, as you can’t create experiences to network on the fly.
  5. Hang out with people in your target market. Ditto.

The Gardening Habit

Without getting into the weeds, I’d say one important takeaway here is that you need to find gardening habits and do them every day. Doesn’t matter if you are full-on client work, or if you are in a slow period. ABG: Always be gardening.

But when you need work today, it is time to out on the hunt.

The Hunting Strategy

There are two tactics I’ve found the most useful for picking up work quickly. Direct Outreach and Prowling Slack Channels.

Ask any freelancer and they’ll tell you that one of their biggest sources of business is word of mouth. The problem with that is that it isn’t actionable. Sit on your butt and wait for work is not a long-term viable strategy. Instead, you need to make word of mouth proactive. Start reaching out to your network, and ask for referrals. “Do you know anyone who could use help with ${technology or business_domain}”? Asking to help others lets them know that you are looking without forcefully trying to sell them on your services, but does leave the door open if they have something for you.

Finding Work on Slack Channels

I have found prowling slack channels surprisingly effective. There are a number of public Slack and Discord channels for developers. These may be centered around a particular tech stack or geographic region. These often have a #jobs or #gigs channel. It’s easy to keep an eye on them if you are already using Slack for work. When someone posts a job, try to respond immediately. If you can catch someone at that particular moment, you have a good chance of landing the business.

Two things about using Slack to hunt for work: Don’t make posts saying you are looking for work, and try to get the conversation off of slack as soon as possible.

The first is because it rarely works and looks pathetic. The second is because it is too easy to get lost in the shuffle of a slack conversation. Bonus points if you can hop on call that minute. You instantly raise the fidelity of the conversation and show that you are eager to help them solve your problem.

As an added bonus, these public Slack channels can provide a place to practice habits 3,4 & 5 from above. They aren’t a replacement for in-person, in-depth conversation, but the ability to lightly network 24/7 from anywhere in the world does have some value.

Where Niching Fits In

I’ve experimented with niching/positioning quite a bit. I don’t think it needs to be an all-in commitment. but it can help you bring some focus to some of the strategies above. First, let’s think of some of the ways developers can niche down.

  • The most common one is based on technology choice. This could be focusing specifically on React, Ruby on Rails, or AWS for example.
  • The next most common example I’ve seen is niching down on a problem domain. This could be focusing on something like DevOps, accessibility, or performance.
  • Finally, there is niching down on a business domain. This could be trying to work exclusively with doctors, startups, or logistics business for example.

If you are looking for some inspiration, Philip Morgan has written extensively on the topic. His page of specialization examples is a great resource to help get you thinking of ideas.

In my personal experience, I’ve seen the least amount of success with the third. The reason for this is that as a developer, the problems you are being brought in to solve don’t often map well to the domain knowledge of that industry. If they do, they tend to manifest in either the problem domain or the technology choice. While I’ve worked with several companies that looked to build a marketplace and complex e-commerce solutions, it leads to people looking for people with experience with common technologies in that space, like Stripe and Shopify.

This doesn’t mean that you can’t niche on a business domain, but to have success with that you will find yourself moving farther and farther away from doing software development. For that reason, I’m not going to focus much on that avenue here. Instead, let us look at how we can put positioning into practice with some of the above tactics.

Apply Positioning With Small Bets

First, positioning does not have to be a permanent or all-encompassing decision. There’s merit it not chasing multiple rabbits, but there is also more risk in putting all of your eggs in one basket. Happy Easter everyone!

Instead, let’s focus on using positioning to give us more focus and direction while practicing the above tactics. We can then try one or more experiments. For this example, I’ll take a technology from my recent work: React Here are some ideas for things I could do to find some react work:

  • Write about React
  • Give talks about React
  • Update my portfolio, LinkedIn, etc. to be more focused on React and my work with it.
  • Reach out to people in my network, ask if they know anyone who needs React work.
  • Participate in React forums, Slacks, and Discords.
  • Look on Job Boards for React postings

The more you do these in tandem, the more they help each other out. Positioning can’t be a one-off strategy, and it can help you get unstuck when you don’t know what to write about, or who to approach. I never committed fully to one niche, however, if I found one of these strategies really started to pay off that may change one day.

If you have any questions of your own, feel free to reach out! Time allowing I’ll write a response like this one.