Now that I’ve worked as a freelance web developer and as a web developer working for a small company that does a variety of Internet consulting and I.T. related work I have some thoughts on choosing one over the other. In my opinion, you are better off hiring a freelance web developer rather than giving your project to a firm. It does not matter how large or small the web development firm is, there will be serious disadvantages in having your project done by any firm that handles multiple projects.
For one thing, a web development firm is unlikely to spend much time on search engine optimization. They may offer SEO as a service but they are probably more interested in getting projects completed than they are in seriously helping a company rank well in the search engines. In order to get your web developer really involved in your search engine optimization efforts, you need a more intimate relationship with the developer who has to have some dedication to your project. Without this business relationship you are just going to get token efforts and a lot of reports that make it look like some SEO work is being done. SEO requires various technical skills and should not be treated as a purely marketing matter without any web developer involvement.
Another thing that firms tend to neglect is web application security. A web development firm is unlikely to want to spend the time to protect your web site from SQL injection attacks. Encrypting sensitive data to prevent embarrassing data thefts is also an extra step that a firm is unlikely to take. However, when you hire a freelance web developer that person will be free to dedicate more of his time to your project and therefore he can put in the extra effort to make the web application secure. This is particularly important for custom web applications that don’t have the built-in security of open source or commercial web applications.
In my experience, both search engine optimization and web application security are rather involved matters that require specialized knowledge which the typical web developer is unlikely to delve into. Developers tend to be isolated from the marketing concerns vital to search engine optimization. And developers are not inclined to build in web application security because they are more focused on functionality and opening up permissions to get their web applications running. Management is focused on getting projects done in a timely manner which means no extra effort will be made to promote your business or secure your data.