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.

When you look at job postings at, say, indeed.com, often experience-level is indicated by number of years, usually 2+. However, they usually don't offer any insight into what a person should specifically be able to do or what they would be looking for in a portfolio (or that they even require a portfolio, in some cases). It's been my experience that people learn at vastly different rates, especially depending on the amount of time they devote to it during those years of "experience."

Having done a lot of searching through forums, I haven't found a solid answer for what "entry-level php developer" means, and where you would need to be in order to be at that level. What should an entry-level PHPer know how to do?

For example, I do not come from a highly technical background (did not major in it), but I've worked with Access/VBA for 2+ years and have created a few applications for work that worked out pretty well. Last year I decided to get into PHP/MySQL, and I've been studying like crazy for about 8 months. I have created a few procedural-style applications--one for work, which is basically a staging area/report generator, and I worked through a PHP/MySQL/Javascript book, creating a simple social network (just as an exercise). I have plans to do more after I study up on some more advanced techniques (MVC, OOP).

Because of my experience with Access, I understand database design/normalization pretty well. I understand how to use (not design) OOP from VBA, however I haven't designed or used anything more than the PEAR 'Auth' package with PHP (which implies the MDB2 package, too, I guess). Mostly I've been working procedurally, but recently, I've been studying OOP and the MVC pattern using Zend (which I'm finding very difficult, but I know I'll get the hang of it this year). Ajax with jQuery seems to be no problem.

How much further do I need to go before I can start thinking about applying for work? Should I try to create a portfolio? What should be in it? I'm in no hurry; I just want to do it right.

Update: I got pretty far with Zend Framework 1.11, but I have since decided to pick up Python (via Django), and I'm really happy I did (so far). I wouldn't say I struggled with PHP so much as PHP struggles with itself. There is something about the way Python and Django works that just feels like there's less friction. More sense. Obviously, PHP is still worth learning, and I think I made a good move by learning it first, but the job I ended up getting (about a month ago) is mainly Java and JavaScript/jQuery. So it seems it's true that you don't really need direct experience to get hired as much as a general sense and a good attitude about being willing to learn and dive right in.

share
4  
I have to ask, why PHP instead of a nicer language like Python or Ruby? –  Keyo May 21 '11 at 9:44
    
The short answer is that I just chose the language that seemed most pervasive. Long answer: When I started, I didn't really know one language from another, and programming in general was (is) still new to me. I knew I wanted to keep getting more into database design. It seemed like PHP with MySQL was a sort of ubiquitous combination. It has only been recently that I'm realizing that some regard PHP as "not as nice as..." I did think about Ruby, but I didn't want to be pigeonholed into Rails development, which seemed restricting to me. You are the first person who has recommended Python to me. –  user25791 May 23 '11 at 13:04
comments disabled on deleted / locked posts

migration rejected from stackoverflow.com Sep 16 '13 at 21:41

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as primarily opinion-based by gnat, MichaelT, GlenH7, World Engineer Sep 16 '13 at 21:41

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

6 Answers

You are fit for duty! You should be a good candidate for any junior function.

A portfolio isn't even necessary, just show motivation and eagerness to learn - complete any basic programming test- and I'm sure they'd be happy to have you.

share
add comment

Entry level typically translates as "has a theoretical understanding, but little-to-no hands on experience". 8 months of study plus a few hands-on applications is right in line with "entry level".

share
add comment

To get a job doing PHP full time, you need to demonstrate a passion for coding (i.e. you will be keen to learn whatever system/framework your employer wants you use) and a level of skill that will enable you to write useful code. As you've noticed, that level of skill is not clearly defined anywhere, so it's something you need to show via outcomes, i.e. real code that you've written yourself that does something.

One of the best routes is to start some sort of personal project using open source tools. Bear in mind that very little PHP stuff (at least in my experience) will be standalone and not involve some sort of framework, so a powerful indicator of skill is being able to write code that uses or integrates with something else. ALL major CMS systems e.g. Drupal support pluggable architectures, so you can get started on making your own module without having to design a complete system from scratch. This also has the advantage that whatever website you make will look nice and slick and you can send potential employers a url and login so they can take a look.

Open source also has the advantage that you have a large and well established community to ask for support, which is a great buffer against getting stuck and then demotivated as you're learning. People will also provide you with feedback if you share your code and if you act on that feedback, you may well end up making something that many people find useful, which proves that not only can you write code but that you can do so collaboratively as part of a team. Employers love that!

A final tip would be to aim for PHP jobs which leverage some other existing skill set that you have. In my previous job I was a teacher and I transitioned to coding using the strategy I've outlined above. When I asked my employer how much PHP I needed, he said that wasn't much of an issue - I'd learn over time. They were more concerned about having someone who was passionate enough about educational software to do that learning independently, and smart enough that they'd get results.

Good luck!

share
add comment

It looks like you're on track to me - no matter what, smart people who are flexible will always find employment, language experience or not.

share
add comment

Just keeping programming with PHP, try a framework like CakePHP, etc, build a few things and as soon as you feel you're comfortable start applying, put everything on there as experience even if it was just a personal project (just dress it up to sound as best it can). Most shops / companies who use PHP are pretty low on the technical spectrum anyways so it shouldn't be that hard to find a job where they will accept you, its best if you know Javascript too as they usually tend to use that in conjunction with PHP (as well as HTML / CSS). The first job I got was with PHP and the manager didn't know jack @#%$ about current web programming but just pretended he did, this seems fairly common for small companies using PHP, you probably won't love the job after a few months in a situation like this, but then you can move onto something better

share
add comment

You're going to be fine. Judging by your description (and the fact that you're posting here in the first place) I'd say you're dedicated enough to be better than many of the professionals I've had the 'pleasure' to encounter. PHP/MySQL seems to attract a lot of clueless programmers; exposure to a few other programming languages, knowledge of database design basics, and the desire to learn new stuff is a lot already, just find ways to highlight these.

I'd say start looking around right now. You'll catch a lot of refusals (from recruiters who just go if (PHP experience < 2 yr) { goto next; }, but at the very least, it's going to give you a much better idea what your street value is.

share
add comment