Skip to content

Getting Hired

Dear reader,

Those that follow me know that I am coming out of a week and a half of funEmployment. My previous employer decided we should part ways. This post is not about that. This post is about how seven days later I had an offer letter in my in-box. Most importantly, it’s on how you can do this too should you find yourself in this situation.

Whether you are currently unemployed or you are just looking to switch jobs, the first step is always the same.

Step 1: Build your network

As long as you are working, this step is never done.

I can’t tell you the last time I got a job from just submitting an application. I think it may have been when I was hired at the Christian Broadcasting Network back in the early ’90s. Since then, almost all of my positions have come from people I know either hiring me or introducing me to people they know. Your personal network is very important to your career. You need to know people who can help you, and who are willing to help you.

How do you build your network? I’ll be honest with you here, it’s not by trying to connected with everyone on LinkedIn. Your network is so much more than your LinkedIn profile, just like your resume is so much more than your Github profile.

You build your network by building relationships, personal relationships. Yeah, I know, this part is hard, it is time consuming, it can’t be automated. That’s the whole ‘personal’ part of it.

Still, it is easier today than it used to be. Back in the day, my network included those people that my parents introduced me to. not a trivial set of people, but by no means as far-flung of a network as it is possible to build today. These days, I can build relationships with people, even become friends with them, without ever having met them in person. Let’s me give you an example that is not me.

I have a friend on Twitter named Andrew Caya. (Make his day, follow him on Twitter) :) To the best of my knowledge, I have never met Andrew. He is in Montreal, so if we have met, it would most likely have been at a PHP conference. If we have met in person, I do not recall it. Until sometime last year, I did not know who he was.

One day however, when looking at my Twitter notices, I began noticing a pattern. Someone named Andres Caya had started liking and even retweeting some of my tweets. Not all of them but some of them.

This went on for a few months. Then I noticed that he subscribed to Nomad PHP. The next meeting, he was there in the Slack channel and started asking questions.

As time went on, Andrew and I started talking. Twitter, Slack, where ever we ran into each other. We greet each other as friends and talk.

I have no idea if Andrew was consciously trying to rise to my attention by liking and retweeting  my tweets, but even if he wasn’t it worked.  He has now joined my network. We interact on a regular basis. He took the time to build a personal relationship with me. He has cultivated it to the point that if Andrew wrote me and asked for an introduction to someone in hopes of landing a job, I would not hesitate.

Andrew put in the time to expand his network by one. I don’t know if he repeated the process, I just know he did it with me.

Does Andrew’s method scale? No. But neither does any method of building relationships. You have to put in the time, you have to put in the effort, it has to be sincere. If you do it though, then each relationship is one more door for opportunity to knock on when you need it.


Step 2: Build your reputation

It is not a matter of who you know, it’s a matter of who knows you…and that comes with the reputation you’ve built.

Those that know me know that I don’t often talk about bias, and that ‘privilege’ is one of my trigger words. However, I will admit that I have had doors opened for me that may not have been opened for others.

However, one of the most important doors ever opened for me – the one that led to my career in developer relations (DevRel) and training – I kicked in myself. It had nothing to do with who I was (I was nobody at that point) or who I knew. (I didn’t know anyone in the PHP community) This did however, lead me to a series of fortunate events that led to my eventual career in DevRel. All because I started building my reputation.

My road to DevRel started in a very selfish way. I was trying to build my name in the PHP community. To that end, I had submitted code to the site that Zend used to maintain. I was waiting very impatiently for them to approve and release my code so my name would rocket to stardom as people saw how awesome I was. (It’s my story, I’ll tell it like I want) Eventually, after waiting hours and even days for someone to release my code, I  wrote and asked if there was a problem. I got a very nice reply stating that no-one maintained the list anymore so no-one was available to release my code.  I sensed opportunity and jumped, I volunteered to maintain the list.

