Home iOS & Swift Tutorials

Business Partnerships for Software Developers

Have you ever thought about teaming up with someone else as a software developer? Then this article is for you – chock-full of advice and war stories.

If you’re like many readers of this site, you’ve probably spent years building your skills as a software developer. You have probably worked on software projects both big and small, and have worked on a variety of software development teams.

With all of this experience, you might have a little voice in the back of your head wondering if you could ever strike out on your own. Maybe you want to go indie, and launch your own app. Maybe you want to be a solo consultant, or even start your own full-fledged software agency.

If this describes your situation, this article is for you.

 By now you’ve probably figured out that doing anything 100% solo will be extremely difficult. Most people find it much easier to get by “with a little help from my friends” – but how, and with whom?

In this article, I’ll explain how partnering up with others can result in a more successful business for you. We’ll explore the 3 types of partnerships a solo consultant or software agency can pursue, and I’ll share some stories and examples from myself and the raywenderlich.com community.

What Are Partnerships?

What in the world do I mean by partnerships, anyway?

Well, if you know where to look, they are everywhere. Huge corporations enter into partnership all the time: even companies that boast about doing everything in-house!


For example, Apple has entered into two well-publicized partnerships recently, one with IBM in 2014 and another one with Deloitte in 2016. Why did Apple do this? One reason is that Apple needs to make a push in the enterprise market and IBM/Deloitte are happy to get more consulting revenue. It’s a win-win for all parties.

Other types of partnerships are harder to spot, but they power a lot of the things that we buy. If you’ve ever bought Kirkland-branded products from Costco, Amazon Basics from Amazon or practically anything from Trader Joe’s, then you’ve seen white labeling in action. White labeling is another kind of partnership, one in which one company takes another company’s product and re-purposes it under its brand. Believe it or not, this is also available to you as a developer. You can learn more about white label partnerships later on in this article.

Keep in mind that you don’t need to be a Fortune 500 company like Apple to pursue a partnership. If you’ve ever read an article or bought a book on raywenderlich.com, or if you’ve ever attended the annual RWDevCon tutorial conference, you’ve already experienced the result of a successful partnership.

3 Types of Partnerships

The word “partnership” can mean many things to many people. Legal definitions aside, you can think of a partnership as two or more parties agreeing to work together on something.

That sounds very general, and it is. Specifically, in this article you’ll read about three types of partnerships of great use to software developers:

  1. Referrals: Imagine two different developers with different skills referring each other for work.
  2. White-labeling: Imagine subcontracting work to another developer.
  3. Joint-ventures: Imagine teaming up with another developer to build something together.

Let’s explore each of these in more detail.



If you’re a talented software developer with industry experience, you are probably familiar with inbound emails and LinkedIn requests from tech recruiters. Maybe a bit too familiar :]

If you decline the recruiter’s offer to talk or interview, some of them will follow-up and say something such as: “if you can refer another developer to this position I can offer $money_amount.”

What’s going on here? The recruiter is offering you a referral fee for a successful placement. Tech recruiters aside, referrals are the simplest, least-involved, types of partnership available to you.

Here are some ideas for finding potential referral partners. These are all common arrangements in our industry:

  1. Big small. Some larger software development agencies, due to their cost structure or revenue goals, can’t take on projects under some threshold of revenue. Rather than turning business away, they will often refer out smaller projects to smaller agencies that can take them on. The bigger agency gets a referral fee and the smaller agency gets a new client.
 The client is also happy because they get good folks to work on their project.
  2. Closing agencies. A software agency decides to wind down operations. Closing up shop can happen for a variety of personal or business reasons, and it happens all the time. The soon-to-close agency will continue getting inbound client inquiries for some time. Instead of turning the projects away, they can refer them out to another agency or consultant and get referral fee.
  3. Different skillsets. Clients engage you because you have a set of skills they need, like mobile development. Some clients, however, will also need to complete projects in adjacent areas of expertise, like branding, marketing, or web development. If you don’t already offer those services, you can refer your client to a trusted consultant or company and get a referral fee in return. Another option is white-labeling, which we’ll cover in the next section.

Those were just three simple examples of service providers entering into referral agreements with each other. As a software developer or software agency, you can either be the referring party or the person getting the referral.

Note: In my experience, some folks feel bad about receiving referral fees for recommending someone else. Don’t! Finding a good service provider (for everything ranging from software development to replacing your HVAC) is difficult and time-consuming.

On top of that, choosing the wrong service provider can be very costly. If you have a good eye for talent, and can recommend someone who is head-and-shoulders above the competition, the client will get ten times the value of your referral fee.

Getting Started

