Hi folks, I am a frontend engineer. A bit of background about me:
- Exp: 4 years
- Tech: Over the years, I have only worked on frontend and some build tooling. For all these years I have only used JS/TS and ReactJS to the point where I currently feel handicapped in other languages.
My problem with frontend:
Most companies I have worked till now except for one, frontend is just converting the UI designs to UI code as fast as possible. Most companies do not offer much time to think about different cases for a component and write it well. Its mostly, if it works then push. Contrast to this, BE does get proper design + arch to ensure it scales well with future requirements.
Why I am thinking of backend/fullstack roles?
Seems better from future point of view. Progression is clear in BE, lot more roles it seems, interview process is mostly standard. In FE its sometimes FE releated, some DSA etc. So never sure what they going to ask. Also, progression in FE is bit unclear and how to make a case for it.
What are my options?
-
In my current company, BE is Java + Springboot, I have started doing some BE tasks here and there but seems Java + Springboot is a mammoth and I dont know if I will be good enough for a switch of roles with this experience. Switching inside the company feels a far fetched dream since there are far less number of FE devs and I have to mostly work on FE tasks one after the other because of scarcity.
-
Learn and do some side projects in Node.js since already familiar with JS and also had done some small APIs(freecodecamp) based on nodejs in the past.
-
Learn python, good for backend software dev + good for ml also going forward. Seems easier than Java to get started with django.
Primary confusion between 2 & 3 is, does side project make any difference when switching for roles or will actual job experience with option 1 be of more value even though it will take a long long time?
Please suggest if someone has switched roles before.
Thanks.