Knowing that I need high quality standards, security, membership and e-commerce tools?
Also I have a limited budget.
Well someone with ideas. You can easily give the job to a company and get nothing out of the ordinary(Get what you asked ). But try get someone that thinks outside the box. E learning can be a fun innovative aspect or boring and plain. You choose your path. I have worked on a similar software (CBT). Inbox or skype me if you would like to talk. My skype is Earlumar.
I can not say one is better than the other every time, but you are safer with a development company more often than not since they care about their reputation and future relationships way more than an individual.
You can be just as successful with a freelance developer - there are thousands out there. But also, there are thousands who are running after money thus Business objectives and the quality of work are not always their top priorities.
At least businesses try very hard to keep face and reputation and sometimes go the extra mile just for the sake of client satisfaction, a review here and there and possible future relationships.
I run a software development company myself and it is very very costly for us to let a client down - we take the full ownership and deliver on project deliverables/objectives in a professional manner so we can later on reference those projects to drive sales.
Regarding budget - freelance developers aren't always the cheapest and companies aren't always very expensive.
From my own experience, unless you know how much the service costs for developing a software, many freelancers and companies will try to squeeze maximum out of you. Example would be: You want a simple app developed and it costs (for the sake of the argument) $100 to build it. Unless you know about its approximate cost, freelancer may ask you $500 and a company might ask you the same or even more - it doesn't necessarily make the company more expensive. It's just that non-tech people usually don't know this work costs $100 and think companies are overcharging them when freelancer is trying to do the same. But if you know it's going to cost $100 and put your foot down at around $150-$200, you will get a deal with any and/or both of them.
So you need a consultant who knows how much (approximately) what you want costs and can help you filter offers from individuals and companies and can negotiate it.
The content is more important then tool that delivers this content. If your e-learning content sucks then it does not matter how awesome platform that delivers this content. If I were you I would create simple website that allows to download your e-learning content as PowerPoint or something. If you get traction with your content then you can take the next step and start building platform that delivers and monetizes your e-learning content.
First of all, you need to have a very detailed list of your requirements. What kind of features you want, how many users you plan to have etc....
Now go to your candidates and ask them to give a detailed implementation plan including the scale-up plan for future growth. You will probably miss something in your requirements, and experienced teams will quickly catch those and send you questions for clarification. That's a good sign that they know what they are doing and care about your project.
It doesn't matter if it's a freelance developer or a specialized company, it all depends on the skillsets and experience they have. Can they offer the solutions for all the problems you are trying to resolve?
Do not skim on the money, this is a serious advice. Go for the one that offers the most complete and solid implementation plan. Cheap deals are often cheap in quality and usually result in additional costs down the road.
The freelance web developer is not a sure bet. You need to be able to manage the person and the distance could be a problem. On the other hand if you contract a company, the development of the software is on the hands of experts and specialists, you just need to focus on the features you want and thats it.
There may be some cases when the freelancer may deliver quality software but still it may become hard connecting with the freelancer for maintenance purposes. There may also be cases when companies are unreliable but you can tell quite easily if so.
In the end it all depends on the budget. You get what you pay for in 99% of the cases.
I would rather say a company with similar project expertise. I have worked with my freelance web developers and individual companies. No doubt in some cases freelancers are good but then their commitment to time given and availability is something you cannot control. Sometimes you need to make a change in the software but the freelancer is not available. You need to contact him/her and the next thing you find yourself doing is sending messages, calls etc. to reach him but he/she is not available.
Many times you just need to do an update or change within few hours. In circumstances like this it becomes very difficult to work with a freelancer. So specialised companies are the best option. You can control their availability and if you want these companies may even give you support 24/7 after the software has been developed.
Freelancers are great when you know exactly what you want to build and how you want to build it. Ideally you would have a technical partner who can provide that direction. Otherwise you can spend a lot of money mis-directing the freelancer, resulting in re-dos.
Vendors are great for pre-packaged solutions as long as you don't want too much customization.
If you want something sustainable and enduring, the choice is very simple: go for a firm. Cost of project shouldn't be the first thing your mind should be preoccupied with, but rather quality of work done, in line or beyond your expectations.
A developer or a company, anything would work only if they can highly relate to the E learning platform.