So yeah, I’ve been a programmer for 20+ years. It feels like new developers have taken a turn towards just doing the least amount possible by using libraries or frameworks and not actually learning underlying concepts and functionality. For those people, I say this: you will never really be a senior. That ORM/library/framework you love? You’ll never actually create anything like it.
Constantly taking shortcuts will make/keep you dumb. I’m writing this somewhat in relation to many of the developer vs engineer articles I’ve seen recently. In that context, I’d say that “developers” think programming should be easy. They learn the minimum allowed to accomplish their job and stay there. Engineers, on the other hand, will actually learn how things work. These are the people who actually build the complex libraries and frameworks you use. You might say “but I wrote a framework! I wired these 5 libraries together…” NOPE. Still not an engineer. Write an entire library/application from scratch, using only the base language, then we’ll talk. Personally, I believe that is how every developer should start. Not with bootcamps that just teach you a bunch of libraries and let you out into the wild, but with solid knowledge of the underlying LANGUAGE!
As I’ve stated in previous articles, both the company I work for and myself value knowledge of the language over library/framework usage, mainly because we need things to be efficient. We won’t discourage using libraries, because nobody should have to reinvent the wheel, but if you’re unable to figure out how the wheel works, then you have no business using the wheel…especially when said wheel has the possibility of exploding on you.