Evrone:You joined Google Creative Lab as a creative technologist with an Art History major. Did you experience any lack of math, algorithms and data structures education while working on the Vue? Do we need to study computer science theory to become programmers, or do we need to learn how to be “software writers” and prefer code that is boring but easy to understand?
Evan:Honestly not much — personally I think that Vue, or front-end frameworks in general, isn’t a particularly math/algorithm intensive field (compared to databases, for example). I also still don’t consider myself very strong in algorithm or data structures. It definitely helps to be good in those, but building a popular framework has a lot more to do with understanding your users, designing sensible APIs, building communities, and long term maintenance commitment.
I would have expected front-end frameworks to require a good deal of algorithm intensiveness. I’m not sure exactly how to update on this evidence.
To take a simplistic approach, I’m thinking about it like this. Imagine a spectrum of how “complicated” an app is. On one end are complicated apps that require a lot of algorithmic intensiveness, and on the other are simple apps that don’t. I see front-end frameworks as being at maybe the 80th percentile in complexity, and so hearing that they don’t actually require algorithmic intensiveness makes me feel like things in the ballpark of the 80th percentile all drop off somewhat.
Huh, my sense is that it’s usually the opposite. “Complicated” domains aren’t very amenable to algorithmic solutions, and are just lots of messy special-cases with no easily-embeddable structure. And “simple” domains are ones where you can make a lot of progress with nice algorithms, because they actually have some embeddable structure you care about.
Decent shift away from thinking that knowledge of algorithms and data structures is likely to matter in programming.
I read Vue.js Creator Evan You Interview this morning. This stuck out to me:
I would have expected front-end frameworks to require a good deal of algorithm intensiveness. I’m not sure exactly how to update on this evidence.
To take a simplistic approach, I’m thinking about it like this. Imagine a spectrum of how “complicated” an app is. On one end are complicated apps that require a lot of algorithmic intensiveness, and on the other are simple apps that don’t. I see front-end frameworks as being at maybe the 80th percentile in complexity, and so hearing that they don’t actually require algorithmic intensiveness makes me feel like things in the ballpark of the 80th percentile all drop off somewhat.
Huh, my sense is that it’s usually the opposite. “Complicated” domains aren’t very amenable to algorithmic solutions, and are just lots of messy special-cases with no easily-embeddable structure. And “simple” domains are ones where you can make a lot of progress with nice algorithms, because they actually have some embeddable structure you care about.