It took a few days to convince them but soon I was handed the keys to the kingdom. Can you guess what my first official action was? YUP, I released my code. I also began reviewing – and sometimes releasing – all the code that had been submitted by others. I didn’t release all of them, this was around 2004 and there were only so many MySQL wrapper classes that we needed as a community. Still, I cleared the backlog.

One thing led to another and by mid-2005, my actions led to an interview, which led to me being hired, which led to me taking over DevZone…you see where this is going.

I didn’t have a network at Zend. When I started volunteering, I didn’t even know I wanted to work there. I simply sensed an opportunity to gain access to a platform. A platform that I may be able to use to build my reputation.  That reputation eventually led to a job…and a very satisfying career.


Step 3: Help someone else

Here’s the part I left out of the story above. The person that I was interacting with at Zend in regards to the code site, they helped me. They gave me a hand up when I needed it. Yes, they would have never known me if I hadn’t volunteered to do the work. But once they got to know me, they decided to help me.

I recognize that I would not have my current career arc had it not been for them. Also people like Mark de Visser, Marco Tabini, Keith Casey, Adam Culp, Paul Jones, Brandon Savage, and a bunch of other people who have introduced me to people, advised me on questions, and generally given me a hand up when I needed it.

If I have privilege, it is that through the PHP community, I have met some awesome people. People that have directly helped me in my career. I say directly here because there is a long list of friends who have advised me, inspired me, and at times dragged me kicking and screaming along my path. I’m not going to start listing them here because I’ll leave someone out, and I don’t want to do that.

Recognizing that the PHP community as a whole has helped me have the career I have, I also recognize that it is up to me to find those who need a hand up, and help them.

This post is not supposed to be self-aggrandizing. I’m not going to list off all the people I think I’ve helped. I will say that those who I’ve helped, I’ve tried to do so without any strings attached and without any expectations.

I am where I am not because of privilege, but because others helped me. I owe a debt to them. Helping others along their career path is my way of paying it back.



That’s what it takes.

  • Build your network
  • Build your reputation
  • Help Others

Do this before you find yourself funEmployed. This way, when the time comes, you can more easily find a job when you need one.

Harvey McKay said it best.

“Dig your well before you are thirsty.”

Until next time,
I <3 |<

Microsoft is now a pink fluffy bunny! (well not really but they aren’t the evil empire anymore either)

Dear Reader,

[Disclaimer: The views expressed in this post are mine, go get your own.]

I’ve just returned from my first ever “Microsoft Web Development Summit”. Reflecting back, I think the summit was a success on Microsoft’s part because it did change my perception of the company for the better. I won’t be giving a blow-by-blow accounting of all the sessions, I’m sure other attendees who were paying more attention will be able to do that. Instead I ruminate on a few of the things I picked up.

Microsoft’s self-stated goal of MS WebDev is to engage the PHP community in a conversation. To that end, I believe they succeeded for the most part.

Microsoft is schizophrenic

On the one hand, we were treated like royalty while there. The hotel was beautiful, the alcohol was plentiful and other than the fact that the employee cafeteria had wonderful smells coming from it yet we ate standard buffet fare from Microsoft Catering, the food was good. Each day had at least one really good session in which I felt the presenter was there more to listen than educate.

On the other hand we had presenters that I considered “Trojan Horses”, like the MS Office guy that gave us a history lesson instead of a frank discussion on how to create/edit MS Office documents in PHP.

Microsoft really is reaching out and I do respect them for that but I was upfront with them when I told them that trust will take time. My distrust of Microsoft stems from a long line of events, buying FoxPro to OOXML and I won’t even start on DRM here, there are many things I do not like about Microsoft. I give them props however, for their efforts in reaching out to the PHP community. That takes a lot of guts and I respect at least this little portion of Microsoft for making the right steps.

For the most part the presenters were much more like Laren Cooney’s session in which she first demanded that we close our laptops (so we couldn’t talk about her in the chat room) and then proceeded to host a session interesting enough to keep my laptop closed.

