DEV Community

Discussion on: When PHP Framework Sucks Series: Framework topic on a job interview

Collapse
 
miberg81_0 profile image
Michael Berger • Edited

I get your idea, but don't agree 100%.
The level of control you have in a framework is a skill as well. The same way you can learn and improve in coding, you can learn and improve in using the specific framework. And i think that you can't take framework for granted.
You can be great in pure javascript or typescript, but when you come to angular framework - you dive into an intirely different thinking, different structure. It's a bit like learning another language. So a developer who is great in javascript but has no idea of angular - probably not easy for the company to hire. Learning angular takes time.
I think you underastimate the time learning a framework consumes and that's why you think it's not a skill, but a tool.
Maybe the framework itself is a tool (as is a programming language) , but when you learn it you gain a separate skill

I'm a junior dev. I used to be mechanical engineer. When we used to hire my boss was thinking there is no difference betwean 3d software like solid edge and solidworks. So candidates who knew solidworks came in and supposedely were able to work instantly in solid edge. In fact, they were very much struggling, not knowing what buttons to press. Also each tool had it's own consept of handling asseblies... So if fact those candidates needed to be sent to a dedicated course for the framework! Just think of it. Both tools can build identical mecanical structures in 3d, but you can't easily switch from one tool to another. So again, a framework is a skill as well.

In general i think any knowledge we gain in life is a skill

Collapse
 
damnjan profile image
Damnjan Jovanovic • Edited

Hi Michael, thank you very much for your feedback, I see you brought a couple of very true examples. I agree what you wrote about JavaScript frameworks, it is true that they bind so much your code into their structure, and it is impossible to separate that. At least it was like that a couple of years ago, I don't know if anything changed recently.
On the other hand with PHP is not like that. Php already has defined syntax and your backend logic should be highly separated from framework components. I already wrote about this in this article how to avoid shape your app with framework. If you accomplish that, then you do not depend at any level from the framework (at least not hard).
I also studied mechanical engineering in parallel with electronic engineering, and I'm very much familiar with the example you used with 3D software. But I have to add just a disclaimer here, that difference between Zend, Laravel, and Symfony, for example, is way less than between different 3D software.
And I must agree with you that every knowledge you can apply is a skill :)

Collapse
 
miberg81_0 profile image
Michael Berger

Thank you for you reply, Damnjan! Nice to meet some people with similar background. Would be awesome to here about the way you managed to switch to software because i find this process a bit challenging, when you don't have real world experience even to start/apply for jobs...Anyway, it's interesting to know that PHP frameworks are more separated from the language than js frameworks. It's a good think i suppose.

I learned some PHP but was very disappointed that the course i took on Udemy skipped completely on any PHP framework, while a framework was a must requirement in most of the jobs on the market.

I can tell you, though, that recently i had a junior dev interview, that had an exam that specifically asked NOT to use any PHP framework. So probably, at least some of the employers probably agree with your thinking/philosophy on this matter.

Thread Thread
 
damnjan profile image
Damnjan Jovanovic

Hi Michael,
Thank you again for your comment, I'm glad to share with you my experience with my transition to software development :)
To answer your question about switching to programming, back then after finishing studying I discover that I want to progress in software because of an unlimited playground, which was not the case with electronic or mechanical engineering. I had a problem with the limited amount of local companies doing something cool and innovative with hardware, but software opens a whole new world to me.

But, because it was impossible to jump into software, I found my shortcut. I started working as a Windows and MS office teacher in computer school. There I was surrounded with other colleagues who teched other students programming languages and databases. So basically I was in the middle of a big pile of knowledge :D Mine job was only to ask and practice, everybody was eager to help.
Anyway took two years at least to be able to apply confidentially as a software developer at my first dev job.

Frameworks are "must requirement" because they make life so simpler and more comfortable. I could quite understand companies ask generally do you used any framework. I never advocate for not using frameworks at all, but I see so much bad practices while folks using it, that I feel obliged to point it out. Someone doesn't like that because they get used to bind themselves to frameworks (it is usually the fastest and dirtiest path), but it comes with the costs. My mission with this posts will be that one who read it, thinks about that next time and maybe improve her/his code next time.
Another problem you mentioned is exactly that developers are unable to think "outside of frameworks". That does not scare them now, but it could be dangerous in the future when that framework dies or something else become cool.

What programing language you choose at the end if you didn't pick PHP? :)
How it was your path of transition from mechanical eng. to dev?

Collapse
 
tiguchi profile image
Thomas Werner

I like your comparison with 3D applications. There are certainly similarities between 3D apps, and on an abstract level they all do the same. And isn't it ultimately all about the artistic skill of the user and not the application itself? I guess not 100% if a lack of experience with the tool at hand hampers your artistic skills. Blender 3D for example is notorious for having a steep learning curve.

I would not expect a Maya user to be productive in Blender within just a couple of weeks (or vice versa).
It also wouldn't cross my mind to blame the employer for having only Maya (or Lightwave or whatever) workstations available and not the one application I am trained in.

Experience with a tool is also a skill and depending on the situation I don't see why it shouldn't be a requirement for a position.

Collapse
 
miberg81_0 profile image
Michael Berger

"I guess not 100% if a lack of experience with the tool at hand hampers your artistic skills" - exactly the way you've put it into words. Coding is like artistic skill and the framework is the tool, but ultimately both are time consuming and therefore are both skills.