Backend vs Frontend
Backend is more complex as compared to front end. While designing and developing backend you are supposed to understand other touch points also like data engineering and data analysis, complex architectures which involves multiple backend services calling differnet services either in chain or is mesh, scalling these backend architecture is itself a challenge. Every day new backedlnd frameworks are coming which have at least one strong opinion over other for a use case, same applies with diff databases with each type of use case and interbal designs. The way i see is backend systems amd component has no limit and life long learning opportunity and hence good pay. On the other hand front end is relatively easy. Front end also becomes comples but only at scale. Front end has majir impact on business no doubt but as an engineer i dont see it anywhete near backend. All i see is front end is nothing either mobile, smart devices or browser hence I feel its limitation in terms of os and device. Though I am full stack engineer but I always focus and prefer backend and only take part in front end only where there are no resources (happens rarely and only in case of startup 😂) I feel newbies should target full stack with 80-20 ratio of backend and front end respectively. After couple of years find ur niche and focus on that for next sprint of years.
Frontend is very underrated. Good frontend is really complex and hard. To do a properly done UI is an art form. They're both hard to do really well, but in totally different ways. Backend is difficult from a hard technical perspective. You need to really know the ideas and theory behind it. Frontend is hard from a creative perspective. Making a really solid UI work well takes a good sense of design and creativity. Generally frontend engineers are highly responsible for letting UX know what is possible. They shape design and not just simply implement things. It's a core part of the design process to always include frontend engineers. UX and frontend work as a team to produce the best possible UI. It requires a fair amount of creativity to say "well, this won't work, but we could do x, y, or z in a performant way" We recommend our UI/UX team even to undergo a basic training involving latest components library based on stack(react) choice like bootstrap, ant design, material. This reduces a lot of time of rework and designers proposes much feasible design based on choice of org's stack. We have seen signifacnt amount of productivity growth in terms of UI/UX and Frond end team when they both understand the universe at ground level. Its just front end guys is more into logical level and can help with experimental feasiblity analysis better because he is in sync with the tech always. This training does not expect any coding from UI/UX team but just understanding of ecosystem of components so that they can propose reusable components based design. Really good UX people know a bit of code too. To call the frontend people out on their BS.