DEV Community

Mike Oram
Mike Oram

Posted on

Stop expecting tools, start expecting understanding

In my role at Mayden Academy, I speak to a lot of companies about their needs for new developer staff. With the current big trend towards front-end applications and JavaScript frameworks, I’m seeing that companies are increasingly making skills with specific frameworks a requirement within their job ads. I will always, always advise against that.

Here’s why.

A developer with an understanding of vanilla JavaScript – who has dabbled with a few of the most popular JavaScript libraries and frameworks – will be able to pick up new frameworks and libraries with ease.

Companies expecting years of experience with React / Angular / [insert your favourite framework here] are entirely missing the point. Would you rather hire a developer who can only write React, or someone with a real depth of understanding of JavaScript who can pick up any framework?

Unfortunately there are far too many developers in the industry today who were ‘brought up’ on a particular tool or framework, rather than understanding the fundamentals of a language before picking up its tools. As an industry we need to start encouraging training organisations to focus on vanilla languages when teaching beginners, not on shiny new tools.

At Mayden Academy we’re determined to ensure that our graduates are set up for long term careers, not for skills that will plug short term gaps in the job market for now. Sure, we teach tools and frameworks too, but we don’t touch them until our students have a solid understanding of the technologies behind them.

Hiring people who have experience in specific tools / frameworks is no a bad thing. But don’t make it a requirement for your junior level positions. If you’re making specific tools / frameworks a requirement for a junior position, I’d suggest you take a good look at the position you are trying to fill. Is it really a junior developer you need?

Invest in junior developers by recruiting people who understand vanilla technologies, and then teaching them your particular toolset. My guess is that this will vastly increase your potential hiring pool.

Top comments (15)

Collapse
 
robencom profile image
robencom

Being a PHP developer, I couldn't agree more, since PHP has more frameworks than any other language.

But sadly, lately I am seeing more announcements such as 'Senior Laravel developer' than 'Senior PHP Developer' which doesn't make sense to me, although I do know Laravel pretty well and enjoy working with it.

In my opinion, if you know the fundamentals of a language very good (such as PHP or ECMA6), then you would probably need 1-2 week to learn a new framework (such as Laravel, Yii2, React, Angular 2/4/5/6..).

I was discussing this topic with a friend just yesterday, it is funny to see it today here :)

Collapse
 
chilimatic profile image
j

php has more frameworks than any other language? :D ... php is not even close to javascript ... ^

Collapse
 
robencom profile image
robencom

FYI,

PHP frameworks:
en.wikipedia.org/wiki/Category:PHP...

JavaScript Frameworks:
en.wikipedia.org/wiki/Comparison_o...

I surely am talking about the most used/wanted/required/desired frameworks that employers would want you to know.

So in this context, when it comes to JavaScript, it is usually Node, Angular, React and Vue.

But when it comes to PHP, you've got Laravel, Symfony, Zend, Yii, CakePHP, Magento, CodeIgniter, Slim, Silex, FuelPHP and Phalcon. Not to mention Drupal/Joomla/Wordpress which being CMS they have somehow became a skill/framework for PHP developers to know and work with.

Surely you can go on and create a JS framework of yours and put it out there, but what I was talking about is what is demanded in the market. When it comes to JS, knowing the above mentioned FOUR frameworks will get you at least 90% of JS jobs. But sadly, when it comes to PHP, knowing about FOUR PH frameworks, would probably land you about 40~50% of all PHP jobs (depending on the frameworks).

Thread Thread
 
chilimatic profile image
j

node is not a framework ... node is an runtime environment. And there are so many more frameworks you just basically used the most popular ones frontend ones that came to mind.

I just hear someone who mainly works with PHP telling me how JS is.

Thread Thread
 
robencom profile image
robencom

I mentioned Node just I mentioned WordPress, as "technologies" (framework or library or CMS or whatever) related to the corresponding language, and that "technology" is what is wanted so you get a job nowadays.

I am not telling you how JS is, God forbid, you know best, I am telling you what I am seeing in demand by the companies (at least in my region).