Even though I teased that the MSSQL session was “um…unproductive” After it was all over, the presenter (and I do apologize since I’ve obviously lost his card) came up to me and we had a very productive discussion over a drink. I won’t say we solve world hunger or anything but we agreed on a good first step.

Microsoft is Trying

For all their problems (most of which seem to stem from their legal department) at least the parts of Microsoft we talked to are honestly trying to reach out. They really want to know how they can help. They are severely hampered in what they can do (see aforementioned legal dept.) but within those bounds, they want to help. I was impressed by their sincerity and their willingness to listen, even when it wasn’t what they wanted to hear. (For some reason, telling them what they didn’t want to hear became my job…I’ve got to learn to keep my mouth shut)

The summit was opened and closed by Sam Ramji. The opening set the tone, “We want to listen”; the closing was a great wrap-up, “We heard what you have said”. Sam also crawled up onto a nearby table, sat down, crossed his legs and with his body language, set a very informal tone to the closing. (Note: In the opening session, I found it very funny that he wore a T-shirt that said “Obey Propaganda”, not sure if anyone else notices but I giggled about it)

In the closing he went over some of the things they had heard and then asked up for other ways that they can improve, not improve PHP on Windows but improve Microsoft. I don’t know Sam enough to know whether he was sincere or just stroking us but he did seem to be sincere and time will tell whether he was or not.

Parting thoughts

Overall, I am cautiously optimistic about Microsoft. If they can just get out of their own way, there are some great people there that are trying to change things. Mentally, my default image of Microsoft is slowly changing from “Balmer’s Monkey Dance” to that of Lauren, Sam and Karri, the jury is still out on whether that is a good thing.

So I’ll leave you with a list of memes for the summit. Those of you reading this that were there will smile, those of you who weren’t there, will just be confused. :)

  • StickerBoy
  • Mimosas
  • RockBand2
  • Mac Reboot Sound
  • …and of course…teabag

Thank you Joe for inviting me, I really had a great time.

Until next time,

CIO Magazine Trolls and Gets Spanked Hard

Dear Reader,

[DISCLAIMER: What you are about to read is my opinion and should not be construed in any way to be an official statement from my employeer]

