Generally speaking, there are 2 types of outsourced web development. First is outsourcing to a foreign country, which includes those that are completely in another country and those where the developers are located elsewhere but there may be a few sales people here in the US. Second is outsourcing to a fully US based company. The first type of outsourcing should not be considered at all, I'll explain in more detail in a future blog post. But the second type of outsourcing, where you outsource to a US based company, is highly preferred over hiring your own developers. Let's explore the reasons in detail. Before we begin the discussion, it is important to understand the current state of the web development industry. Web developers are in extremely high demand right now. So much so that there is virtually 0% unemployment among web developers, application programmers, and related individuals. Apple, Google, Microsoft, Amazon, and other large tech companies are hiring web developers at unprecedented rates. They are recruiting college kids directly from the campus, basically sucking up all of the talent in the country. On top of that, here in the US we have a lack of investment in math and science education, and are currently graduating very few Computer Science majors when compared to other countries like India and China. So if you're looking to hire your own web developers, you are going to be competing against companies like Google and Apple (and thousands more) for talent. A lot of these companies have alternate work environments, arcades, movie theaters, giant fish tanks, indoor golf courses, paid meals, and the list goes on and on. You will need to pay very high salaries to get someone above average. If you find a web developer, you'll need to find a way to manage them. Most web developers need direction and guidance. The problem is that there are just too many ways to build websites and web applications. There are too many different platforms, too many 3rd party tools, too many types of servers and hosting, too many security issues, too many web browsers and mobile devices, etc. You need a manager, someone who can sift through all of the needs of the business and figure out the best way to architect the applications. The manager is also tasked with making sure the developer stays focused and motivated. Many web developers get bored if they are working on the same application or website for a long time. Let's say you've forged ahead, hired a web developer and you have someone to manage them and provide guidance. It's a year down the road and you have a business application that has now become critical to your company. Everything is going great, and then the developer comes into work one day and gives a resignation notice. Panic sets in. You now need to start looking for a replacement, and you probably won't be able to find somebody good and get them hired within 2 weeks. There's a lot of knowledge stuck in your developer's head, and you need to use these last days trying to extract that information and get it documented or otherwise transferred to someone else. Then when the replacement starts, you need invest the time to train them and get them up to speed on your critical application. Your new developer doesn't like the way your old developer did things, and so s/he starts changing around the code and implementing things differently. The plan is to eventually migrate the entire application to a new architecture that your new developer has constructed. But other priorities keep coming up and the application never fully gets converted. Then one day the inevitable happens and your new developer presents you with a resignation letter. If you do find yet another developer to replace the one that just left, they now have the difficult job of navigating through your application and trying to decipher the code that is now half rewritten. This proves difficult, and so they just continue to maintain the code as is while adding new functionality to support your business. Some new technologies have come out recently, and so the developer is implementing the new functionality using yet an even newer architecture. Not to mention the fact that you now need a mobile app, and your developer has no experience developing mobile apps. So now you need to hire a mobile app developer. Mobile app developers are in even higher demand than normal application/web developers. If you're serious about running your company on solid custom applications, then the above scenario should be something to avoid. You need to invest in your business and its growth and your employees and getting involved in the details of application development is just too daunting, expensive, and futile. It's just not something that you'll ever catch up on. Technology keeps changing, computers keep changing, and it's incredibly difficult to stay current and keep up with all of the competition, while continuing to provide training and growth for your development team. Instead of hiring your own developers, you should outsource to a company that can handle all of the changes in technology for you. After all, your company is not a web development company, so why get into web development? Building web applications is a complex task, and generally requires multiple people of different talents. These days, a typical web development team is made up of a front end developer, a javascript/ux programmer, a back end developer, a database developer, a mobile app developer, a QA team, a graphic designer, and an application architect. You can't get away with a single developer anymore, not if you want to compete and be relevant and impress your customers. Just make sure to outsource to an American company, where quality is high, communication is easy, and motivation is second to none. In fact, if you're reading this, you've already found one!  

Read More
Categories : Outsourcing | Web Development