
So you want to be a PHP Developer? - JeremyMorgan
http://dannynunez.com/want-to-be-a-php-developer/
======
adamors
This is a rather low effort post. PHP The Right Way [1] already covers the
basics of modern PHP, without turning into a laundry list.

Today the most important thing is Composer, not frameworks, especially to
those who are just starting out. Learning a full framework is pointless if
they just want to see the basics in action. Fabien Potencier's Create your own
framework series [2] is really good for this: it shows how much you can do
with just a couple of Symfony components and a front controller.

[1]: [http://www.phptherightway.com/](http://www.phptherightway.com/)

[2]: [http://fabien.potencier.org/article/53/create-your-own-
frame...](http://fabien.potencier.org/article/53/create-your-own-framework-on-
top-of-the-symfony2-components-part-4)

~~~
krapp
This is certainly also the most important thing for existing PHP developers
still hanging on to the "old" way of writing PHP code. Having worked on sites
where everything is an undocumented mess of manual multi-level includes with
shared globals and half-baked implementations of things which already exist,
in a better form, well tested and documented elsewhere, I feel like I need to
shout from the rooftops _php has a package manager! f_ing use it! and url
routers are a thing now!_

It really is surpising how far you can get with a little effort now in PHP,
and how much suffering you can avoid by just letting go (of what, admittedly,
makes the language fun for some - it's raw, ugly, stupid simple quick-and-
dirty hackability) and embracing structure. And open source code.

------
bshimmin
Betteridge's law of headlines strikes again!

~~~
Maakuth
I for one needed to Google it
([https://en.wikipedia.org/wiki/Betteridge's_law_of_headlines](https://en.wikipedia.org/wiki/Betteridge's_law_of_headlines)):
Betteridge's law of headlines is an adage that states: "Any headline which
ends in a question mark can be answered by the word no."

~~~
8draco8
Simply add "why" or "how" on the beginning of sentence i.e. Why you want to be
PHP developer? In marketing they are calling them "open questions", the
question to which you have to answer with more than just yes or no

------
chx
Drupal: Pros:

Low Learning Curve Cons:

Oversaturated Job Market

I will be the first to admit that Drupal does not have a low learning curve.
(And you can blame me for some of that. Or a lot of that if you wish :P)

But oversaturated job market?? There has been a shortage of good developers
ever since there was such a thing as Drupal-developer-as-a-job, at least a
decade.

~~~
snowwrestler
Agreed. Any Drupal developer who is having a hard time finding work, come to
DC. There are over a dozen shops hiring Drupal devs right now.

------
imaginenore
Drupal absolutely does NOT have a low learning curve. If you want to do
anything beyond a basic configuration blog-style site, good luck finding
developers who know how to deal with Drupal's internals, especially in the
last version.

~~~
mreiland
I was wondering at that too, but I don't have experience with some of the
other frameworks so I thought perhaps it was just all relative :)

I love Drupal, despite some of the flack it gets, I think on the whole it does
what it does really well. But easy to get into "it aint".

------
alexbilbie
This list fails to mention
[http://www.phptherightway.com/](http://www.phptherightway.com/)

------
MrSelection
So anyone in here can give me a opinion, how i can improve myself as a worthy
developer.. I am 22 years old fresh graduate and a ruby developer with
currently 1 year experience, before i have learn node.js(express), php(cms,
news site), db(sql,nosql)... but i got a feel(*is it true?) that america,
europe is getting a worthed salary as a programmer they are valued rather than
here in my country i got around $6000/year with living cost $3600/year this is
really a standart in my country. its really hurt me, so as a fellow programmer
here can you guys give me a suggestion to improve my living?how bout emigrate?

~~~
juergen
where do you live currently?

~~~
MrSelection
Well i am in indonesia..

~~~
toni
I would suggest you to find a job in Singapore or even Malaysia. Browse
[http://startupjobs.asia/](http://startupjobs.asia/) and try to apply for jobs
in countries around you.

After you have 3 to 5 years experience, try to emigrate to United States,
Canada, News Zealand or a couple of good European countries. Germany, The
Netherlands and Sweden off the top of my head. In the mean time, try to learn
French or Spanish beside improving your English. It will give you much better
advantages when you speak different languages.

~~~
MrSelection
that is what i aim for, unfortunetly some prefer local people so they didnot
need to mess with working permit or anything, for now i am looking for a post-
graduate 1year study chance and give me 2-3years stay in that country did you
know any of the country like that?, Thanks for the suggestion :)

~~~
toni
My personal advise is to stop wasting your time with studying anymore. A lot
of web agencies and startups do not care if you have a university degrees or
not, they only care about your programming skills. Find a job in Singapore,
Malaysia, Hong Kong, Taiwan, etc. If you look at
[http://www.startupjobs.asia/](http://www.startupjobs.asia/) you will see that
a lot of startups welcome developers from other countries.

But then again, this is my personal advise. If you firmly decided to continue
studying aboard, don't let a random stranger on internet change your mind.
Good luck to you anyway!

~~~
MrSelection
The best thank you :)... God bless you..

------
dutchbrit
I wouldn't recommend Zend (I find it rather resource heavy) - but rather
Laravel or Symphony, CodeIgniter is also nice and extremely easy to learn -
probably the lowest entry level that I can think of, but 2.0 is taking it's
sweet time to come along so that's a huge downside, plus, Ellislab wants to
sell the project...

Regarding CMS work, I have personally found that Magento is one of the best
things to specialise in. Ecommerce is a huge market.

~~~
JonoBB
No, don't even think of learning CodeIgniter. Besides being pretty much dead
(version 3 has been coming out for, what, about 2 years now?), it has terrible
architecture. The superglobal singleton is just awful and will kill you
slowly.

~~~
ZoFreX
This. I don't understand why CodeIgniter gets mentioned in the same breath as
Zend or Symphony, or any other fully-fledged framework. CI is, to start with,
much smaller: it's tiny, the sort of thing you could knock out in a week. It
also has deep-rooted architectural issues that are preventing some of the
longest standing bugs being fixed (for example, take a look at the router).
Lastly it's not anywhere near as modular as it purports to be, and the code
and architecture quality is rather poor.

~~~
dutchbrit
The only reason why I mentioned it is because it's extremely easy - for a
beginner, it's not a bad choice because it doesn't overwhelm you. Take baby
steps.

~~~
JonoBB
Just because something it easy does not make it the right choice.

Conversely, it is a bad choice because it teaches you bad practices and you
will be forced to implement so many hacks on any reasonable sized project.
Just don't use it.

~~~
babuskov
I found CodeIgniter to be really useful for a self-taught, spaghetti-style PHP
programmer. It is the only framework that most such programmers can grasp by
themselves using tutorials and docs available online. Any other framework, and
they would require a lot of hand-holding.

Switching from CI to something better later is really not that hard and it's
much, much easier that learning one of the modern frameworks from scratch.

I'm talking about self-taught begginers without CS degree or working-in-a-
large-team experience.

------
leorocky
A big suggestion missing here is a CS degree. I like Steve Yegge's take on
it[1]:

> The best tip is: go get a computer science degree. The more computer science
> you have, the better. You don't have to have a CS degree, but it helps. It
> doesn't have to be an advanced degree, but that helps too.

My own take on it is that most programming languages are like cars and the
skill of driving computer science: if you can drive one car, you can learn to
drive the other and with programming if you can program in one language you
can probably program in the other. Knowing the fundamentals about computers,
how information is represented as bits, how they store and process
information, how they communicate over networks, how you can use them to solve
problems like sorting, cache invalidation, etc is really important stuff that
is orthogonal to learning a programming language. Personally if I am using
programming language X at my job, and you have 0 experience with it, but are a
good programmer, I may not give a shit and hire you anyways.

[1] [http://steve-yegge.blogspot.de/2008/03/get-that-job-at-
googl...](http://steve-yegge.blogspot.de/2008/03/get-that-job-at-google.html)

------
JeremyMorgan
One of my favorite parts:

>Unicorn Skills That will be required – (Some how through magic)

------
ZoFreX
If you're going down the Drupal route you're just as likely to need Drupal 6 -
one of the challenges in this market is there is a lot of legacy work to be
done, so you often have to know two or three versions of the framework.

In the "Unicorn skills" section, you're as likely to need cPanel or Plesk as
pure Linux skills (although having the latter will make the former much
easier). I would also say you'll probably be using SVN and not git. Lastly,
add FTP and SSH to the skills you'll need.

~~~
jammycakes
> I would also say you'll probably be using SVN and not git.

According to
[http://www.itjobswatch.co.uk/jobs/uk/php.do](http://www.itjobswatch.co.uk/jobs/uk/php.do)
these are the number of PHP jobs asking for Git and Subversion respectively in
the UK in the past six months:

Git: 2244 jobs Subversion: 1559 jobs

So no, you're actually more likely to be asked for Git than SVN.

~~~
ASneakyFox
Being that both are popular and it's common to see both, you really ought to
know both.

------
coffeecheque
Does anyone have any good "tick-offs" that you'd ideally have to meet before
you could be classified as a PHP Dev?

I had a look at the Zend certification link, and I know most of things on the
list. It was surprising, because I wouldn't classify myself as a "dev" or
anything even close to it. I learnt (and use) PHP via the "hack and see"
method.

------
nodesocket
Recommend the Flight
([http://flightphp.com/learn](http://flightphp.com/learn)) framework for
creating RESTful APIs in PHP. It is lightweight, flexible, and does routing
nicely.

------
snowwrestler
Drupal 8 incorporates quite a bit of Symfony, so learning Symfony starting now
will probably open some Drupal doors in a year or two when 8 is stable and
being heavily used.

------
rabino
Also, this: [https://github.com/ziadoz/awesome-
php](https://github.com/ziadoz/awesome-php)

------
shire
What's the best of learning a CMS or Framework? or which one should a beginner
start with and how can I go about the first steps?

------
waitingkuo
No, as a full stack web developer, I use node.js so that I don't need to
switch between js and php frequently.

------
shire
is it easy to find job in the PHP world? and does it even pay good comparing
to other languages like Ruby or Python

~~~
imaginenore
Yes, pretty easy.

------
darthdeus
Why would I want to be a PHP developer? :O

~~~
dirtyphpdev
Because finding a job is incredibly easy. Because it pays well if you know
your stuff. Because you don't have to work with people who will judge you
based on something as in-significant as what programming language you decide
to use.

------
KhalPanda
TIL: Symfony has a high learning curve.

------
EGreg
How about [http://platform.qbix.com](http://platform.qbix.com) ? Shameless
plug.

~~~
shoq
Chrome 35.0.1916.153 Contribute: Need to define QP/contribute/response/column1
Need to define QP/contribute/response/column2

Features: The "You will just have to try it yourself."-Button is not doing
anything.

Sign Up Link: Uncaught TypeError: Cannot read property 'login' of undefined
features:1

------
neurobro
Congrats to the author on breaking the stupidly absurd font-size world record!

------
n0body
no, because i'm a perl developer, and perl is php's big brother

~~~
n0body
haters gonna hate

------
alkonaut
"PHP-elitist" is an oxymoron, right? Like a dumpster-foodie or an instant-
coffee aficionado?

~~~
stephenr
Stating that disliking/hating the mess that is wordpress makes someone an
elitist is stupid and sounds like an apologist to me.

Would you call someone a ruby elitist because they embraced best practices and
disliked/hated a project that refuses to embrace best practices and encourages
bad practices?

~~~
rimantas
That comment is also under joomla, which is even worse than WP.

