php[architect] logo

Want to check out an issue? Sign up to receive a special offer.

5 meta-skills for the PHP developer

Posted by on February 22, 2010

With a year like 2009 behind us, it’s inevitable that a curiously large number of PHP developers are currently in a state some like to describe as “funemployment.” It’s unfortunate, in a way, that so many in the community are currently looking for jobs—although it’s interesting to see that a large number of the folks we speak to are not just looking for any job, but for the right job.

Naturally, the concept of “right” job varies from person to person; some people want a position with a good advancement path, while some others are looking for a specific work atmosphere.

Regardless of what your goals are, I am sure that there is an article or blog post out there that tells you which PHP-related skills you should make sure you keep honing to guarantee the best chances of success, running through the list of frameworks you should know, object orientation techniques you should be familiar with, best practices you should… practice, and so on.

But being a PHP developer is much more than writing PHP code. In fact, good PHP skills would be something that I would take for granted that every PHP developer should have—and, if enough employers are as crazy as I am, there’s a chance that I’m not the only one who wants to look beyond mere PHP to decide who is good and who is exceptional.

Therefore, here is a list, in no particular order, of “meta-skills” not directly PHP related, but connected with your ability to function well as a PHP developer in today’s demanding work environments.

#5 — HTML, CSS and JavaScript

Let’s face it: artists hate coding; developers hate the fact that artists don’t understand HTML and CSS; and designers hate both because they have to explain to the former what can and can’t be done with CSS and then listen to the latter whine about the fact that former don’t “get the web.”

If you’re building PHP applications for the web, there really is no excuse not to be extremely well-versed in HTML and CSS coding without having to know anything about the principles of design itself. Hate them or loathe them, to quote Stephen Fry, both technologies are central to today’s user experience; unfortunately, neither HTML or CSS seems to have been designed by people of sound mind—and they have been implemented in the leading browsers in just as crazy a way.

And let’s be clear: by “well-versed,” I don’t mean that you can string together a web page, Geocities-style. Given the dependency of today’s websites on frontend work, you need to know how to organize your code well, create properly-coded web pages and make them work well with PHP. Unless you are lucky enough to work in an exceptionally well run group, you will find yourself at a bottom of a chain in which you will need to fix mistakes made upstream by designers. Honing your skills in the unholy trinity of frontend development will make you an invaluable team member—and is sure to raise your profile at interviews.

#4 — Understanding business

When I went to university, basic business classes were a required subject of study for every aspiring engineer. While there was no expectation of churning out technologically-savvy accountants, the powers that be understood a basic fact: technology is supposed to enable processes. In the real world, you don’t write abstract programs that calculate π to the n-th decimal place—you write programs that solve practical problems (granted, calculating π may be a practical problem for some, but let’s not lose focus here).

The success of any software project is directly related to its ability to serve a specific purpose, which it can’t do unless the people who build it also understand that purpose. Therefore, a good developer who also have a good understanding of general business concepts is of great value to any company—particularly considering the fact that far too many businesspeople have a really hard time explaining how their companies work.

#3 — Coming to grips with reality

If you think that being a PHP developer means writing PHP code… you’re probably only half-right.

In addition to being comfortable with front-end technologies, you also need to come to grips with the fact that hardly anyone writes pure PHP code anymore. Most mid-size organizations have standardized on a framework or other, while the majority of clients will expect you to build their products using a pre-existing solution of some kind—whether it’s Drupal for content management or WordPress for blogging, refusing to look outside your own little box is going to cost you either clients or job opportunities.

You may think that frameworks and CMSs are inefficient, poorly coded and error prone. Maybe they are; but, for better or for worse, a lot of large sites run on them. Employers (and clients) are likely to look at their development work from an efficiency perspective—and a developer that costs $100,000 a year is going to be made more efficient by the clever reliance on existing technologies.

#2 — Using the phone

I don’t know how many times I’ve said this, but I can’t, for the love of me, understand the weird relationship that so many techies seem to have with the telephone. It’s a hundred-year-old technology; everyone from the CEO to the receptionist understands and can use it; it’s simple and efficient. Yet, developers seem to have an aversion for it.

Here’s a hint: sending an e-mail does not excuse you from ensuring that your message is received. When it isn’t—because e-mail is anything but a reliable method of communication—your boss or your client is going to think that it is your fault, and not his (or hers). And you know what? They’re right. They won’t want to hear about how calls aren’t efficient, or you didn’t want to disturb them, or you didn’t want to waste time.

So, please—please learn to use the damn phone. If you’re worried about leaving a paper trail, send your e-mail and make a phone call. The world will be a better place for it.

#1 — Being humble

I am sorry if this comes as a surprise, but a blog and a Twitter account do not a star make. Believe it or not, there are plenty of other people who have access to the same technologies and, most likely, make better use of it than you do.

