If the code I just wrote works the first time, I instantly become very suspicious something is wrong. X’D
There is a difference between “perfect code” and “robust code”. The most perfect code is code that doesn’t exist, or if it must exist, handles its job as required.
Yes. Only looking at front-end jobs will always limit potential job opportunities. There is more to development then just web development, and there is even more to web development then just front-end web development.
To be a strict front-end developer today you more or less have to be a pro at CSS/HTML/React(or other framework), since you need to more or less specialize in that area while other engineers build out the back-end. Full-stack devs have more flexibility within the stack, and thus usually provide “more bang for the buck” for smaller companies/teams. There’s also a lot more technology diversity on the back end, making more diverse job opportunities. On-top of that the “back-end” could also be interacting with non-web technologies and use-cases, like building tooling, automation, data-science, etc etc.
I usually recommend people just starting out to diversify rather then specialize early on as it keeps more doors open. Obviously if your a fantastic designer, then sticking to what your amazing at makes sense, but if your just average its harder to stand out in any 1 field. However being able to be flexible in your knowledge allows you to apply for more jobs, and gain more generic experience.