DEV Community

Discussion on: Why You Shouldn't Use A Web Framework

Collapse
 
nebojsac profile image
Nick Cinger

It is very easy to throw mud, to speak like that when you are in powerful position, already have a good job, know some CS and studied for years web dev.

Well yes, it takes years to be good at it.

First you need to understand from where they come, what difficulties they have, maybe some of them are starving, are in war zones, some of them are just lazy, most of them are just uninformed.

Yes, some of them have good reasons of doing it wrong. This doesn't mean we should sugar coat it. They have to be aware, even though they can't change it now. But they will have the option of fixing this later, and they need to know that it's an actual problem. And there's a crazy number of devs that don't see an issue with this "framework-first" approach, that's who he was aiming for.

He's not blaming students. He's blaming the approach, wherever it comes from. The students shouldn't feel called out, they're, at best, the victims here. But they need to hear this.

Let's teach vanilla and then frameworks, let's take them trough the entire process of developing a framework. You will soon realize that you cannot do that in 4h/week,

Yes, getting good at programming takes a year of 8h per day. Yes, you can cut corners and start making something sooner. But you have to be made aware that yes, you took a shortcut, and you should come back to vanilla as soon as you can to fix this.

PS: you also have to change how companies hire, they do not care if you know vanilla or frameworks, what is sequential allocation or a pointer, they hire engineers to solve their problems. What is the fastest way to learn how to solve problems? By learning frameworks

That would be great, if learning the frameworks solves the problems. Devs without vanilla knowledge (like basic OOP for example) that go straight for the framework cause more problems in the code they work with than they solve. Companies have hiring requirements, yes, but young devs don't need to aim straight for big companies. Start smaller, freelance sites, projects for friends and family. They can get better before applying for tougher jobs. Unless the company is hiring for an intern/entry level, they should get some experience first anyway. But yeah, that's a separate problem onto itself.

I do agree with the gist of what you wrote, the students are not to blame. The post writer wrote some things for effect, but nobody should feel called out for it, he's just speaking the truth in a colourful way. Students, as you call them, have the resources needed available online(for the most part) and they should take the time to learn, and it takes time to get good at anything.

Collapse
 
bgadrian profile image
Adrian B.G.

I'm blaming the same things, so we are all good, I just want him to reconsider his hate approach and move into a more constructive one.

I'm speaking with junior web devs daily, I have studied the same problem in the last 2 years or so, I've seen the gaps they have, I'm not surprise if questions like "how to sum 2 numbers with react" exists on stackoverflow :(.

have the resources needed available online(for the most part) and they should take the time to learn, and it takes time to get good at anything.

As a fresh mentor, I quickly realized that my "main duty" is to filter the resources. I think the today student problem is not the lack of good material, is the abundance of the lower quality material, and when you are studying you don't know the difference, you learn the "highest rated" personality or course.

After a few months of production, the "damage" is done, you cannot say "you learned the wrong way" because the answer is "but how? I can build websites, I solve problems". The best way to "fix the gaps" I have found is to get into the trenches, when they are stuck and explain them how and why they got it wrong.

Instead of "learn Big O and optimization techniques" we can say:
"Your view component is slow because: you see these 4 nested fors? ok, let's draw them on the table and calculate how many times these operations are computed. Now how can we improve them? ...."

Another good way is by example, I found that just by sharing my screen, they learn a lot, like how to use their tools (IDE, dev tools), how to approach a problem and so on.

Thread Thread
 
nebojsac profile image
Nick Cinger

Good on ya for fixing this from within the trenches! I try to do the same, I have a basics course in PHP set up (in my native language) and we start from the nitty gritty.

People struggle with looping through arrays in their first months, so no wonder they can't really grasp what a framework does. But they definitely need to be brought back to basics.

I've hired juniors, and I had better luck with those that knew "just" html/css/js/php, than with those that "knew" "Laravel/jQuery/Bootstrap", because with the former we had a base to work off of. With the latter they weren't able to navigate simple OOP relationships, let alone debug the first Exception their favorite framework throws up.

The industry is a bad place. We need thousands of develpers today, so we try to rush people through this. But that doesn't work. What you describe is the way to go. But I do agree with the original post as well. And I think it's more about the ones with about a years worth of experience that need to hear those harsh words, just so they're not complacent.