This is experience question. As of this stage (of learning), accuracy and consistency is far more important than speed.
My advice: keep practicing and let the experience flows into you. You will go faster with stability for each development iteration.
No. Sounds like you’re grasping computer science (the theory side of working) vs. the programming implementation. Framework can only do so much by doing some magics as @Sibert mentioned. It can be harmful if you don’t grasp the actual com science concept. Some examples:
- did you implement constant time password comparison and understand why to do it?
- did you only use any of the slow algorithm for password hasing (bcrypt, scrypt, or Argon2)?
In situations where you want collective supports, then code library or modules would make a lot of sense (e.g. using AuthBoss).
The good news is that you can build and debug so programming is not a main problem.
Can’t comment. The only way is to execute some mini hackathon on your own (e.g. build 2 small url shorteners app where framework vs. library) and collect development process metrics. Your observations should give you some kind of pointers on when to use X framework and when should not that best suited with you.
E.g. At one time, I got fed up with working on a very large framework integrating with another large framework due to too many magics and not able to firmly control things. However, multiple small, manageable, and unit-tested modules are my current best working model, which is one of the reason I chosen Go.