I'm not sure exactly how to phrase this, but to give an analogy, I love card games (ex: Legends of Runeterra, Race for the Galaxy, Hearthstone, etc). There are a fixed set of rules and a fixed set of cards. I can "grind" games and get better by noticing patterns, picking up new strategies or tactics by playing against a diverse set of players. The outcome of an interaction is usually idempotent (i.e. card 1 interaction with card 2).
In real life, things are quite complicated. Asking a certain question in a certain way to person 1 and person 2 may give wildly different responses, and may even depend on your mood, their mood, your tone, time of day, etc. It's super messy and unpredictable.
I also feel a similar way about system design. The nearly infinite possibility of inputs, outputs, TPS, throughput, scenarios make it difficult to reapply the same set of rules to different scenarios. This is just talking about one component, when we bring in N components, the interaction gets very complicated and the "rules" change" case by case. I'm sure it gets better with practice, but I also feel I have a limited opportunity to learn or practice these on the job.
Has anyone found a way to structure these learnings in terms of a repeated "grind", because oftentimes I feel overwhelmed and don't know where to start. This is a complicated question, so answers regarding either a) soft skills or b) system design separately I will treat as valid answers.
You can think about real life and strategy games in the same way: there are infinite paths of how things pan out in game/project/meeting/building a system, but a lot of individual events in these broader moments are effectively repetitions of a small number of fixed events. What makes things tricky is how these events permutate. A set of 3 potential events might sound small, but if we have an arbitrary sequence of 10 of these events and each event has 10 outcomes we can see how the "what ifs" can blow up and be overwhelming to think about.
In isolation, we can say "oh well that's just how it is gg" when confronted with the near bottomless amount of outcomes we can encounter. But in reality, we do have control of either (or both):
Reeling this back into system design/soft skills:
By thinking about things in terms of these smaller "yes"/"no" pieces, the cognitive load should be lower when interacting with systems and people and you can shift that load towards building up the muscle memory around knowing how to ask narrow questions, what questions to ask to certain people, and if there's any common themes around how certain roles react to certain questions/information.
Hope this helps!
The short answer is no.
The way you described a grind is within a system. There are a fixed set of rules, inputs, and outputs. With a system design you are generating the rules, inputs, and outputs. There are cards in the games you referenced that change the rules, but the truly powerful cards, which undermine the tricky balance that makes the game fun, are quickly banned or removed. Describing a system is a different game then working within a system.
The best advice I have about how to get better at system design systematically is to do a retrospective design on a system you are familiar with. My guess is that at this point your understanding is at the "what" a system or service does. For the services and components you own, do you know the "why?" As you pick up these concepts you start to see them pop up everywhere, and more importantly, you start to notice places where they are missing. Usually there is a reason. Time and experience are really the only ingredients here. I've noticed very few prodigies that are able to make a contribution to a complicated system with less than 3 years of experience. Not that it can't happen, my thesis is that you have to be burned a couple of times before you really learn lessons here. It takes a while to burn yourself the requisite amount of times.
And when it comes to soft skills, what you're really talking about is people. Humans are not deterministic robots. What I would recommend is finding resources to work on your EQ. What happens when you work on yourself is you start to become more compassionate, a better listener, and notice more social cues that you may not be picking up on today. It took me a long time because I started later in my career and I'm not where I'd like to be, but this work has done the most for me to up-level my soft skills.
-Steve
On the soft skills topic:
This is something I struggled with and in a way continue to struggle with because of a very strange upbringing. I often feel like there's something I'm "missing" in a way that it doesn't feel like other people are. So I totally get you.
The way I have learned a lot of my skills is in a way--robotic. I've watched charisma videos, social skills videos, and read tons of books.
Now, if you were to wave a magic wand and watch and read everything that I did in 1 afternoon, it wouldn't magically make you a soft skill expert.
What will make you a soft skill expert, or at least help you get better at it over time, is to take in these concepts and apply them over time to your day-to-day situations. Understand that change takes time to happen.
Given that, if you're interested in the resources I've used to start applying these over time:
Great recommendations here. I second the “Charisma on Command” recommendation. They have GREAT content, and while its not perfect, it is great to establish a good foundation. I actually ended up taking their course and it is pretty good too. I would also recommend their podcast “Dropping in with Charlie Houpert”. The early episodes are especially helpful to hear how they learned Charisma
I love the gamer terminology here - Very fitting given that you work at Twitch 😂
As others have mentioned, there isn't a traditional way to "grind" these skills like you can in a single-player game by doing the same task over and over.
However, you can improve extremely rapidly at these skills and you can indeed systematize it a bit, especially since you work at a Big Tech company like Twitch:
In general, you can get better at any skill by doing more of it and then having some sort of reflection system to extract maximum learning. You can always systematize things by assigning numeric scores - It doesn't need to be too scientific and can come from gut feel.
The good news is that Big Tech companies are especially effective at building up these skills, since they're much more impactful in these environments and are more weaved into the engineering career matrix.