1.) It's not necessary, but extremely helpful if you have the skill or know at least the basics. You get a much better view of the projects and the parts of it, which often translates into a better structure of the product.
2.) There are a lot of online courses. It also helps to learn by doing it yourself (with a small hobby-project).
3.) I think that's because they had experience with coding and think "this is the way i would do it". But that rarely works because of project specs or framework choices that block their solutions. What I mean is whipping a a plan is easy, implementing it is hard.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.