I have been creating small personal projects and trying to monetize or just learn from the creation process. I love programming and I am doing it as a hobby, looking forward to become a strong developer as soon as possible.

Starting out I used Joomla, Wordpress, Drupal as CMSs but soon I needed more custom solutions (even If they were little ones).

So I begun to use Symfony2 and suddenly I fell in love with it. After 3 years of using it every day I decided to learn a bit python and django. Then I realised that it's much fast and easy than php to create a website with a backend admin, some kind of ACL or user accounts/groups (simple ones) and some objects (restaurants, shops, cars etc.). I took a look also into ruby but didn't start learning. Apache seems to me easy to setup, same as mysql. Nginx and python webservers look like much advanced and time consuming to setup, but I might be mistaken.

I feel confused. I am trying to invest my time in a solution that will build up and make me an experienced programmer, while at the same time I should be able to create small projects very easily. Of course I could take into consideration the chance for my projects to get "bigger" in the future, so they must be scalable.

What kind of framework/language/server do you suggest? I install everything on an ubuntu server. Apache/mysql/php ? Stick with Symfony2? Abandon everything for Ruby on Rails ? PostgreSQL/MySQL/mongoDB?

Stick with Symfony2?

Why not? Every other PHP framework is a step back IMO.


I think the choice for a database should depend on the project you're working on.

100 lines of code written in Sf2 are 20 lines of code in python/django. Django even has a ready-to-use backend admin interface. But I am still skeptical because I can't move my knowledge and projects from one language to another every year !

Well, they are personal projects, so the db should be easy to use but also scalable in the future. I have a blog that 3 friends post 3-5 news at it every day - that's 4 users and ~1700 database entries/yearly. That's the most demanding project in case of database usage.

I invested thousands of hours reading and developing in sf2 because I thought it was the best framework out there to use. (best = modern, easy, scalable, fast, with a big community, updated frequently).

I invested thousands of hours reading and developing in sf2 because I thought it was the best framework out there to use.

It is (for PHP).

I can't move my knowledge and projects

Switching to a different language is an option. Switching knowledge is a lot easier than switching code of course. Methodologies and design patterns are the same, no matter what language you use.