Let’s say you want to enter into a referral agreement with someone else. What should you do next?

First, get some legal advice about drafting your referral agreement. There are some templates on the web, and you can use them as a starting point, but it’s always good to get professional advice for your particular situation.

In the end, the terms of any referral agreement will depend on both parties entering the agreement, but it doesn’t hurt to have a baseline set of terms. To give you a ballpark, my software agency Sweetpea Mobile has a standard referral agreement that offers 10% of a new client’s first-year revenue and 5% on top of that if your help close the deal. I’ve found this to be fairly standard for services.

We also asked the members of the raywenderlich.com community to share their experiences setting up successful referral agreements. Here’s what they had to say:

“Our most successful referral agreement is one that we have with our developers in which, we will provide a 5% referral payment on the top-line revenue generated on the project.

We have also setup a few different referral models with staffing agencies, design firms or other development agencies for referring us projects. Some of these follow the percentage of revenue model, others allow agencies to mark up and white label our services, while others are negotiated revenue splits on individual deals that we partner on.

We have found that these referral agreements tend to generate strong trust and long term partnerships that are a win-win for both parties as well as our clients. We welcome new referral agreements with open arms!”

– Jeremy Stroud, Partner at FivePack Creative

“If I’m at my capacity for projects, I’m up front with the client and tell them so. I then tell them I can refer a team or individual, that I have worked with. I ask the individual or team for 10%-15% of the contracted project rate. I only refer to individuals or teams who I know and trust, so I have not created a formal agreement. It has always worked out.”

– Rick Richard, Founder of Groove Development

Sharing a percentage of the project’s revenue is standard, but you can also get creative with your referrals:

“My friends and I have referred each other many times for contracts. Our rule is if you get a gig from a referral you owe the referees a bottle of their choice. Where the cost of the bottles average $500.”

– Joey Jarosz, CTO & President of hot-n-GUI, Inc

Referrals vs. Affiliates

Note that referrals usually work best if you sell a service, like software development or graphic design. If you’ve developed a product, like an app or a book then you’ll want to look into developing an affiliate program instead.

The way affiliate programs work is you give your affiliates a special link to your product, and they promote your product using that link. If someone buys a copy of your product through their link, they get a cut of the profits (usually ranging from 10%-30%).

For example, amazon.com has a very popular affiliate program; anyone can sign up and promote amazon.com products, and receive a 10% cut if someone buys through their link. These are usually considered a win-win, as it’s a sale you as a product seller wouldn’t have gotten otherwise.



The next type of commonly-used partnerships for software development is white-labeling. Earlier, I mentioned three physical product white-labeling examples: Costo’s Kirkland brand, Amazon Basics products, and Trader Joe’s products. You probably don’t sell breakfast cereal or low-cost AA batteries so you may be wondering about these things:

  • How can white-labeling apply to services?
  • How is white-labeling different from subcontracting?

Good questions! Unlike referrals, white-labeling agreements are less straightforward and require more discussion between you and your partner. You can use software development terms to think about white-labeling in this way:

  • The interface: One partner is the client-facing “interface”. Their client needs several problems solved (e.g. mobile development, a back-end API, a new website, and branding and logo). The first partner can take care of some but not all of these problems, either because they lack the capabilities or simply because they lack the bandwidth to take on all the work.

  • The implementation: The second partner can take care of the problems that the first partner cannot. In a way, the second partner is the “implementation detail” behind the first partner’s “interface”. The second partner either has the expertise or capacity that the first one doesn’t. Problem solved!

What makes this arrangement from subcontracting is that both parties are usually companies that have their separate set of clients and their separate set of offerings. For a software developer, sub-contracting is closer to having a full-time job. Subcontracting usually refers to one person (the contractor) working on a project on behalf of a company.

What is the benefit?

“Wait a minute…”, you may be wondering. “Why wouldn’t the client work directly with both parties? They can probably save some money that way!”

True, and a more hands-on client will want to do that.

However, white-labeling brings a big benefit to the client in terms of project management. If a client intends to work with all parties directly, she’s agreeing to being a project manager of sorts. The client now has to coordinate the work between both service providers and make sure they are collaborating appropriately. A lot of clients simply don’t have the time, experience or patience to be running a software project.

Running a software agency is a lot like being a general contractor, the kind that builds houses and buildings. There are probably more disciplines involved in the construction of a building than there are in a software project. General contractors have to white-label a lot of these experts because most clients don’t want to deal with the architect, the electrician or the guy that puts in your drywall directly. They just want a house!



The next category of partnerships you should consider is a joint venture. A joint venture can mean many things, and it has the least structure from all the types of partnerships in this article.

