« BackUp and Sync Solutions. | Main | BES and Enterprise Boards's »

February 05, 2008

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d83452025669e200e5501586b78833

Listed below are links to weblogs that reference Ruby, Python or PHP?:

Comments

Feed You can follow this conversation by subscribing to the comment feed for this post.

Well, what reasons did you give for using Ruby on Rails that the potential-investors accepted? They should still be valid.

We are using Ruby on Rails but have had the luxury of growing Rails skills in-house, from a base of Python/ASP/PHP programmers. The basic skills mapped across easily while specific Rails features were generally learnt very quickly as the guys enjoyed working with Rails.

Then again there is Django which our Python guy loves and can do amazing things in. It shares a lot with Rails. If you have Python guys available then see if it can work for you.

I'd be weary of a remote dev team for a startup application. If you knew the remote guys very well and they were invested in the app. then it would be fine but if you are just hiring strangers who have Rails skills then I'd have reservations.

Good luck guys, it is tough doing apps. without already having a team you know and trust.

Hiya Paul

> They should still be valid.
You are right Paul, they are. However the question of availability then arises - if we cannot get close to home developers with sufficient experience in Rails then we need to reconsider.

> Then again there is Django which our Python guy loves and can do amazing things in. It shares a lot with Rails. If you have Python guys available then see if it can work for you.
Good suggestion thanks.

> Good luck guys, it is tough doing apps. without already having a team you know and trust.
For sure!

keith

I don't accept the "I don't think the language/framework used is that important." statement. The language/framework used can be hugely important, not just in terms of availability of developers but in speed of development, ease of change, ease of deployment and management, scalability.

The second thing I strongly disagree with is picking a framework based on how cheap the developers are on it. Firstly, in my experience, a high-end developer can frequently have in excess of 10 times the productivity of a 'regular' developer (and that's just in the tangible bits - there are other benefits too). Secondly, if the 'smart' developers are leaving one platform and moving to another, then you should seriously ask 'why is that happening' before you pick the original platform.

Of course, there's no absolute 'best' answer. It depends on the project and the constraints. I wouldn't recommend Lisp as a web development platform but some people have been successful with it (Arc, anyone?).

/dh

Thanks Denis

> in my experience, a high-end developer can frequently have in excess of 10 times the productivity of a 'regular' developer

Yep - this is going to be one of the key factors for us - the people behind the Development Co. Experience and attitude are crucial to a successful build.

keith

Have you any idea on who your key developer(s) will be? For better or worse, these people will determine the platform as much as you. I would really try to have the core development close at hand.

Hi Antoin

> For better or worse, these people will determine the platform as much as you

Yes you are right - and no have not yet gotten to selecting same. As I mentioned above the people are going to be key to this - and thanks again for reinforcing the requirement for a team close to hand.

keith

I should clarify a couple of things that might not be clear from the quotes above (responding to Denis' points mostly).

As a developer I think choice of framework for a project *is* very important.

When I say "I don't think language/framework choice is that important" I mean it's not that important compared to getting a good developer and it's not so important that you should limit yourself to only rails developers at this early stage. The most important factor is finding a good development team and building a relationship with them.

I don't think that you should decide on a framework first and then go looking for developers. This is especially the case where the people involved in the startup are not developers. If there are developers in the team then they are in a better position to decide which technology is best suited to their project.

So don't rule out other options at the start. Ask potential developers what technology they would use for your project and why. Their ability to motivate and justify their technology decisions can help you choose between developers.

I'm also not advocating choosing frameworks based on price of developers. But price and availability are one of the many aspects to consider, especially for a startup. Also the market for freelance developers is a bit like the market for lemons. So you while good developers are usually more expensive than bad developers, the opposite can often be the case too.

In general I don't really advocate any particular language or framework - I advocate picking whichever it the best fit for a project given the constraints and requirements. Right now, in the case of building a database driven website that usually is rails or django. But it might not be - there are some projects where php is a better option than either of those. It depends.

Hi, Kieth! I am one of the guys working on TouristR with Jan. I think that Aidan makes some very good points above. It is not necessarily the platform rather the developers you get to work. We were lucky to find a great team in the US called Less Everything to work with, and they were Rails guys. This made our decision easy.

Another thing that needs to be taken into account is the cost of scaling on a given platform. Recently I had an interesting talk with Marcus from Pix.ie about this, he made some interesting points about hidden costs of scaling like electricity, and hardware. He pointed out that as Rails tends to have a scaling philosophy of throw more hardware at it. Cost of scaling can also spiral. It is my opinion that this is offset by the productivity found in developing on Rails. The cost of extra developers is higher in my opinion then the cost of scaling. This further highlights the trade-offs that come with any platform, which brings me back to Aidan's point.

It is the development team that matters, it is here I believe that Ruby, and Python frameworks have an edge. This is because people who love programming like to try out new things, and it is these people who are pioneering Django, and Rails. Therefore in most (but not all) cases you tend to get very good programmers with these languages.

Keith, as you probably know we using Python and TurboGears for LouderVoice. From a technical perspective it was a good choice and developers can be very productive using it. However it suffers even more from the developer availability issue than RoR.

If you are home-growing developers then it doesn't matter, they can train up. But if you are outsourcing then you need to make sure that there is a good pool of strong developers out there to choose from. In reality that boils down to PHP, .NET or Java. I think bog-standard PHP it is the lowest risk approach from a business perspective if it is a good technical match to your application.

Aidan, Conor and Conor

thanks all for those comments. Our approach and thoughts on this need to be altered to take all of these on board.

Because we are outsourcing (out of necessity) a number of parameters change. ConorO's comment at the end is key here - we need an appropriate, but low risk approach because our investors will not take a screw up too kindly. Nor should they.

Meeting up with Fintan today and will post after that again.

keith

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been saved. Comments are moderated and will not appear until approved by the author. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Comments are moderated, and will not appear until the author has approved them.