Been thinking a lot about the future of software (and jobs) as I put together a new talk focused on the topic. Here's are a couple of the main takeaways distilled to a few sentences:
Coding might be "solved", but permissions, identity, security, scalability, design, networking, compliance, + putting it all together with a good UX is still extremely hard.
I'm sure this will change more over time, but I feel that's the way it is today.
And it seems that the more complexity we remove, the more we take on. And instead of just knocking out 100 tickets faster, we said, "hey, let's add a thousand tickets."
I guess this is Jevons paradox in action! TLDR: Software still requires a lot of human attention.
And everyone has expanded the scope of their work. We're able to do 10x, 20x, 30x more than what we could in the past, but we fill that efficiency gain by just taking on equally as much work (actually more).
"Member of Technical Staff" is generalized for a reason, and we're seeing similar broadening of other roles (like my own role as what I'd consider "Member of the Growth team" at @cognition!
The shape of most roles looks nothing like it did just a year ago. So how to excel in this job market? I think in the past you typically were either "broad" or "specialized".
Today you can more easily become "excellent" or at least "good enough" at multiple things, so that probably would to be my north star. And agency matters more than ever, and will continue to become more important (but I guess "always has been").