I had an initial assessment with a large company recently. A global financial corporation who advertised their in house "coding academy" or similar. The role was for very junior level devs as it included a few years' of serious training within the company itself.
The wording of the job advert was - and I explicitly checked this - "you should have a base knowledge of coding in any language".
They send you a standard Hackerrank test; it comes with a generic Hackerrank sample test. I did the sample test - it offered the full gamut of languages supported by hr. [I don't know if that's standard abbreviation for Hackerrank but it'll save me typing that out a million times here, so go with it.] I took the test in PHP and it was very straightforward.
Now, perhaps my error was at this point. Perhaps I should have done it in the Javascript setting hr offers - which is Node.js. I have been taught some vanilla Javascript, and for the kind of problems hr provide it would have worked fine. I was put off by the block of code provided in the Node.js option - I haven't yet dealt with Node at all, and didn't know what this chunk of code was representing in the hr environment.
Still, I double checked the job ad and the email I'd received inviting me to test. "Any language", and no note in the email to say the languages would be restricted from the hr standard.
Well, you guessed it. They knocked about 30% of the available languages off for the company's actual test; and PHP was one of the ones to go. I lost a half hour working out how to get my FizzBuzz (which took all of 3 minutes) to output in Node and considered giving it up as a lost cause, but did eventually get it sorted. Annoyingly I then had a time shortage and questions 2 and 3 got pseudocoded and no more than that.
I'm under no illusions about how my result will be scored; if the code doesn't pass the hr test cases, it doesn't matter what happened, you don't get the points.
At the start of the test I was assured I would have a chance to give feedback at the end. Maybe they sensed my mood because I didn't ever get to a feedback screen; just the company's global homepage. Insult to injury...
I'm irritated by the way the whole thing was presented, and I'm irritated that my "base knowledge in any language" didn't actually help me here when any language didn't mean that. However, if nothing else, it was very good practice.
More so, I am wondering just how out of favour PHP is if it's not even in the top 15 language choices for entry level assessments like this. I understand that I've learned it within my course for more than the obvious reasons; I've learned it in a way that will help me learn other programming languages in the future.
My question is - should that future start right now? Is this likely to be the case on most generic assessments? Shall I set myself to learn Python before I even consider applying to a grad scheme elsewhere? What is the general opinion on PHP - is it dying out?
Top comments (6)
Hello Jenny!
I think PHP is a really good language: good community, lots of libraries, conventions and frameworks are very matures.
In my company, we were using PHP as our main language since 2016 but we are now facing issues to recruit for this specific language.
In France, a lot of CS study are now teaching NodeJS, Java or C/C++ but PHP got abandonned... This means PHP developers will be more rare in the future.
This is why a startup like mine is now migrating from PHP to NodeJS.
Is PHP is dying out? I don't think so, PHP still powers a lot of website but eventually it will be less and less used.
I see in other countries the same mindset. And at the same stage companies migrating to another languages to run away from PHP.
And the truth, I believe, just a few really assessing the right tech for their projects (even with PHP)
Interesting - so it's a sort of spiral due to lack of training leading to lack of demand. A shame, but maybe it'll change again in the future
zdnet.com/article/2020s-fastest-ri...
Hey!
Regardless the opportunity, learning to code and start facing some interviews is a great start.
About the language to start : I would recommend you one that ensures best practices and easy to start with. C# could be the best one. PHP is in fact a great language to start with but keep in mind that the setup step can take longer specially if you don't understand this part yet.
Also, PHP is not dying at all. This last years new versions had been released (and quite impressive from a performance point of view).
Another advice is :start by learning a language first and then a framework.
After you pick a language I can give you useful resources for starting
Good studying
Thanks Rúdi - I will be in touch, I appreciate the help!