The point was, as the author mentioned, to focus on the language, and not on the technologies related to the language.

I see that you made 2 comments since you joined dev.to and they are both in this thread, and both of your comments are a bit, JUST a bit, arrogant and filled with attitude. Allow me to advise you to drop some of that attitude, if you ever want to be respected by the people you interact with.

;)

Thread Thread
 
chilimatic profile image
j

Well you can see it that way. I don't think I'm better ... I just think you said things that are wrong. there's a difference.

I don't argue with the conclusion of the author

You are defending your inital argument by deflection and now suggesting that I'm arrogant, in an passive aggressive way, just because I point out that your statement is wrong.

I can see why it appears arrogant,I am not even bothered it's only natural to have this emotional response.

So I appologize if I hurt your feelings and to me this conversation is over :).

Thread Thread
 
robencom profile image
robencom

I really regret getting into an argument with you "j". I should have said "let's agree to disagree" from the begin with and spared myself the trouble :D

Anyways, I hope you start conversing with other developers with a bit of more respect, and make your arguments with facts and not sarcasm.

Thread Thread
 
chilimatic profile image
j

I am not sarcastic at all, but yes probabbly you should've :). It was a waste of time anyway :).

Thread Thread
 
robencom profile image
robencom

I don't think anything is waste of time. Maybe here we had some misunderstanding/miscommunication.

I just hoped that you explained your point of view with more reasoning than smilies, because I see from your GitHub that you are an active developer and I respect your work and would like to contribute to it.

I would really like to discuss some of your GitHub projects and get to know your point of view about PHP/JS as a fellow developer.

Thread Thread
 
chilimatic profile image
j

look, I was not sarcastic. So everything I said was what I meant to say. I learned to be precise that's all, JS has more frameworks than PHP, node.js is definitly no framework. Those are facts not an opinion.

That's it.

If you want to contribute, you are more than welcome to. Pick a project / lib, fork it, make a PR I am more than happy to get some feedback another perspective on my code.

Collapse
 
pixeline profile image
Alexandre Plennevaux • Edited

I'm so glad to read this - This is exactly the path we chose at becode.org here in Belgium, based on the understanding that js frameworks come and go. So we work on the basics using learning objectives and a mixture of learn by yourself and project-based learning. Learn the fundamentals to understand the "whys", then learn how to get to production quicker, using frameworks, improving your "hows".
Thank you for this great writeup!

Collapse
 
pmcgowan profile image
p-mcgowan • Edited

I tend to agree for the most part - I've used a few frameworks and I find myself falling back to the basics quite a bit. Vanilla is comparatively fast, and with es6 it's coming closer to comparable to some of the libraries out there (looking at you, jQuery...).

My first job was with Angular2, and I had zero js experience. I remember the first time I realized that running a massive processing bohemoth in js was more that twice as fast as the ng loop. Since then, I often optimise in vanilla.

From the other side though, I can see why a company which builds apps exclusively in one framework would value experience in that particular framework, as with the breadth of front end libs / frameworks, node libs / frameworks, it could definitely be advantageous to have focussed experience in a subset. That being said, everyone must know vanilla js - I feel you may be limiting your abilities by not fully understanding the basics, and applying that to how frameworks work under the hood, as well as where their power and shortcomings are.

Collapse
 
antonfrattaroli profile image
Anton Frattaroli

Have to disagree. JavaScript and React do work well together, embracing the prototype-based, modular composition, Dan Abramov school of OOP. But angular seems to want to abstract all that in favor of the classical inheritance hierarchy Martin Fowler school of OOP.

A JS expert would probably scoff at how restrictive angular feels. Given something like a Salesforce api metadata-generated data model would be easier to work with in a prototype system vs class model.

But I'm biased. I don't think modern application infrastructure warrants classical OOP patterns, which were designed for large code bases.

Collapse
 
mimi26 profile image
Mimi

Junior level positions? You say that as if they still exist.

Collapse
 
mporam profile image
Mike Oram

Interesting, do they not near you? Or are you making the point that the barrier to entry for juniors is very high now?