I find myself in this confusion as to how and when should I spend time in
How should one spend time in making sure they are doing deliberate practice for the interviews, but also are in "sync" with the market with all the new tools and technologies out there? Where does one stop? I know my priorities, but I also feel i might loose focus on my interview prep if I start multitasking.
How do senior engineers or mid-level engineers keep themselves uptodate? or do they only learn "whatever is required to get my job done"?
Without focus, you cannot do anything effectively.
If you are preparing for interviews, then do just that. But have a deadline to join a new company. You cannot prepare for interviews all the time. After 2 to 3 months of interview prep and actual interviews, you should be free to do other things like you 2) and 3). I met some people who are always in interview preparation mode and never get anywhere. Don't be that person.
After you have joined a new company, the best case scenario is that you work on a project for the company that needs AWS, docker, Kubernetes, ML or (put your buzzword here) and you will do the learning and get paid as well. But this does not happen all the time.
There would be cases where you think your work project doesn't have the opportunity to learn about new technologies. Here many people miss out. There are many times opportunities to improve the CI/CD, build process, and better tooling.
Agree with Touseef -- if you're interviewing, make that the focus. If you're learning a new technology, make that the focus.
The way most engineers stay up to date:
I think Touseef pretty much nailed it. Interview prep is something that should be treated with intense focus, especially if you already have them lined up. That being said, a common trap I've seen is people grinding Leetcode and not realizing they can't even get the interview to begin with. I recommend checking out this lengthy discussion that goes through this more in-depth.
Things are more interesting when you don't have a lot of interviews or don't have any FAANG-level ones: In that case, you can split your time between interview prep and building side projects for learning. I talk about this in-depth here.
A common trap I've seen among mid-level engineers that holds them back from senior is that they aren't able to find additional scope among the work they're already doing. Here's a good thread around creating scope (from a mid-level engineer at Apple).
How do senior engineers or mid-level engineers keep themselves uptodate? or do they only learn "whatever is required to get my job done"?
I actually would push back against this mentality of needing to stay "up to date", especially if your goal is FAANG. The pressure to keep up with the latest framework is a trend I see among weaker software engineers who are more "commodity coders". The best software engineers (many of whom are at FAANG), are building up universally applicable fundamental skills, which manifest more as behaviors rather than knowledge.
If you really want to stay up-to-date though and can't do so at work, just build side projects.
I do understand that each individual might have different approaches to learning things, and figuring out what they want out of it, but labeling some folks as "commodity coders" doesn't seem right to me :)
This is a fair take - I agree that it's a pretty loaded term. This is more so with folks who go on the extreme end of the spectrum and directly and solely correlate career progression to keeping up with trends.
I'm glad you're able to get the top-shelf interviews, have good scope at your current job, and feel like you're making good progress building up fundamentals skills (it seems like the world is truly your oyster at this point). At the end of the day, I just want software engineers to be fulfilled in their careers. Appreciate your understanding response as well and happy holidays! 🥳
Thank you so much @Touseef and @Rahul! Will focus on prep with a timeline. Thank you
Thank you @Alex for your comment. I really appreciate the deep insight you provide. But, I have some additions to some of your comments as follows
"That being said, a common trap I've seen is people grinding Leetcode and not realizing they can't even get the interview to begin with" --> I do not have issues in getting interviews from FAANG/FAANG alike companies. It is just these thoughts time and again creep in my stupid head, and keep me thinking, hence thought of reaching out, and asking members here :) But, I really appreciate your inputs on this.
"they aren't able to find additional scope among the work they're already doing" -> I also think the work I am doing has the correct amount of scope to get me promoted in my org, but whether I get a promotion or not in my current company is not something I want to focus on right now.Though it would be really great, it is not something that is affecting me to getting/working on impactful projects.
Lastly, I do not think I lack(sure I could improve upon) skills such as communication, being empathetic, compassionate etc. in my day to day job, but I also think IMHO there isn't anything "bad" or "taboo" in folks (for the better part) thinking about learning the next-hot-thing in the market, I also consider this to be "getting to know my colleagues" if such sort of a discussion can help me in networking, why not right?
I do understand that each individual might have different approaches to learning things, and figuring out what they want out of it, but labeling some folks as "commodity coders" doesn't seem right to me :) to each their own.
But, thank you very much for your insights, and patience in answering my question.