I have changed my career after 3 yrs to backend. I am in dilemma so needed advice from experienced ppl. I practice daily 1 question just to be in touch with the concepts and programming language (CPP) which I don't use at work so giving time for self learning. In my project there is a person who is also new, joined 9 months ago while I joined 4 months ago but he is single handedly managing everything(role is same) and since no one is there, he has become the main person who is taking charge of everything. I sometimes feel dumb for not knowing the service and what's happening. all the things related to communicating to other teams, answering queries etc are taken care by him. I mean I do my job but that extra effort in knowing about who to approach, what are all the services we have, which of them are deprecated and why, how to handle issues, deep understanding of company's framework/architecture etc is not there from my end as I am giving time in completing my task and giving more time for interview preparation- lld,hld,DSA (trying to be always prepared for the worst nd available for good opportunities) My friends who are in the same field are earning more after switching from service to product based(backend only)and also my junior in DS field. That's fine since I just switched from DS to BE role. But the main thing is the company I am working for has good WLB but doesn't give good compensation (Hike, appraisal, promotion)+no other compensation+ they don't retain their employees. Attrition rate is high because of same. I see ppl leaving within 8-14 months. If I was in my early years 1-2 yoe I would have thought the same but now for me learning is imp as frequent switches means your growth will stop as you didn't get much time to learn and see the things practically. Now my question whether to be good at clearing the interviews (by studying system design+DSA) Or Focus on company services not just doing the work but also put extra effort going deeper and taking responsibility so that you will get to know working of internal things and giving time to have the great understanding of their architecture by staying for 2 yrs even if the compensation won't be good(stay at the same compensation) but you are getting to learn. Become a good software engineer who knows how thing works instead of running for high compensation and have little knowledge. So I wanted to have opinion from you guys for long run which one will be beneficial as I get interview calls. 1) Stay, don't chase higher compensation. Learn go through the company documents, go deeper and learn how things are getting handled in real life. (Knowledge over compensation) 2) Go for higher compensation and choose company who will even retain you but again you have to restart your learning And also u will be stuck at SDE1 and then it will take longer time to be sde2 with good knowledge. PS: the team I am working with, works closely with DS team so my profile will become more close to MLE with good knowledge in backend + my past experience as DS will also help. TC: 18.5 lpa(base) YOE: 2.9 DS + 0.4 BE #backend #sde #india #softwareadvice #softwareengineer #techcareer #tech