Forum Moderators: phranque
I’m going to have most of the website built by freelance programmers. I want to have it created in sections so that I don’t enter into any large agreements with people I don’t know well. If I have an account system created by one programmer, would it be particularly difficult for someone else to plug another section into that same account system at a later date.
Thanks in advance for any responses.
I want to have it created in sections so that I don’t enter into any large agreements with people I don’t know well.
Have you considered basing the site off of a popular open source CMS like Drupal? That way you can have modules built (that will plug into the main CMS and thus use the same basic login system, etc) instead of whole new systems.
You can alleviate this by requesting developers to use frameworks that enforce the whole idea of modularity, such as CodeIgniter (for PHP) or 3-tier development (for ASP.NET). Also request that the programmers very thoroughly document all their work. Also make sure that programmers know that someone else is going to be hired later on to add more onto the system--a programmer that doesn't know this might create code that will take a LOT more effort to integrate with.
Still, there's no way of getting around it--doing it this way will cost you.
Personally, and speaking as a programmer myself, I don't understand why you are so chary of hiring one programmer (or programming team) to produce the site. If you're worried about the programmer or group being untrustworthy, just ask people you DO know for references and go from there. Giving one programmer/group the contract would save you a lot in development costs and potentially even more in security issues and inefficiencies created when one developer doesn't know where another's security system starts and ends.
I had always hoped to use a single programmer, I just wanted to start slowly and build a repoire with the guy/girl/team before entering into any large agreements. The whole "having a new programmer come in" was sort of a worse case scenario if something happens that sours the relationship.
I really appreciate the heads up,I assumed it may increase costs somewhat, but upwards of 20%, I would have never thought that it could potentially raise overall project costs by that much.
Physics, I had looked at open source CMS, that was something I was going to discuss with the programmer. I'll definitely take a look at Drupal.
WesleyC, I was hoping to farm the programming work out to offshore programmers in order to cut costs. You can read reviews of their work from other customers, but it makes endorsements from people that I myself personally know a lot more difficult. What's your opinion when it comes to hiring offshore programmers, good idea, bad idea, okay idea just be careful?
20% may seem large, but it's probably accurate, if a bit low (depending on size and complexity--the larger the project, the more that number may rise). I rewrote a small application recently that only had 5 pages--but those 5 pages were so poorly written that I ended up rewriting the entire application from scratch; it was faster than trying to understand the existing codebase. Several larger projects I've seen (including one from a Canadian developer that was, I'm sorry to say, very poorly written and was bordering on infringing on Google's TOS as written) had codebases so polluted I spent almost half the time on the project trying to understand what the other guy had written and where to put my own code.
An open source CMS is certainly a good idea, especially when trying to keep programmers' natural tendancy towards spaghetti code in check. Make sure that the programmer doesn't modify the core CMS at all, and just works within the framework provided by it--that will decrease the time necessary for another programmer to pick up on the system.
Offshore programmers might be able to cut initial costs considerably, but there's a few potentially huge pitfalls as well. Hiring the cheapest programmer you can find is not always a good idea (in fact it's rarely a good idea--the quality of work that you'll get is likely to be abysmal). One contractor I've done some subcontracting work for charges an extremely high hourly rate--over 10 times what some overseas programmers charge--but he's never short of work, despite usually having the highest price; in fact he has more than he can handle. There's a reason for this--he is easily one of the best programmers out there.
I'm not saying that any work you get done overseas is likely to be bad--far from it. Just keep in mind that A. you get what you pay for, and B. just because it works doesn't mean that anyone else will be able to understand it later. In the case of that Canadian programmer, half the variable names were written in French.
I still shudder whenever I remember that code--and I'm pretty sure the guy that hired me shudders when he remembers how much he paid me to clean up the bugs left by the other programmer. :)
I'm approaching this completely from a business/marketing perspective, I have knowledge about a certain market and I think I've thought of some unique marketing/merchandising schemes to make money. But as far as the IT work goes, I will have to hire people to do almost all of it. [I do know how to use email though :) ]
You mentioned that it depends on the relative complexity of the project, as a programmer I would love to get your opinion on the difficulty of the site I have conceived of.
This is a basic rundown:
DIY Library - this will contain links to repair articles on outside sites, links to articles on my site, and it will contain the ability for users to publish repair articles, and I would like to experiment with Wikipedia-style community published repair articles.
Used Cars Classifieds - your average classifieds section with photos.
Used Parts Classifieds - part #, photos, mileage, etc.
Videos & Photos - Users post photos/videos and other users can rate them. With a comment section for each entry.
Group Buys - This would be updated daily. This section would contain links to any Group Buys going on at any [marque] forums or those hosted on my site.
Another One Bites the Dust - People could publish story (with pictures) of a car accident they've gotten into recently. (With a comment section.)
Rate My [ride] - People could show off modifications to their cars. Post pictures, list their modifications, etc. and users would rate the car.
Parts Catalog - This one is a little more complicated. This would contain a clone of the parts catalog that [marque] Parts Departments use. The exact thing that I'm talking about is already published at [snip]. I have access to this software on disc, but I have no idea how you would transfer it to a webpage. (But obviously it's possible.)
Price Comparison Engine - This would be a pretty large database. It would contain the prices of parts at a variety of online retailers. A user could type in a certain part # and it would pull up the prices at the top retailers. (I would like to have this fully integrated with the Parts Catalog also, they click on a part # in the catalog and it would pull up the Comparison Engine.)
Yikes. I think I've said enough. Sorry about the long post.
[edited by: phranque at 8:16 am (utc) on May 28, 2008]
[edit reason] specifics [/edit]
The classifieds should be moderately easy, though time-consuming, for a competent programmer.
Videos can be technically quite challenging to deal with, especially with all the lawsuits flying around about copyright infringement--even a good disclaimer might not protect you in all cases, though IANAL, so don't take my word for it. :) Images are less so--in fact, that feature should be extremely easy to implement.
The rest of the features should be trivial in complexity, just time-consuming, though you might want to be very, VERY careful about copyright infringement if you're using information from an already-published parts catalog.
Entering the data for the parts catalog and price comparison engine will likely take up a considerable chunk of time. I would recommend that you pay the programmer to build the system, then hire someone you know locally (a trustworthy high-school student? Though I may be biased, as I was still in high school two years ago ;)) relatively cheaply to enter the data, or just do it yourself.
Edit: Forgot my estimate! I'd say that this would take a competent programmer approximately two months to build. A really skilled programmer might be able to get it done faster--but remember the axiom: "Quality, fast, cheap. Pick two."
[edited by: WesleyC at 1:38 pm (utc) on May 28, 2008]