There is no value in knowing details of implementation when you use abstractions that are validated by community and experience. If you brag that you can do XYZ in a native way, you focus on meaningless aspects of development and miss the bigger picture. Only in school you need to know meaningless things to pass some exam. But in real life, ability to think and solve problems is far more important than the ability to implement stuff from scratch. There are lots of problems that I could not solve without looking up the quirks. But I think that there is a lot more value in admitting you do not know all the details, and if you do need to write it all by yourself, you will look it up and do a good job. Humans forget stuff. If one can implement a feature by hand without looking it up, in a while, he will fail, but still think that he can do it. But he will forget a small detail, and the code will have bugs. Never try to remember constants in science. And such things, in our scope, are constants. And they belong in a library or config file. Not in our head.