Thank you for your insight and for sharing your experience. In a way, I think we're on the same boat. Being a "jack of all trades, master of none" will hurt you -- and it is most emphasized when recruiters try to categorize you.
Focusing on one thing truly is a formidable challenge. I wish it were that easy to just 'pick a stack'. My heart says mobile development but my skills say C#. If I "follow my heart", I'll be stuck in a junior position with less than half my asking price. And I can't afford that -- with bills to pay and family to support.
When I tried to delve back into Java, no one will hire me for a mid-level position because my work experience in my past job is only C#. Side hustles don't seem to count in the corporate world -- or at least in my country. It's actually frowned upon in some cultures because it implicitly means you can't get a job so you freelance -- but this is another issue altogether. Haha.
"I derive too much of my identity from my job."
This is so true. It's paralyzing. There will always be someone better.
I think the best thing we can do is to stop comparing. That's why I eschew social media, bearing in mind that we each have different paces and different times. And our time is yet to come.
There is still hope! I just got back from a company where the CTO wants everyone to be generalists. It sounded like an amazing DEV culture...you're basically free to implement things however you please, but if you break something it's up to you to fix your cleverness. I think a lot of it comes down to company culture and attitudes, and unfortunately the majority of companies out there have pretty shitty views on how the world works. I would rather have someone who is overall smart, regardless of what languages they know, than an expert in a language. Smart people can pick up new things quickly and relate their past experiences to new concepts. There's people out there who can tell you every condition in the C Standard which leads to Undefined Behavior, but can't write a line of useful code.
You're totally on point with your last paragraph. I struggle with some pretty severe mental health issues which make it difficult for me to feel a consistent sense of identity, so it's really easy to rely on my job for a sense of self-worth instead of working on accepting the hand I was dealt in life. I have a lot to be grateful for and it's a blessing I can so something I love in spite of my disabilities, and I can remember that instead of getting caught up in the rat race :)
I am extremely biased but I would say C#. You can still use Xamarin for mobile apps, I don't know how big Xamarin is now that React Native is out.
That's awesome. There's only a select few that adopt such culture. Big companies usually adhere to strict processes and rules that leave little room for growth, creativity, and inspiration.
You're in great company and culture.
I can still do my best on both, but it won't be easy. I guess I will focus on one for now, then eventually let C# go and focus on React Native next year. Since I want to get out of the rat race and build something of my own, React Native is the way to go, I believe. It's easier to build products with react, and therefore, making it easier to validate to customers.
Our discourse has been insightful. I'm loving Dev.to and the community it has. Everyone is supportive, professional, and respectful. :)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.