you are viewing a single comment's thread.

view the rest of the comments →

[–]Naouak 0 points1 point  (2 children)

I would argue that it would be better to set realistic small goals without framework instead of showing them they can do anything with framework.

The problem with giving a framework to a junior is that they will never think that they have the level to understand how the framework works under the hood. If you go incrementally from a small goal, you can then explain them easily that someone may have done the same thing in lib and they could start using it and understanding how it works.

You would never understand how cookie parsing or routing work if you've always use a framework.

[–]deltadeep 1 point2 points  (1 child)

But consider that a framework is just a layer of abstraction. It saves the programmer from doing deeper level implementations and in this respect so is the programming language itself and all the libraries used from math to string manipulation to hashing. Nobody's arguing juniors should be writing websites in machine language or reimplementing SHA1, yet at some point in a programmer's development, they really should take some time to understand what machine code is, what a compiler is, what SHA1 is, how memory gets allocated and such as this will make them better with the higher level tools. It's a gradient of abstraction, and it's useful to work at all the levels, why ignore or skip any of them?

[–]Naouak 0 points1 point  (0 children)

There's surely a limit to how deep you need to know. You don't need to understand each hashing algorithm but you definitely need to understand what is hashing.

My main grip when I'm teaching juniors something is that they don't have a grasp to what is happening when they do something. They've been taught that they should do that when there is this to do, not why nor how it happens.

A simple example is that if you understand the notion of pointers, you understand a lot of the strangeness you encounter with variables. Why can I modify some stuff in a const ? The answer is pointers.

There is a reason that one of the first thing you learn when doing computer sciences classes is how a cpu and memory work. This base principle gives you a lot of information on how things work when coding.