The way I define a joint venture is simple: it’s just two parties saying “let’s build something together!”

What are some things that you can build with a partner? You can let your imagination run wild with this one, but here are some common examples:

  • Let’s create an app together!
  • Let’s create a consulting service together!
  • Let’s write a book together!
  • Let’s organize a conference together!
  • Let’s start a company together!

An Example


For example, consider the yearly raywenderlich.com conference RWDevCon.

How did conference come about, and how is it a joint-venture? Wasn’t it the result of Ray Wenderlich running around and setting everything up himself? Surprisingly, no.

RWDevCon is the result of a partnership between Razeware LLC (Ray’s company) and John Wilker, the organizer of the popular and long-running 360iDev conference in Denver, Colorado. Ray knew John Wilker from his speaking engagement and from attending the conferences he organizes, 360iDev and AltConf.

The partnership worked out like this:

  • Razeware handles content. Every speaker, tutorial and inspiration talk at the conference would be prepared and be delivered by the raywenderlich.com Tutorial Team.
  • John Wilker handles the logistics. Finding and negotiating a good rate the venue, organizing swag, manning the registration desk, etc.

Notice that both Razeware and John Wilker focused on what they knew best. Razeware had years of experience creating top-notch quality for developers, the kind of stuff you can’t find anywhere else for free. John Wilker had years of experience running developer conferences, so he knew what to do and what not to do.

But what did each get out of the RWDevCon joint-venture? Ray expanded his Razeware brand with a one-of-a-kind developer conference that gets better every year. John Wilker received a fixed fee for his help and the chance to spread the word about 360iDev to his target audience. A win-win for both parties.

Note: Speaking of RWDevCon, Ray gave a talk about teamwork at the conference that you might enjoy. In the talk, Ray argues that by teaming up with others, you can accomplish far more than you can on your own. You can check out the talk (and transcript) here.

Joint Venture Advice

If you’re thinking of going into a joint-venture with someone else, there are a few things you should talk about with your potential partner. Before starting any work together you should sit down and agree on terms the terms of your joint-venture and get an attorney to draft an agreement that you can both sign.

This is not a comprehensive list of things you should talk about, but it is a good starting point:

  1. What is the initial term of your joint venture? When will it start and how long will it last?
  2. What are your mutual responsibilities? In the case of a co-created product, who will promote it and how will you present it on each other’s websites and marketing materials?
  3. How will each of you be compensated for your efforts? For a co-created product like a book or a productized service product, some things that you will want to consider are: (i) referrals, if any (ii) how will costs be distributed and reimbursed, (iii) how is the revenue going to be split up?

Filling Out the “About Us” Page


So far you’ve learned about three different types of partnerships: referral agreements, white-labeling agreements, and joint ventures. There is one more category that you should consider, and it is probably the most important and time-consuming of all: finding partners.

For instance, if you’re a software developer starting a software agency by yourself, one of the first challenges you’ll face is the blank “About Us” page on your website staring back at you. If you’re starting out by yourself, the only person you can list on that page is yourself.

A one-man “About” page is okay for a single consultant’s website, but not necessarily for a software agency’s. A one-man band will have a hard time competing with companies made up of multiple partners. Just from a marketing and branding perspective, who do you think a prospective client is going to call first?

If you’re going to have an “About Us” page at all, you should have at least 2 or 3 people listed on there. Ideally, they should come from diverse backgrounds, like engineering, design, UX, business development.

Partners by commitment level

“Wait a minute,” you might say, “I don’t have any employees or co-owners! How can I list anyone else?” Good question, read ahead :]

Take a minute and check out the About Us page of this website. At my current count, there over a hundred people listed on that page. Are we all full-time members of Razeware? There are a few folks that are full-time, yes, but the majority of us are not.

So how can you find partners to list on your company website? First, you should know that the word “partner” doesn’t have a solid definition. Like romance, the relationship can be as formal or informal as you both like.

Here are some possibilities for the types of partners you can have, ranging from less formal to more formal arrangements. Note that these are all examples that apply directly to service providers, not necessarily to product companies.

