jueves, 12 de octubre de 2017

How to Hire Low-Cost Product Developers But Get High-Value Results

eferemail
shared this article with you from Inoreader

Are product developers in the U.S. better than those in other countries? The simple answer is no. 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.

This article was originally published on Predictable Designs (a company that helps entrepreneurs and makers develop new electronic hardware products). Download their free cheat sheet 15 Steps to Develop Your New Electronic Hardware Product.

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.

NOTE: This is a long article so here's a free PDF version of it for easy reading.

If you do a search for developers on freelancer websites like Upwork.com (formerly Elance.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.

So why are developers in the United States so much more expensive? I might get some heat for saying this, but it's not because U.S. engineers are necessarily better.

That being said, U.S. engineers do have more opportunities to gain valuable experience working for hardware tech companies, since so many of them are in the U.S..

For instance, being a U.S. based engineer allowed me to more easily get hired by a big tech company (Texas Instruments). This job gave me the opportunity to design products for even bigger tech companies like Apple and Intel.

There are of course many economic factors, but ultimately hiring an engineer comes down to experience and trust.

Lacking trust is something I can understand. I've had clients with horror stories about their attempts to get their product developed cheaply in Asia. 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.

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 in your prototype.

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 a low cost developer outside of your country.

One the best websites for hiring developers around the world is Upwork.com. In most cases you can find engineers with positive reviews which lowers your chance of being scammed. But you should still hire ano ther engineer to review their work.

In fact this is the secret to getting high quality results from low cost developers. With this strategy you get the experience of a high cost engineer but at a much lower price.

Most entrepreneurs are working on a limited budget, so hiring expensive engineers can be a massive financial obstacle. If you're making $20 an hour at your own job, it usually isn't financially practical for you to hire an engineer charging $125 an hour.

For example, you could hire a U.S. engineer at a rate of $125/hr. Let's assume it takes them 200 hours to complete your design. So that's $25,000 total in engineering fees.

But on the other hand you can hire a great developer in India or Russia for maybe only $30/hr. This comes out to only $6,000 total in engineering fees for this hypothetical project.

Now, let's assume you also hire a more experienced, yet more expensive, engineering consultant that you alread y trust to provide design reviews and engineering oversight. This consultant may charge you $125/hr. but they will only be required for maybe 10 hours. So your total engineering fees still only total $7,250, thus saving you $17,750!

Project vs. Hourly Pricing

The majority of freelancers charge on an hourly basis. But it's in your best interest to pay a fixed price for the project. 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.

However, usually only more experienced developers, which have been doing freelance design work for a while, will agree to a f ixed 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.

In fact, whether someone will work on a fixed price basis can sometimes be used as a test to see how long they have been doing this type of development work. A fixed price indicates that the developer feels confident in all of the steps needed to develop your product (or that piece of your product).

For example, when I first started doing freelance engineering I started out charging on an hourly basis. After about several years I realized two things. I hated tracking hours and I could now accurately estimate how long it would take me to complete a design.

So I switched to a fixed pricing strategy. Many other freelancers go through this same evolutionary process.

Milestones with Design Reviews

The absolute best way for you to setup payment is by paying a fixed p rice 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:

  1. Create block diagram
  2. Select critical components (based on performance, cost, size, and availability)
  3. Design the schematic circuit diagram
  4. Generate the Bill of Materials (BOM)
  5. Design the Printed Circuit Board (PCB) layout
  6. Order the prototypes
  7. Program the firmware, if necessary
  8. Testing and debug
  9. 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 p rocess. To do this correctly you really need to have another developer evaluate the work of your primary developer. This is a common service that I provide through my consulting and design review services.

Paying on a milestone basis is really the safest and best method of payment for both you and the freelancer. 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.

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.

Helping you select the best development team is one of the benefits of hiring a product development consultant (yes, like me).

Most electrical engineer s 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.

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 extrem ely 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.

Many electrical engineers are horrible at soldering (myself included) so just be sure they have a reliable method of making modifications and swapping out components.

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 when 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. For most products it will take around 1–2 years to complete development and to setup mass manufacturing.

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 wi ll be most important since most of your communication will be through email.

Where are they located? I have found great engineers with really good English writing skills in India and Russia. In China there is such an emphasis on manufacturing that you may find fewer engineers with the necessary new-product development experience.

Location

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 un til 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.

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 almost impossible to bring a POC prototype to market. This is primarily because of the higher cost, but also many times the larger physical size. Develop ment kits and modules will be much larger than a custom PCB design.

The type of developer who will help you create a POC prototype will likely be very different from a developer to help you create a manufacturable version of your product.

A POC prototype is more in the domain of makers and engineering students. Whereas, a manufacturable prototype is the domain of product design engineers. Just be clear to define upfront which type of prototype you need.

Transitioning Between Developers

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. 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. For example, 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.

Having more th an one engineer familiar with your product is also a good idea. For example, if I'm hired as a higher level consultant on a project, I can help ease any transition to new developers. This is because I'm able to pass along technical knowledge already learned about your product.

Also, having your engineers formerly document their progress and decisions can help any new engineers catch up quickly.

Final Thoughts

As a product developer 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 local developers only.

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.

But 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 another more experienced developer that you already trust to provide independent oversight and consulting. I happen to offer very low cost consulting plans to serve this purpose.

By following this strategy you'll find that hiring two engineers is much cheaper than hiring just one engineer.

Originally published at predictabledesigns.com.


How to Hire Low-Cost Product Developers But Get High-Value Results was originally published in Hackster's Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.

View on the web
Inoreader is a light and fast RSS Reader. Follow us on Twitter and Facebook.

1 comentario:

  1. It is really good article and it will be helpful for a Engineering Students for final year projects to make Embedded Projects Using Matlab

    ResponderEliminar