This is what I constantly tell my students: The hard part about doing a tech product for the most part isn't the what beginners think makes tech hard — the hard part is wrangling systemic complexity in a good, sustainable and reliable way. Many non-tech people e.g. look at programmers and think the hard part is knowing what this garble of weird text means. But this is the easy part. And if you are a person who would…
The hard part is building things sustainably at scale (people wise or performance wise). That's when a combination of knowing how to manage systemic complexity and knowing how to communicate very well (soft skills) really come into play.