How to Hire Product Developers Without Spending a Fortune
In this article you will learn how to hire developers to design your product while minimizing your financial risk.
There are of course many factors to consider when hiring product developers, but ultimately hiring developers comes down to experience, cost, location and trust.
I’ve had previous clients with horror stories about their attempts to get their product developed. One client spent thousands of dollars to get the electronics for his product designed. Once he got the prototype, he realized that a new design hadn’t even been done.
Instead, the “engineer” had simply taken an existing PCB with similar functions and put a sticker over the original brand name to make it appear as if it was his custom design.
Most developers are good, honest people. However, it is quite common for freelancers to overcommit and/or overpromise what they can do, how fast they can do it, and how much it will cost.
The lesson learned is that any time you hire an unknown developer, regardless of their location or experience, you should always review their work closely.
This will drastically reduce the likelihood of having design mistakes, going drastically over budget, or just being taken advantage of because they know you lack the technical knowledge to judge their work.
But, wait. You’ve probably hired someone to develop your product because you don’t have the skills to do it yourself. So how are you supposed to review their work?
The best solution is to hire two completely independent engineers. One engineer to do the actual design, and the other to review the first engineer’s work.
I’ve written a lot in the past about why you should always get independent design reviews. That advice holds true regardless of who you hire, but it becomes more important when hiring an unknown freelance developer.
Find developers with the right experience
It is essential that you find a developer with experience designing products that are very similar to your own. It doesn’t matter if they have 20 years designing products if all of their experience is designing products that share very little in common with your product.
Always remember that engineering is a huge field of study, and no engineer will ever be the best in all areas. Just as with medicine, engineering is highly specialized.
For example, even most electrical engineers know very little about developing a consumer electronic product. This is especially true with engineers fresh out of university.
In college, engineers mostly learn how to analyze existing designs, with little emphasis on developing new designs. Becoming proficient in new product development usually takes several more years of actual work experience.
This is why it’s essential to hire the developer with the most experience developing designs like your own.
For example, if your product features wireless communication capabilities you want to hire an engineer with RF (radio-frequency) design experience. For such a product, it would just be silly to hire an engineer with experience developing kitchen appliances or industrial equipment.
When I was a design engineer for Texas Instruments, about half of the engineers I worked with were from other countries. This was because big tech companies know that to hire the best people you need to expand your search to a global scale.
Between Texas Instruments and Predictable Designs I’ve had the opportunity to work with some of the brightest people in the world.
Many were from the U.S., but many were from other places including India, China, Russia, the United Kingdom, Germany, Mexico, Malaysia, Canada and many other countries.
If you do a search for developers on freelancer websites like Upwork.com or Guru.com you’ll see that engineers in the U.S. charge anywhere from $50 to $200 per hour. However, if you search for engineers in most other countries you’ll see the rates are only $5 to $30 per hour.
That’s a huge difference with U.S. engineers charging 5-10 times as much per hour. Regardless of their location, just keep in mind you probably don’t want to hire the absolute cheapest developer.
Contrary to the thoughts of many entrepreneurs, there is no reason to limit yourself to hiring only local developers.
It’s much more important to find engineers with the ideal skill sets regardless of location. Unless you live in Silicon Valley, you will struggle to find good engineers locally.
One major downside with hiring someone on the other side of the planet is the time difference.
For example, if you are located in the U.S. and you hire someone in Asia there will be a huge time difference. But if you’re located in Europe or Australia the time difference with an engineer in Asia will be minimal.
If you’re in the U.S. then you could hire lower cost developers in Mexico, Central America, or South America to minimize the time difference. But I’ve found there are usually more choices for developers in Asia. Experience trumps location and convenience every time.
A big time difference may make any type of instant communication difficult, especially when working with developers in a time zone close to 12 hours different than your own.
In that case, you will find there is very little overlap when both of you are working. You will likely be doing a lot of communicating late at night.
But, if you have a full-time day job you may find this time difference beneficial. When I had a normal job while working on my own product on the side, I found it very convenient to be able to communicate at night when it was typically morning time in Asia.
Many times you may ask a question, but not get a reply until the next day. This adds extra development time. But remember, there usually is a price to pay to get good engineers at a low price.
If you do hire an offshore developer to do the actual design work, then I suggest that you also hire a domestic developer to help guide you and to review their designs before you make final payment.
Of course, I think the best way to get this expert guidance is by joining my Hardware Academy platform.
How to pay
The majority of freelancers charge on an hourly basis. But it’s in your best interest to pay a fixed price for the project when possible. Considering that most projects always take longer than forecasted, paying a fixed price will likely save you money.
Most importantly, paying a fixed price limits your financial risk. Nothing is more frustrating or stressful than having your project cost twice as much as forecasted which happens all of the time.
However, usually only more experienced developers, which have been doing freelance design work for a while, will agree to a fixed price.
Otherwise they don’t have the necessary experience to be able to estimate the project time accurately enough to feel comfortable offering you a fixed price, since they take on most of the financial risk.
Create Milestones with Regular Reviews
The absolute best way for you to setup payment is by paying a fixed price on a per milestone basis. Instead of some random payment structure, set up payments based upon the completion of each milestone.
For example, for the electronics, you could split up the project into these milestones which have clearly defined deliverables:
- Create block diagram
- Select critical components
- Design the schematic circuit diagram
- Generate the Bill of Materials (BOM)
- Design the Printed Circuit Board (PCB) layout
- Order the prototypes
- Program the firmware, if necessary
- Testing and debug
- Deliver working prototypes
But how are you going to know that each of these milestones has actually been completed correctly? The key to using this payment strategy correctly is to be absolutely sure each milestone is correct before making payment and proceeding to the next milestone.
Don’t rush through this process. To do this correctly you really need to have another independent developer evaluate the work of your primary developer.
Paying on a milestone basis is really the safest and best method of payment for both you and the developer. By breaking up the project into several milestones it also lowers the risk of non-payment for the freelancer.
A milestone payment strategy works whether you pay hourly or a fixed price.
One final note in regards to payment is the use of an escrow account. An escrow is an intermediate account for making payment.
At the beginning of each milestone you will fund the escrow with the agreed upon amount for that milestone. This gives the freelancer the confidence to proceed knowing that the money has already been put aside.
Upon completion of the milestone you release the funds in the escrow account to the freelancer. Although there are stand-alone escrow services I typically have used the escrow services offered by the big freelancer websites such as Upwork.com.
Interviewing potential developers
Although a freelancer won’t be your employee you should still act like you are hiring a long-term employee. Switching engineers in the middle of a project, although extremely common, will be a major delay for your project.
So take the time to ask lots of questions. Be sure you hire the best developers that will stick with you in the long-term. By asking the right questions you can also simplify any possible future transition to a new engineer.
Questions to ask potential developers:
What types of products have they developed in the past?
Can they do the entire electronics design process? This includes the schematic, PCB layout, prototyping, programming, and testing.
Your project will generally flow much smoother if all of the electronics development is done in one place. For example, having the electronics hardware designed in Russia, and the firmware developed in India will create tons of unnecessary complications.
Do they have access to the equipment or people necessary for making modifications to the PCB? This includes the ability to swap out leadless integrated circuits (ICs) which requires more than just a simple soldering iron.
Have any of their past designs made it to market or at least to mass manufacturing?
How long have they been in business? Many engineers do freelance work temporarily between full-time jobs. You want to avoid this type of freelancer for anything except the smallest jobs.
You need developers that will be committed to developing your product from start to finish.
How are their language skills? You need to be confident that your engineer can communicate accurately when discussing technical topics with lots of details. Writing proficiency will be most important since most of your communication will be through email.
Where are they located?
Proof-of-Concept (POC) or manufacturable prototype
What type of product are you looking to develop? There are two broad types of prototype: a proof-of-concept (POC) prototype and a manufacturable prototype.
For electronic products, one the defining differences between these two prototypes is the design of a custom PCB. A POC prototype uses off-the-shelf development kits and modules to create a prototype that demonstrates a product’s functionality.
A POC is easier and cheaper to create, but unfortunately it’s usually not feasible to bring a POC prototype to market.
This is primarily because of the higher cost, but also because POC prototypes are just too physically large for most commercial products. This is because development kits and modules are usually much larger than a custom PCB design.
The type of developer who will help you create a POC prototype will many times be different from a developer that creates a manufacturable version of your product.
A POC prototype is commonly more in the domain of makers and engineering students. Whereas, a manufacturable prototype is the domain of product design engineers. Just be clear and define upfront which type of prototype you need.
Transitioning between developers
Unfortunately, there’s a pretty good chance that the engineer you hire to begin your product design won’t be the same engineer to finish it.
As I’ve already mentioned, one downside to hiring freelance developers is they may all of the sudden not be able to proceed with your project.
Perhaps they got a new full time job and can no longer do freelance work. So you need to plan how to best simplify any transitions to new developers.
One of the biggest challenges with switching engineers is switching software, especially for the electronics design. There are dozens of software programs available for designing electronics.
Unfortunately, few of them are compatible, making it very challenging to change design software while a product is in active development.
It would be nice if there was one, dominant software choice. But there really is no Microsoft Word equivalent for electronics design software. There are however a few design programs that have more widespread use.
Probably the most common choices are Altium and Eagle. Although there are other programs that I like better, these are two of the most common ones. So having your design done in one of these two programs will make it much easier to find a new engineer to finish up the design if that becomes necessary in the future.
Also, having your engineers formerly document their progress and decisions can help any new engineers catch up quickly.
As a product creator today, you are really fortunate to have access to a global freelancer marketplace. You now have access to amazing developers around the globe. So remember, don’t limit yourself to hiring only local developers.
One major benefit of having access to developers around the globe is that it allows you to drastically reduce your development costs. This is because developers in many countries charge 5-10 times less than developers in westernized countries.
Regardless of who you hire to develop your product you have to be careful to ensure you hire the right developers, and that you don’t get ripped off.
The best way to accomplish this goal is by also hiring other more experienced developers that you already trust to provide independent oversight and guidance.
Other content you may like:
- Hiring an Electrical Engineer to Develop Your New Electronic Hardware Product
- Episode #17 – 6 Strategies to Get Your Product Developed
- How Much Does a Prototype Cost?
- How long does it take to develop a new product and get it to market?
- 7 Strategies to Develop Your New Product