CIO Magazine popped up on my radar this morning for an article they wrote on JavaScript. (I think I read coverage of the article on I noticed when I went to read the article that they also wrote one on PHP. I thought I would be delighted as I’ve been on their mailing list for several years now and thought that finally, they had caught a clue.

The article, “You Used PHP to Write WHAT?!” is the first in a series titled similarly that purport to examine different language options. A cursory read of the two articles published to date show that they do more to steer CIOs away from the two languages reviewed so far, I am assuming that the series will culminate in an article on the language that the magazine has “blessed”.

The PHP article however, is not only negatively biased, it’s factually incorrect and at times, insulting to those of us who use the language. I’m going to look at a couple of the statements that the author makes and discuss them. I will do my best to not take them out of context but I urge everyone to visit the article and read it for themselves instead of just taking my word for it.

There is no single right answer to every problem and PHP is no exception.

The author, Ken Hayes, gets this right. No one that I know that makes their living using PHP has ever suggested that PHP is the right answer for every problem. I speak only for myself in saying that it is the right answer for just about every programming problem I’ve tackled in the past seven years. Quite possible because I’ve made my living for most of that time writing web applications and in my opinion, it is the right answer for just about any problem you can solve on the web.

In particular, PHP is not thread safe—which means that multiple instances of the same routine may interact with each other, resulting in a crash on the Web server.

He is correct, PHP is not “thread safe”. I’ve built multi-million dollar web based applications using PHP and never once in seven years have I had two instances of PHP interact with each other, much less crash a web server. As a matter of fact, I can’t recall one single instance in my career where a “crash” (crash being defined here as bringing an httpd daemon down and a server not being able to serve web pages, dynamic or otherwise) on a server has been related to PHP. Yes, if you try real hard you can ‘fork’ PHP on Linux and do some shared memory operations if you have the right libraries installed but by-in-large, that’s an edge case. PHP applications are not written like that. I do invite Ken though to share his experience on the “thread safe” issue because I for one want to learn and obviously he has some knowledge on the subject.

PHP has suffered its share of security problems, and it isn’t particularly well-suited to large or extremely complex site implementations.

This is interesting because now Ken is tying one truth – that in the past, the language itself has had security problems – to a wholly unrelated supposition, that PHP isn’t well-suited to large or extremely complex site implementations. The supposition is not true, Yahoo uses PHP as it’s “glue language” and sites like Wikipedia and Facebook use it as their primary language.

Several dynamic or “scripting” languages, including PHP, Perl, Java and others, have their roots in the C language, which makes them a natural fit for developers making the transition from traditional application programming to Web programming.

The last time I worked in Java (it’s been a few years, maybe things have changed) Java was not a scripting language…I know, minor point but it’s just one more inaccuracy in the list.

Migrating from one database server to another is usually quite simple since most of PHP’s functions have a common naming convention. A programmer can do simple global pattern replacements to change from one database brand to another.

Now I know his target audience is C-Level and that means he has to dumb things down a bit (short words, small sentences) but really, this is just wrong. For all but the most basic select statement, SQL dialects are different enough so that changing the function name is just going to break your application, not allow you to move to a different back end. A knowledgeable author would have pointed to PDO or Database abstraction layers like the one in Zend Framework that will help mitigate the dialect differences.

When should you use PHP?
* Creating an intranet site.
* Prototyping an application that will be converted to Java or some other language.
* Creating a Web database application.
* Deploying an inexpensive or quick solution.
* Using ready-made apps from or other sites.

Now this is just insulting. PHP is not designed to answer the questions that Java is. (Mainly, how do you build a large, bloated application that will ensure employment of the development team?…now I’m just being naughty…ignore that last comment please) Oh and if there are an C-Levels reading this, when the author says “converted to Java” he means throw out everything you’ve done and rebuild from scratch. When I was a Director of IT, that was one of the main strengths of the language, not a drawback. Yes you can prototype in it, but then you can flesh out your prototype and finish the job, all without retooling.

But that’s not to say that PHP is always the best solution under every circumstance. In general you should not use PHP:
* Where data security is of high importance.
* In Shell or automated scripted applications.
* In enterprise applications where scalability takes higher precedence than economy.

Here, in my opinion, our author gets 0 out of 3.

The language itself has absolutely nothing to do with the security of your data. If it’s of high importance, hire programmers who understand this and can build your application accordingly.

PHP is actually a very good shell scripting language. As the author has already pointed out, it’s easy to learn but most importantly, your developers can leverage their existing skills instead of having to learn something like bash. It is true that there are cases, when writing shell scripts, that you have to ‘shell out’ to get the job done but if done properly, it’s no more of a security risk than calling scripts from within a shell script. Honestly, unless you are building on Windows, it’s an excellent choice for writing shell scripts.

Again with the scalability. I’m going to defer to someone I respect as an authority on that, Mr. Theo Schlossnagle. In an interview I did with him a while back, he had this to say about “scalability”.

Theo Schlossnagle:
I’ll just say that languages don’t scale. The word doesn’t even apply to a language. It’s like saying, “does English scale”. If you have a lot of people speaking English then I guess it scales. It’s really a bad word for talking about languages. Saying “Java doesn’t scale” simply means that the code you wrote in Java doesn’t scale well. That’s because of the code you wrote, not Java.

The entire interview can be found at “30 Minutes with Theo Schlossnagle”, that quote is about 1/2 the way into the article. I encourage you to read that section to get the entire context of the quote. (The fact that I’m quoting from an article on DevZone, again, does not imply that my views are in any way representative of my employers)

PHP is sometimes criticized for being slow, and detractors claim that it has somehow been crippled in order to prompt users into purchasing the Zend Optimizer.

It’s quotes like this that totally discredit the author even though he claims to be a PHP developer. A quick look at the “Zend Optimizer” page clearly states that Zend Optimizer is free. I really don’t know who he’s talking to about buying Zend Optimizer.

In larger implementations, PHP can suffer performance hits and may need an external boost from a caching engine.

I’ll do the author one better here, in medium to large applications you should most assuredly run a caching engine. That’s true of any scripting language. However, the author seems to ignore the fact that even languages like Java (which he seems to hold in high esteem) suffer from performance issues. Luckily for those of us who use PHP, the answers are usually free. (See above point)

PHP isn’t Java.

Finally a second correct fact in the article. PHP is NOT Java. I’ll give the author a point for stating this (fairly obvious) fact.

For large enterprise solutions, PHP makes a great prototyping or feasibility tool, but heavily loaded sites that require thread safety, security and stability should use Java.

Opps, here the author blows what little credit he got for his true fact. He also returns the the insulting tone of “PHP is a cool toy but ‘real developers’ use Java”. Sorry but no, PHP is faster to develop in, the solutions are just as stable if not more. The one true fact you have here is if you need a threaded application, where the threads need to interact with each other, then yes, you need to look at another language. Personally, I wouldn’t use Java but that’s because I spent a year in system administration and know what a royal pain it is to keep things like Tomcat running.

Now for the “spanked” part

I do hope you didn’t think that my analisys of the article was in any way “spanking” CIO magazine or the author. As of this writing, 30 comments have been added to the article that do a fairly good job of it. I won’t quote them all here or even rehash them, you can see them all nicely here on the Comments Page. I will however quote one…and I’ll do it verbatum because after all of the authors talk of scalability, performance, and security, this commenter spanked their ass pretty hard.

PHPGuru wrote:

Oh and btw, this very site uses drupal, a PHP CMS. I wonder if this site is secure and scalable.. hmmm.. maybe i should not use my real email address here on the comment..

Ouch! Ok, so either CIO magazine doesn’t consider their content very important, they don’t expect a lot of hits or they don’t consider security that important…or..they realize that they can build it faster, better, cheaper, and secure if they use PHP.


Until next time,


DISCLAIMER: The views expressed in this article are my own…go get your own.

Are Tivo and LinkedIn run by the same idiots?

Dear Reader,

DISCLAIMER: I have 2 Lifetime Tivo subscriptions and have been a member of LinkedIn since it was in beta.

I know a lot of you out there right now are scratching their heads and wondering what a Networking site and a PVR/DVR have in common. Here is what they have in common, ranks of upper management with closed minds.


I was out at yesterday and the first thing they did when I hit the page was ask if I would answer a survey after I finished my business. I of course agreed (I’m just that kind of guy) and so when I finished, I filled out the survey.

I gave them the usual answers anyone visiting would.

  • 30 seconds is too long to wait for a page to load
  • Your site navigation is goofy
  • Your documentation is incomplete

However, the question they did NOT ask me is “What could we do to make your Tivo more useful to you?” See that’s a question I could write a book on. However, I won’t here, I’ll boil it down into a single concept. “Open it up and let me discover new ways to use it.”

I’m a programmer, when I look at a box like that (or my XBox 360) where the mfgr has obviously gone to great lengths to make sure that I can never run “unapproved” code on it, it just makes me sad. Open it up a bit. Let me build services that can interact with my Tivo. I understand your issues with copyright and I’m not trying to steal content. but hell, it’s a Linux box. Let me write a service that feeds a widget on my blog that shows what I’m watching at the moment. Let me suck down the data on what it’s recording and slice it and dice it myself. Who knows, maybe I’ll find a better way to recommend new shows.

There are hundreds of thousands of ideas for product enhancements that you don’t have to write, we, the hordes of hobbyist programmers and 21 Century tinkerers will make the Tivo an indispensable piece of equipment if you quit locking us out and realize that the Tivo can be so much more than an appliance, it can be a platform.

Oh and it’s ok if you don’t make any money off of each and every service written…make your money on the stuff you do and don’t try to charge me for the privileged of making your device better. Get it together Tivo, if you open up and let us help you, then Hollywood can’t stop you. You can either be the big dog, or stay a whipped puppy.


These guys still don’t get it. (This is getting to be a regular topic for me.) I’m on LinkedIn and FaceBook both for very different reasons. However, I’m on facebook 3-4 times a day and linkedin 1-2 times a week. See the difference LinkedIn? Pictures in my profile aren’t enough, I want to actually DO SOMETHING with the data I’ve been giving you all these years. We’ve had this discussion before, “Why LinkedIn Sucks (and why I’ll keep using it)”, “LinkedIn Rant – Part II” and you’ve even promised progress but so far…nothing. Open up, let me do what I want with my data and all of a sudden you are useful enough for me to start paying for your service. Have you ever stopped and wondered why you aren’t growing as fast as facebook? It’s not the teens and tweens on facebook, it’s the fact that on facebook, people have freedom to experiment. On LinkedIn, I still can’t write a program that allows me to simply figure out which of my friends know each other…hell on facebook it’s a game!

If Facebook ever wises up and decided that it wants to be the big dog in your yard, you are so toast. Don’t wait for OpenSocial, give me an API and give it to me now. Anything I can do via a web page should be doable from an API. Do that and do it NOW and it’s a good start…it’s only a start but it is a start.

To both tivo and linkedin, I write this post, not because I’m a disgruntled user but because I really like both of you. Both of you however, need a swift kick in the ass to get you moving before you are relegated to the pile of other services I liked once but are now gone. (anyone remember GEnie? I LOVED GEnie!) Come on guys, closed is so last century, open up, let us into the playground and I guarantee that what we create will do more for your bottom line than any overpriced CEO will ever do.

Until next time,

The Death of Civility

Dear Reader,

When did we become a rude nation? I mean we are not France rude, but none-the-less, we are rude. I’ve give you 2 examples.


I’m on my way back from a great time in California. I love the weather there (except today because it’s got me socked in at SFO) I’ve truly had a great time. But it struck me while I was out here that people out here cannot express a thought without punctuating it with a “fuck” or a “goddamn”. It’s like an epidemic out here. Casual conversation out here is R-rated and it doesn’t seem to bother anyone. I can remember when foul language was relegated to movies and late-night TV. I had lunch one day with a couple of colleagues. One of the members of our party could not find a way to talk in a conversational tone or complete a sentence without a profane punctuation. Even in California, people were starting to turn and stare.

People like to make fun of southerns but at least we still hold to the concept of “polite company” and temper our language when it may offend others.


In the past 2 jobs I’ve had in California, I’ve been the “Red State” on the org chart. it’s not quite that bad where I work but I am the vocal minority. However, there is one that, Democrat, Republican, or thinking voter, all used to agree on. When refering to a president, past or present, we use the honorific, “President”. I was listening to a conversation the other day between two people who were not not native Americans. One said something about conferences not being in America and the other immediately said “yeah, because of Bush”. (IMHO, ROW does not dislike America…Europe does. For some reason they feel they can speak for ROW.) To the point though, it’s “President Bush” not “Bush”. The Democratic party has produced the two most embarrassing presidents in my life time and I still have the civility to refer to them as President Carter and President Clinton. It’s not a sign of respect for the man, it’s a sign of respect to the office.

Anyhow, just felt the need to rant. If you think you recognize the people in this post, I can guarantee you that you don’t. Quit trying to guess and just flame me for having the audacity to have an opinion.

Until next time,