[56K WARN] What makes a good PHP developer
Moderator: General Moderators
-
parenthesis
- Forum Newbie
- Posts: 1
- Joined: Thu May 24, 2007 10:58 am
Come on, what really makes you a good *PHP* developer?
If I'm attempting to revive this thread, that's because I didn't quite find the answer to my question when I googled myself up to this page.
So, I'll reiterate the question: what makes a good PHP developer?
I already know that being a good developer is a really good start, but as far as PHP is concerned, what, in your opinion, do good PHP developers know and do that some newcomer from a different language might be unaware of?
I've been programming for a while in PHP and have been writing Web application since a much longer time. I notice I can do pretty much what I want using the language, providing I educate myself about the new features that I need, but I'm a bit shy about calling myself an expert, even though I do have the skills to tackle most programming challenges intelligently. So, I wonder how differently I would program in PHP if I felt completely at home in this environment.
Why would you say you're an expert in PHP? What makes it that you "get it" better than, say, some .NET, python or Java guy? Any ideas?
I'm looking forward to your answers.
So, I'll reiterate the question: what makes a good PHP developer?
I already know that being a good developer is a really good start, but as far as PHP is concerned, what, in your opinion, do good PHP developers know and do that some newcomer from a different language might be unaware of?
I've been programming for a while in PHP and have been writing Web application since a much longer time. I notice I can do pretty much what I want using the language, providing I educate myself about the new features that I need, but I'm a bit shy about calling myself an expert, even though I do have the skills to tackle most programming challenges intelligently. So, I wonder how differently I would program in PHP if I felt completely at home in this environment.
Why would you say you're an expert in PHP? What makes it that you "get it" better than, say, some .NET, python or Java guy? Any ideas?
I'm looking forward to your answers.
- RobertGonzalez
- Site Administrator
- Posts: 14293
- Joined: Tue Sep 09, 2003 6:04 pm
- Location: Fremont, CA, USA
Re: Come on, what really makes you a good *PHP* developer?
Though this has been talked about pretty well in this thread, what the heck, I'll bite...parenthesis wrote:what, in your opinion, do good PHP developers know and do that some newcomer from a different language might be unaware of?
- Knowledge:
- Understand network and server architecture and structure
- Understand OS's and the affect they have on PHP (and vice versa)
- Understand and use load balanacing, data normalization and optimization techniques
- Understand that just because the app shows what you want to see doesn't mean it's 'working'
- Understand security principles and code in defense of potential breaches
- Understand the concept of modularity, granularity and singleness of purpose of objects
- Understand that the world does not always use the LAM part of the LAMP stack
- Actions:
- Code with the expectation that the code will be used enterprise wide
- Code with an end result in mind
- Code according to a well thought out application architecture
- Code with the knowledge that PHP might not be the best resource for the job
- Code clean, with a lot of comments
- Use code control tools and collaboration tools, even if the project is one developer right now
- Use multiple environments for development, testing and deployment to production
- Remain teachable and willing to help
- Christopher
- Site Administrator
- Posts: 13596
- Joined: Wed Aug 25, 2004 7:54 pm
- Location: New York, NY, US
- Ollie Saunders
- DevNet Master
- Posts: 3179
- Joined: Tue May 24, 2005 6:01 pm
- Location: UK
What makes a good PHP developer is largely the same as what makes a good developer in C++, Java, or SmallTalk etc.
This is an excellent read
This is an excellent read
YesAre there concepts in PHP OOP that I don't even know about, that I should?
No. There are guidelines for making such decisions.Should I be using constructors on all the classes I create?
Both switches and if..else chains are a design smell. They indicate a piece of code that can only be extended by adding additional logic, and restrictive logic at that. That said a switch is better than an if..else chain.Does a good PHP developer use switches instead of if-statements?
Code is nearly all decision making based on knowledge and which loop to use is just one example of that. There is no blanket better or worse loop type. If there was surely we'd get rid of the bad one.While loops instead of for loops?
Yes. It doesn't take long to learn this really.Should a PHP developer worth their salt know all the differences between PHP5 and PHP4?
A good developer learns to identify a good library or framework and writes his own code when he can't find one.Does a good PHP developer use tools already created, as opposed to creating them him/herself (ie PEAR, PHPBB, all the other things I don't use)?
- Maugrim_The_Reaper
- DevNet Master
- Posts: 2704
- Joined: Tue Nov 02, 2004 5:43 am
- Location: Ireland
Well, that's because a good PHP developer should know those other languages
. It's one thing I'd certainly look for - a good developer is agnostic. They'll learn a few languages so that if PHP goes downhill tomorrow they can switch to something in the same space (like Ruby, though Ruby is still not a huge job driver).
- Kieran Huggins
- DevNet Master
- Posts: 3635
- Joined: Wed Dec 06, 2006 4:14 pm
- Location: Toronto, Canada
- Contact:
A friend of mine once remarked (quite rightly) that a good developer was a good developer, and the language was merely the expression of this ability. Incidentally, he runs a very successful rails shop.
My experience has been that there is more demand for rails developers than there is supply at the moment, I know several people considering learning rails specifically for marketability reasons. Personally I'd like to learn rails because it seems like a cool system
My experience has been that there is more demand for rails developers than there is supply at the moment, I know several people considering learning rails specifically for marketability reasons. Personally I'd like to learn rails because it seems like a cool system
- RobertGonzalez
- Site Administrator
- Posts: 14293
- Joined: Tue Sep 09, 2003 6:04 pm
- Location: Fremont, CA, USA
Very well put, this friend of yours.Kieran Huggins wrote:A friend of mine once remarked (quite rightly) that a good developer was a good developer, and the language was merely the expression of this ability.
I am almost at this point. I want to learn it so that when people bash PHP in favor of it I can respond with some amount of knowledge (either pro or con). That is why I wanted to learn C# and CF. Well, mostly. I also want to be a marketable developer when I go private, and it can only help to know more than the average Joe.Kieran Huggins wrote:Personally I'd like to learn rails because it seems like a cool system
-
alex.barylski
- DevNet Evangelist
- Posts: 6267
- Joined: Tue Dec 21, 2004 5:00 pm
- Location: Winnipeg
IMHO a good developer is one that gets the job done. A great developer is someone who gets the job done and done right (no lazy hacks, poor docs, etc).
That said, I look for the following characteristics when analyzing source code:
1) Structure and organization (both at the source level and file system)
2) Comments. Are they commenting for the sake of commenting or do the comments serve a semantic purpose
3) Consistency. Random variable names and ad-hoc function declarations drive me batty.
4) Clear, concise and explicit coding technique. Many advanced developers have this notion where hard to read code is cooler. Personally I like KISS. No magic tricks or language specific techniques. This makes it doubly difficult for someone coming from another language to pickup quickly.
Basically a conscience effort to make the source code maintainable/extendable and above all enjoyable to work in.
Cheers
That said, I look for the following characteristics when analyzing source code:
1) Structure and organization (both at the source level and file system)
2) Comments. Are they commenting for the sake of commenting or do the comments serve a semantic purpose
3) Consistency. Random variable names and ad-hoc function declarations drive me batty.
4) Clear, concise and explicit coding technique. Many advanced developers have this notion where hard to read code is cooler. Personally I like KISS. No magic tricks or language specific techniques. This makes it doubly difficult for someone coming from another language to pickup quickly.
Basically a conscience effort to make the source code maintainable/extendable and above all enjoyable to work in.
Cheers
- Christopher
- Site Administrator
- Posts: 13596
- Joined: Wed Aug 25, 2004 7:54 pm
- Location: New York, NY, US
I understand the whole "what make a good/great developer" in general, but I believe the OP and parenthesis were asking what things do you need to embrace to be a successful PHP developer. Different languages, and even application types, use different methods to solve similar problems. I believe there are some things that you need to embrace to be a successful PHP developer that are different from other language systems.
(#10850)