To make it more fun, the three different options are labeled “dating”, “engaged”, and “married” :]


  • Dating: Do you work with other contractors on project work on an ongoing basis? If there are one or two contractors that you prefer over others, you’re already halfway there. Why don’t you formalize your relationship more by listing them on your website? You can go on their website if they have one as well. You can also talk to them about setting up a referral agreement as discussed previously in this article.

  • Engaged: Let’s say you jive well with a particular designer or business analyst. On top of simple referrals and the promise to work together, you can enter into a profit-sharing agreement on a per-project basis. For example, after all costs have been paid out, both of you agree to split the rest. If you’re thinking of going this route, you should have a legal agreement set up in advance, usually in the form of a Memorandum of Understanding (MOU). Talk to your lawyer to flesh out the details.
  • Married: Maybe you’ve realized that there’s someone in your life that you and your business can’t live without. Maybe you’re thinking of renting some office space out in the suburbs and starting a team together. Simply working on projects together or owning projects together is not enough anymore. You want to go the full nine yards.

    The next step for your and your partner is to make it legal. You need to set up an arrangement where you both own equity in a shared company. There are many ways to set this up, but what usually ends up happening is that you either create a new legal entity (usually an LLC) or merge two existing legal entities into one. From the outside, it can even look like an acquisition.

As you can see, these are only some options that you can choose from when you want to formalize your partnership with someone else. If you’re thinking about it from an angle of full-time employees or part-owners, you’re missing a whole range of possibilities for partnering up.

Okay, I see the benefits. How can I partner up?

If you’ve read this far and agree that setting up partnerships can take you and your business to the next level, the next question is…how do you go about finding your ideal partners? There are two separate steps that I go through.

Step 1: Look inwards

The first thing you should do before you start talking with potential partners is to take some time to do some introspection. Look inwards first. It’s important that you answer these questions about yourself:

  1. What skills do you have?
  2. What services do you provide?
  3. Who is your target audience?
  4. What is your strategic advantage over your competitors?
  5. What makes you different in the market? Why do people choose you?

These questions help you take inventory of what you can bring to the table in a potential partnership. This is what you’re good at and why people want to work with you.

Note: If you have trouble coming up with answers to these questions, search through your email and look at the emails you received from recruiters. You didn’t get those emails by accident. There was something about your experience and background that stood out to them. What was that?

The first set of questions focuses on what you can bring to the table. There’s a second list of questions that you should also answer. These focus not on what you currently have to offer, but rather on what you need to grow as a consultant or a business:

  1. What related skills don’t you have?
  2. What related services don’t you currently offer?
  3. What are the weaknesses in your strategic advantages? Complete this sentence: [Your Name / Your Business Name] is great at [Strategic Advantage], but…
  4. What makes you a commodity in the marketplace? Think of the clients that decided not to work with you, why did they do that?

The second set of questions focuses on the things that you don’t have that you would be looking for in a potential partner.

Step 2: Look outwards

Now you have a list of things that you can bring to the table and a list of things that are potentially holding you back. When you’re assessing a partner, you should also try to take inventory of what they’re good at and what they need. The best partnerships come from situations where both partners can strengthen or augment each other’s offerings.

An Example

Finding the right partner takes a long time! To give you encouragement along the process, Kyle Richter, CEO of MartianCraft shares some of the lessons he’s learned when it comes to finding and working with different partners over the span of his career:

“The partners that work best, at least in my experience, are the ones you know well enough to want to work with but not so well as their is an existing relationship that needs to be worked around. First its important to figure out what you are bringing to the table, technical expertise, leadership, vision, financing, marketing and sales, or something else.

Additionally you need to figure out what skills you are lacking and look for someone who can compliment them. I often see two very technically minded people partner up and butt heads over best coding practices while having absolutely no idea how to deal with money or marketing. A good partner should fill in the gaps.

Making sure you partner with people who have the same values and goals is also vital. If you partner wants to build something quick to sell it and you want to build something you can pass on to your kids you are going to have a rough time working together. Likewise if you believe in building the best possible product with the best people and they believe in hiring quick and cheap to maximize profit or growth it will be hard to grow together. Before entering into any agreement with a partner make sure to talk about what each persons objectives are. Its better to be honest here and bail then to find yourself entangled a year down the road arguing about what path to take.”

Where To Go From Here?

If you’ve read this article all the way through, then you’re either in the process of striking out on your own or are interested in doing so. You probably also come from a technical background, and some of these business concepts may be new to you.

Take a second and think back to the time when you were first learning how to code. Think of that first “Hello World” or the first time you compiled a program or printed something out to the console.

For me, that marked the moment when I started to see computers differently. Suddenly I knew that I could do make computers do practically anything I wanted instead of being limited to the things you can do with pre-packaged software. What a rush of adrenaline. The possibilities were endless! They still are.

If business development is new for you, I hope this article gives you a small glimpse into the world of possibilities of partnering up with different people and companies. If, like me, you’ve mostly worked for companies for most of your career, you may have a tendency to think that there are only a few types of arrangements to choose from: full-time, part-time, freelance etc.

However, in business development as in software development, you are only limited by your imagination. I hope you go out there and build something great :]




More like this