I'm a full-stack engineer with 12 + years of experience building software primarily on the web and mobile at scale for Silicon Valley Tech Giants (ex-LinkedIn), VC backed startups (ex-OpenSea), and Open Source Projects (https://github.com/cncf/cnf-testsuite/).
Would you rather work in the React and Typescript you know leveraging all that experience with a rapidly maturing platform (check out https://expo.dev/ for instance.)?
Or a framework few others use written in a language Google is likely to drop support for randomly?
let me calm down and breathe and I'll take the bait ...
look just because you're not Lebron James or Michael Jordan doesn't mean you can't go to your local basketball court and enjoy a game of pick up.
But the same way you don't conflate what you need to do to be one the of the best people to ever play a game to play at all...
your software engineering team doesn't need to feel completely useless because they aren't immediately using <insert new hot tool> .
Everything in software engineering from side project to unicorn startup service is about tradeoffs.
Tradeoffs happen because of constraints.
I don't expect a consulting shop to build code the same way an open source project does or a publicly traded company that has been profitable for 10 or 20 years.
I'm hoping you can read in this the need to be cognizant about manpower tradeoffs.
So yes I fully appreciate this as someone who has consulted, worked a public companies, and is now at a rapidly growing startup...
Just because your team isn't meeting some imaginary ideal for some other form of team with different constraints doesn't mean you can't ever strive for any ideal or give up...
you just have to be realistic about trade offs...
my favorite example of this is thinking about a system like rails vs early react (loooong next.js or even before the context system) or a lot of things built in the python web ecosystem.
With rails you have scaffolds and endless convenience methods that let you be productive quickly even as a small team or shop...
with early react or python web you were largely left to your own devices out side of the core flows they had solved (painting updates to the dom with react or some rudimentary crud stuff with django or flask) ...
Because they were built by and more importantly FOR different types of teams.
Rails by the relatively slender (and famously against VC type scaling) 37 signals consulting crew and react by facebooks behemoth engineering team.
Of course they are going to build for their own trade offs...
why would you not?
(I intially opened this rant with this final piece thata I thought better of starting with but I still stand on the feeling...
The is the biggest piece of curmudgeonly nonsense I've ever read... its like someone training an ml model on last 5 years of HN comments and churning out a click bait blog post)
but I basically just made it to get better at kubernetes design doc writing, and play around with hasura, next.js, vercel and a bunch of other tech toys.
- focused on building and contributing to awesome teams. I hate that I got so caught up in the celebrity of a few individual luminaries in our industry. In reality I needed to focus on recruiting other awesome people who filled in my gaps instead of thinking I was so smart and trying to do everything myself.
- Built a professional public profile via a place like twitter earlier also my blog and website
I've had my twitter (and my blog somewhat) open up so many opportunities for me its crazy. All just from saying decently intelligent common sense stuff on there. Don't toil in the shadows give people a chance to see who you are
- not learning data structures and algorithms well early. Its all the best software teams interview for. I knew web well (circa 2010/2011) and no one cared. So I had to go back. Also now all that web stuff I knew so well is all but useless because its obsolete. But the dsalgo stuff doesn't change as quickly
I figured out how to deal with cognitive dissonance people are feeling about this years ago.
I would rather make a calendar invite / use <insert your fav software> and remember to call <valued loved one or friend> and feel bad about having to do that...
Then forget to call and feel worse about forgetting.
I thought I was smarter than I was and I was trying to do a lot by myself. It didn't work and my ego made me not admit it wasn't working far longer than I wish I had spent on it.
It was all a very humbling experience.
In the future
1) recruiting at least 1 other person to work on anything like a startup with me. The bar for me is can I get at least 1 other person to work on this and do I have a plan to get to the first 5? If not I'm not doing it.
Worse case you build a great team and have a good time with them making something and hopefully get acqihired or better. If you're by yourself and it doesn't work out you're likely just getting another job...
2) Recognize what your strengths are and recruit to fill in the gaps. You only have 24 hours in a day 6 to 8 of which you are sleeping if you want to be effective for the rest at all... So even if you were a super hero at all the things you need to be to make a business successful (hint: you wont be) you will run out of time in the day if you can't get other people to help.
If you can't get ^ in your own project join other people's projects until you can.