Node.js vs PHP - The Workshape Smackdown!

Following on from our previous blog post in this series, Python vs Ruby, we have decided to look at the two cohorts of developers who want to use Node.js and PHP in their next jobs and compare them against one another.

Node.js was initially released in 2009. It is a platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. It provides an event-driven architecture and non-blocking IO and is most commonly used for web development. It's popularity has risen heavily since its inception. The ability to use Javascript on both the client and the server has undoubtedly lead to the rise of the Full Stack Developer.

In contrast, PHP was initially released 20 years ago in 1995. It is a server-side scripting language that has evolved steadily over the years from a procedural style to more of an object oriented language. PHP is the most commonly used language in terms of number of websites powered by it according to W3.

As two prominent web programming languages we felt it would be interesting to share what our data shows for each of these groups. We will follow the same format and present the same information.

Data Set

The dataset consists of 1138 anonymised developer profiles from Workshape.io. The data was collected between 4th October 2014 - 14th April 2015 and includes developers from over 62 countries. The developers who are seeking roles with these technologies account for 15% of our users.

Venn Diagram

The venn diagram shows the relative popularity of each language in our system with PHP being slightly more common in our system with roughly 9% more developers specifying this language as something they want to work with (681 vs 571). The overlap in terms of developers looking for positions with both technologies sits at 17% of PHP developers and closer to 20% of the Node.js group.

Seniority

For both cohorts the most common level of seniority seeked on our platform is Senior folowed by Mid, Lead and then Junior.

Levels of Seniority

The data paints the picture that developers in both languages tend to want to operate with a high level of seniority. The relatively young age of Node.js in comparison to PHP does not seem to be a factor here. This could suggest that seniority - or perception of seniority - is independent of experience with the language.

Most Common Secondary Skills

Unsurprisingly in both instances Javascript is the most common secondary skill and with CSS following close behind. Thereafter differences begin to emerge with Angular.js a key component in the repertoire of a Node.js developer. MongoDB is the data storage layer of choice for Node.js whereas MySQL still remains the popular choice for PHP developers - this is no shock considering the common LAMP stack (Linux also gets mentioned by PHP developers). Ruby seems to be the most popular alternative server side language for Node.js developers whereas Python dominates in the PHP group.

We can see some indication of the common trends of the prefered tech stack: MEAN for Node.js developers, and LAMP for PHP developers.

Secondary Skills Distribution

Skills distribution

The skill distribution shows a standardised distribution, with skills on the left meaning they are more commonly desired by Node.js and on the right more popular with PHP developers. This visual reinforces one of the main signals of the previous section - Angular.js is a lot more popular with Node.js developers. This begins the pattern whereby all JS frameworks except JQuery lean to the left - we'll let you draw your own conclusions on what this infers.

MongoDB as the common choice for Node.js devs and MySQL for PHP is reinforced here too. Redis leans to left, and Memcached to the right. As secondary server-side languages Node.js developers tend to have a greater association with Ruby and Go whereas PHP has stronger ties with Python and Java.

The trend that we see in this data is that the average PHP developer seem to be aligned with more established technologies, whereas the average Node.js developer is more inclined to experiment and work with new frameworks - particularly in the realm of Javascript e.g. React.js, Ember.js.

Average Workshapes

Workshapes comparison

Workshape overlay

The average workshapes of both cohorts share a very similar form. However it seems Node.js lean slightly more towards front-end and testing with PHP developers just leaning slightly in favour of back-end, operations, analysis and data-science. The other dimensions are roughly equal.

There isn't too much to distinguish between the two here but it does make sense considering the other data that Node.js tends to be slightly more front-end oriented given the findings of the secondary skills section and its association with front-end technology.

Conclusions

Node.js and PHP developers, like their Ruby and Python counterparts, tend to pick one of the two languages when specifying what they want to work with in their next job. 91% sit in one camp or the other, with only 9% specifying both.

The seniority split for each group is similar with both groups most common level being Senior. This raises some interesting questions regarding Node.js given its relative infancy compared to PHP, but it perhaps shows that the perception of seniority is not contingent on the length of time a developer has spent working with any one technology.

Finally, its no great relevation to validate that Node.js has a much stronger affiliation with Javascript and various front-end frameworks whilst PHP is more grounded in more established, back-end technology. MEAN and LAMP developers are represented in our data set and make up a sizable portion of each cohort.

Shape overview

We hope you enjoyed this post everyone - we're having a blast writing the Smackdown! series. If you have any recommendations for the next comparison we do, please make sure that you let us know in the comments below. Take a minute to subscribe and talk to us on Twitter. And of course, if you're interested in seeing how you shape up, check us out on our homepage and tell us how you want to spend your time!

alt