How to play Tiny Dancer by Elton John..
What do these 3 things have in common?
They’re things that I’ve always wanted to learn but haven’t gotten around to yet.
Two of them, I’ll eventually learn, but one of them I don’t plan on ever learning.
I never plan on learning how to code.
There’s just no need because I know how to effectively outsource software projects to people who are already amazing coders.
I’ve been able to delegate multiple software products that have grossed over $1,000,000 in sales revenue for me even though I can barely spell HTML.
This article is going to explain why most people should always outsource their software (even if they can code). I’ll also share my 5 biggest tips for getting your software launched effectively and efficiently.
Why You Should Outsource Software Creation
My first software (an iOS app) was a total flop. Calling it a “flop” is actually being pretty generous because it infers I launched it.
Instead of hiring someone to make my idea a reality, I went and purchased the 3 biggest books on Objective-C (the language used in iOS apps) that they had at Barnes and Noble.
I got about 40 pages into the first one and realized that this was just not the best use of my time. It was interesting but it started to feel like learning how to perform an appendectomy.
I could learn, but why?
Even if I learned the bare minimum to get by, it would take a total refocusing of my business and life to really get excellent at it.
I had a lot of other things I was already good at and I couldn’t afford to change my path.
Oh, and I really just didn’t want to that badly. To put in the time and effort required to master a coding language, you need to have drive and commitment for the topic and I just didn’t.
So that first idea just dissolved and I moved on.
A couple of years later, I had another idea for a software. This time, I took a much different approach. I hired a developer from Romania to work on it. I paid him $200 and he made a cool little Google Chrome extension that would go on to make me $10,000.
My next software was another Chrome extension. I outsourced it as well but I partnered with a friend who was experienced with extensions and gave him a 50/50 cut of the earnings. That software has easily covered my bills for several years now.
Outsourcing is just better for a number of reasons.
#1 Time is Money
Do you have the ability to dedicate 1-2 hours per day for months or years just to become "ok" at coding and developing? If you do, go for it! Most of us don't. Also, hiring a developer doesn't have to be that expensive since languages are relatively universal and you can easily hire overseas and lower rates.
#2 Actual Experts Are Everywhere
When you hire a developer, they are totally immersed in developing. It's hard to be the developer AND the innovator AND the support person AND the sales person AND all the other necessary roles needed to run and sell a successful software or app.
#3 Work Doesn't Stop
It's rare to develop a software that you can "set it and forget it." Having someone else build the software makes it easier to have them fix it when issues arise or add future improvements while you focus on other tasks.
#4 One Language Won't Cut It
Even if you become proficient in one coding language, larger projects typically require multiple types of developers. Multiple languages, different skill sets for design and various specialized functionalities. It's very rare to find someone who makes a software that is moderately robust that did it entirely on their own. Even more rare if it's any good.
Tips for Successful Software Outsourcing
Ok, those are the big reasons why outsourcing software is such a smart decision for most people. Let’s get into the 5 software outsourcing principles that will make your project easier and more likely to succeed.
#1 Use a Wireframe Software
This is as close to learning how to code as you’ll need to get. A wireframe software is basically a visual editor that allows you to create simple mock ups of how you want your software or app to look and function.
The software I recommend is called Balsamiq (check it out at Balsamiq.com). It’s easy to use and affordable. They also offer a lot of free training resources on wire framing so you can get up to speed quickly.
They have a desktop and web-based options as well as a free trial.
Wireframing will let you share your vision while letting the experts bring it to life and polish the final design.
#2 Keep Your Team
Working with the same team has many perks…
- They will know what you and your business is about.
- They will care more because a successful launch means more future work!
- They will know what you expect from them from a quality standpoint.
- You won’t have to spend additional time filtering pages of developers.
- You can have one core group check the health of multiple existing software at once.
- You won’t be blindsided by unexpected costs more than once (typically).
Understanding that there is a huge cost to finding quality developers will make you appreciate good ones when you find them.
So, what will you pay?
I know you are wondering…
My answer isn’t specific so I’m sorry…
The answer to how much you will spend: it is relative to the work, who you hire, where they’re from and what experience they have. From a “simple software” standpoint, I recommend you outsource to the most capable developers overseas, within your budget.
For me, my most successful products have been very “affordable,” relatively speaking. Typically costing no more than $1,000.
#3 Avoid US Rates
This may be unpopular but I have to keep it real with you guys. US developers charge a premium for their work and aren’t any better than overseas developers.
The only real benefit is time zone convenience and less of a language barrier (although I’ve never had an issue with that).
In 2015, the number one job sent overseas was, you guessed it, computer programing and software development! Estimated lost wages were to the tune of $14.4 billion dollars.
There is a reason for this. US developers simply don’t bring much more to the table than their overseas competitors.
As unpatriotic as it sounds, paying a premium to have a developer from the US design your product is not efficient. I find with quality instructions, the work you get from somewhere like the Ukraine is just as good and a fraction of the price.
However, just because I don’t want you to overspend doesn’t mean I want you to go cheap!
If you pay peanuts, you get monkeys. – Chinese Proverb
So please, balance quality with affordability relative to the scope of your projects and your predictions for profitability. As you get better at this, you may be fine with overpaying a US developer just for the convenience because you know that your project will earn you exponentially more than this extra cost.
#4 Work Examples are Key
Work examples will help you get a good idea of how much your own project will cost.
Some sites allow developers to showcase their portfolios of past projects.
Using the past job samples as a starting point of reference, you can decide if a developer fits your criteria or not. This is an amazing short cut to see who has previous experience with your type of project.
When reaching out to your potential developers, reference the similar software in your contact.
Example: “I saw the work you did in (time) for the (project). My project is similar in that (list similarities). If you think this is a project you can complete for a similar price, please respond and we can discuss more over Skype.”
#5 Hire Slow and Fire Fast
It’s never ideal to fire someone, but there are two things that make it less of a burden.
First, spend more time assessing candidates. If you jump to hire the first ones you find, you are at a heightened risk of potentially firing them.
Just as with marriage, popping the question before you really get to know the person usually results in disaster.
Second, don’t let bad employees hang around. It isn’t fair to you, them or your customers.
Hopefully you have done a good enough job with the first part (hiring slowly) that you don’t need to fire someone for performance, but you may need to if they commit any of the following mortal sins…
Reasons to fire a developer include…
- Your developer becomes despondent and doesn’t respond to questions and comments as promptly as you stated would be necessary in your job posting/interview.
- Your developer lies about time worked (or in any way deceives you regarding money).
- Your developer cuts corners or otherwise blatantly ignores instructions to save time.
- Your developer shares confidential information.
So if any of the above are an issue early on, you are likely best to cut ties with your new hire and move on. Letting these things drag on doesn’t make anything better.