Being proud of your accomplishments, an outspoken member of the community and a published author are, generally speaking, great ways to raise your profile and make yourself heard—not carte blanche for arrogant behaviour. Employers and clients want to know that they engage with the best, but they don’t need to be reminded of it every fifteen seconds.

What’s far more important is the fact that your high profile shouldn’t give you any sense of entitlement. Your hilarious tweets and ground-breaking blog posts are unlikely to make anyone think that they owe you anything. Approach your job knowing that you are good, but prepared to know that there are others from whom you can learn—and all sorts of new doors will eventually open for you.

Photo courtesy of Cal Evans.


Marco is the keeper of keys and Chief Garbage Collector at Blue Parabola. He can be found on Twitter as @mtabini.
Tags: , , ,
 

Responses and Pingbacks

Great post, and indeed a phone call can make such a difference in solving a customer problem.

I am not sure if your analysis of the phone problem is really complete. While I fully recognize that I have a problem with phone calls in general, and will go a long way to avoid making one, it’s not really fear of inefficiency or reliability, it’s closer to a phobia. It doesn’t make sense, you can’t really explain it, but when the phone rings you shiver and want to crawl back in your cave. Now I don’t know if other people see it differently, or if they just try to rationalize it by blaming the phone’s efficiency, but at least that’s my take on it, and it’s damn difficult to overcome, although with the years it’s getting better.

On the rest, no arguing, spot on 🙂

I have to agree with that… it does seem to be a bit of a phobia.

I honestly just don’t get it—and I’ve got the cell phone bills to show it 🙂

[…] a recent post to the php|architect site Marco Tabini has a suggestion of five meta-skills he thinks every PHP developer should learn. But being a PHP developer is much more than writing […]

Phone thing, it’s definitely like a phobia! I would do everything to not make phone call. It becomes better with each year and I really try to get over with it but I can’t seem to succeed so far. It’s great to know there are others like me 🙂

nice article, much much useful for PHP developers, thanks

understandig what an OS, a DB and networking is can also help

The last the section is great.

Having worked as a call center rep, and manager of reps before getting into PHP Development, I don’t have an aversion to making phone calls. Though I find it is often prudent to have the call, then send a recap email – this makes it clear to both parties in writing what you discussed and the results of the conversation, and backs you up should you need to do a bit of CYA.

Nice article.

Marco, I’ve worked as a freelance web developer for 15 years now — much of that time wallowing around in php code — and you hit the nail on the head with this article. Thanks for saying what should be said! Programmers, take heed!

Chriss Kepinski on
March 10th, 2010 at 4:24 am

Maybe this would be helpful while overcoming the above list points – please take a rest! Sleep well, spend some time with family. Move from your computer to see what happens outside. It really helps also with your efficiency. Thanks for this article, eyes opening!

Five excellent points. Spot on!

I don’t mind the phone, but I wish I could avoid certain calls. I’m not antisocial or nervous; I’m very much a people person and have great communication skills. Contrary to how some value the phone’s efficiency, I loathe the phone’s inefficiency.

I’m unsurprisingly logical and analytical, so I always prefer to have the facts. I can talk forever on a topic I’m knowledgeable about, but when I must talk about something for which I’m unprepared, the conversation will fail to accomplish anything and will waste time. If my only responses are likely to be “Thanks, I’ll look into it” or “Let me get back to you,” just shoot me an email instead. If I have questions in return, I’ll call you for answers when I’m ready. That brings me to my second point:

A phone call is disruptive. When the phone rings, I must immediately drop everything to answer the phone, and my concentration must completely switch to an arbitrary new topic. When I hear the “new email” sound, I can wait a few minutes and check when it’s less mentally disruptive (and then determine if I should respond now or if I can finish what I’m doing first). At my last job, this was a huge problem. I could rarely focus deeply on something without being interrupted by a ringing phone or a tap on the shoulder. Consequently, my productivity suffered greatly, and it became irritating. Call me if you need to disrupt me, but -please- do not call me if you don’t.

I realize there are unfortunate reasons why some phone calls will always be necessary.

Since I’m a programmer, I’m a stickler for parsing and syntax, which is partly why I have exceptional written communication skills. Many people struggle to clearly express their thoughts in writing and instead need to talk it out. Emails from these people are a waste of time if you have to call them to ask what their email meant anyway.

Additionally, many people are less organized than I am. They might miss or skim their email then forget about it among the 10,000+ messages still in their inbox. They might lose their notes under a stack of other papers. And everyone forgets things from time to time, especially if it was only mentioned and was not in writing. Simply, you must follow up with these people. Unfortunately, sometimes you have to keep after someone, as telling them once or twice will not suffice.

I agree that avoiding the phone entirely is ridiculous; it’s a necessary and very useful tool. However, it can also be quite a hindrance sometimes, particularly for programmer-types.

PHP Developers on
November 8th, 2010 at 4:14 am

Nice website for PHP developer resources

Many of the difficulties and time spent to overcome them could be better spent by just outsourcing that component of difficulty

Leave a comment

Use the form below to leave a comment: