I am a frontend focused full-stack engineer with 7 years of relevant experience in the frontend engineering space and a total of 12 years of experience. I am not able to decide where should I invest my time when working on side projects. Should I start picking up mobile (Android/iOS) or continue to sharpen my skills in the frontend development space? To put it another way, should I invest my time in going deep in my current domain or should I invest time learning mobile UI development as that has gained more traction and is viewed as more valuable skill?
I think I am unable to decide whether to go about developing my skills in breadth or depth.
You should invest in growing your ability to handle greater complexity and more ambiguity. You should invest in growing soft skills, decomposing work streams, mentorship, and other soft skills.
In 5 years whatever tech you invest in will have changed dramatically. How you manage complexity, ambiguity and interpersonal communication won’t.
I love Lee's answer. Focus on the skills that will never go out of style (that's what we built Taro for!). I promise that the next ML technique, JavaScript framework, and even mobile development space has a pretty short half-life.
Instead of thinking about your career 10 years from now, I'd work forward from what you enjoy doing and where you have a unique insight for the next 6 months or year. The world will be very different in 10 years.
See also this very relevant video about Why It Doesn’t Make Sense To Have a 5 Year Career Plan.
Steve Huynh had some great advice about managing your career: https://www.jointaro.com/topic/steve-huynh/
@Rahul, I so much want to see the full interview with Steve... Someone suggested a Slack channel purely for videos/resources to share. Since that is only available for premium members, I would love to see the minimally edited version 🙏
To put it another way, should I invest my time in going deep in my current domain or should I invest time learning mobile UI development as that has gained more traction and is viewed as more valuable skill?
Here's what I think you should do:
One thing I want to push back on though is the idea that mobile is the "more valuable" skill. It's definitely trendier, but good web developers are super important too! In fact, many more businesses need a good website than a good mobile app.
I talk more about all this alongside tactics around getting into side projects here: Android (Kotlin) vs. React Native - Even though the discussion title is around Android, I also talk about iOS and mobile as a whole.
All that being said, mobile is superior to web when it comes to side projects for a couple reasons:
How to decide what skills to focus on so as not to become obsolete in next 5 - 10 years?
Now I'll answer the question title 😛
In a nutshell, you don't want to spend too much time investing in tactical skills and material that's very tied to the raw technology. Things like the latest web framework and the optimal way to write a microservice are going to be wildly different 5-10 years from now. This is especially true for you given your experience level and the fact that you're already at a very well-established Big Tech company with Intuit.
Think about everything that happens at work and for each thing, try to picture a world in which it goes away. If you have trouble envisioning that future, that's probably a scenario you should master. Here's some scenarios that I think will never go away:
I can easily come up with 10 more. My point here is that if you can be that magical someone in all of these scenarios, you are truly a rockstar engineer who will always be able to add massive value in any year at any company within any economy.
Here's some other great discussions around this topic:
@Michael, the video with Steve is coming out on YouTube in ~6 hours!! (This is the highly edited / polished version.) And I'll also be adding that in Taro for an ad-free viewing experience.
The ones you see on Taro with the Steve Huynh tag are minimally edited, and I'll add more here in the coming days.