Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've started working at a company that uses the Yii PHP framework. I'm mostly using Yii but also some frontend stuff like jQuery and Ajax.

What I'm worried about is limiting my skill set to a framework that isn't very popular. I mean, if the company I worked for was using Ruby on Rails or even Django, I wouldn't have this feeling of concern for the future. My first question is then, in regards to being able to find a job in the future somewhere else, is my feeling of concern warranted?

Secondly, I see a lot of PHP jobs out there but do you think experience using a PHP framework counts as valuable experience to a company that doesn't use that particular framework or any framework at all?

share|improve this question
add comment

5 Answers

Every employer will give extra points to prospective employee if they were using that exact framework or programming language for X years thats for sure, but take into consideration that technology is changing at such a fast pace that companies cant look for employees with 3 years of expirience since that technology is often a year old.

Few years ago CakePHP & CodeIgniter were the most popular FW's in PHP, then came Zend & Symfony, now Symfony 2 and Yii are most popular ones(I might be wrong about exact order but that is not the point here) and next year most popular framework will be something new. If you decide to change company next year there is a real chance that you will be applying for a position using FW or programming language that is not invented at this moment or not widely known at all.

You should treat FW/programming language only as a tool for getting things done, if you are smart and have skills you will have no problem to adopt to new tools quickly and a lot of employers dont test your knowledge of using a tool but your ability to think.

share|improve this answer
add comment

Speaking from my experience, in which I'm in charge of a development team in one of those huge companies from the corporate world, and I run technical interviews every now and then, you don't have to worry too much about it...

As long as you are using a framework that was not 'invented' by your company (in case it's a small dev shop, not freaking google), you are in good hands in terms of using an open source framework. Jumping from Yii, to CodeIgniter , to Zend is not that hard, and when I make technical interviews i always take into consideration if they use any frameworks in their daily work, that's right: 'any'. On the other hand, someone who comes to me looking for a job and it's not using any framework, that's a -1 right there, just like it's a -1 for someone to say they love so much their framework they wouldn't consider something else, or even worse, to work with bareboned-PHP.

Just like dukeofgaming mentions, at least you'll know some concepts like ORM, OOP, etc that will come handy in other frameworks and even other programming languages. However, i always ask possible candidates if they know why their are using that specific framework, ask yourself that or to the senior members of your team, someone must have taken that decision and they probably have a compelling reason to do so (or perhaps the decision was taken after a few drinks at the local pub...).

As long as you stay out of hacks, hybrid implementations (half done with Yii and half with barebone PHP, with bits of CodeIgniter) you are in good hands learning Yii... Just remember there are other things out there and keep the learning curve steep, because at some point or another, Yii won't be enough.

share|improve this answer
add comment

The classic issue that I see with frameworks is that sometimes there is a reliance on them to accomplish tasks without a full understanding of what exactly the framework is doing.

To a shop that doesn't use a framework, you may struggle working through code and classes that are done differently in a framework. This doesn't matter if you're a proficient PHP developer - you should see existing code and understand it, even if it isn't abstracted through something like a framework.

This isn't restricted solely to PHP, either - I see the same issues with jQuery constantly. There are developers that don't care to know how this magical function works, and their code performance suffers in a big way.

Also, no-framework development is very common. I remember personally not seeing frameworks become popular for about 4-6 years after I started developing web applications. I imagine there are still quite a few webapps in the world that haven't made the switch yet.

share|improve this answer
add comment

Yes, there is knowledge you can map from other frameworks

Such as (H)MVC, ORM, Templating... not to mention other more intricate stuff, such as DIC (Dependency Injection Containers).

What you would want is use more than one PHP framework so that the person that is thinking about hiring you wont doubt you can learn the framework they use... and maybe even teach them a thing or two (e.g. TDD, Symfony and other frameworks have PHPUnit integration).

At least they'll know you know

Also, I'd personally say that pure-PHP developers are looked down upon. Knowing a framework kind of hints that you at least know OOP and maybe other best/real-world practices.

share|improve this answer
add comment

I'm run a PHP development shop and have interviewed well over 100 people for PHP development positions over the last year or so. To me, it's important that someone knows PHP more so than a particular framework.

At our shop, we use Zend Framework for some projects and homegrown "frameworks" for others. Most decent frameworks will have concepts that will transfer to other frameworks. MVC would be the biggest one that's good to have experience with, whether that's through Yii or another framework. It's also important to just learn PHP on its own. A developer who cannot code without a framework is less valuable to me than someone who knows PHP but doesn't know any framework.

share|improve this answer
    
I agree with you on principle - but it is worth noting that someone with experience in Zend would probably be more likely to be considered for a job at a PHP house using Zend than someone with similar experience in a different framework. That said, I don't think it's a massive filter for me (going through a hiring round at the moment) - understanding MVC and OO principles is more important than specific libraries. –  HorusKol Mar 29 '12 at 5:25
2  
Absolutely, if you come in with experience in the particular framework that the shop is using, you're probably more likely to be hired. That being said, I'm still more likely to hire someone with no framework experience but who knows PHP than to hire someone who doesn't know how to code PHP outside of some particular framework. –  David Stockton Mar 29 '12 at 5:32
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.