Mostly I felt that the MSc taught me the language with which to communicate and argue the things I already knew.
That's a fascinating story and a great perspective. One thing that's hard to communicate with those who've decided to pass up on higher education is how many different (and different kinds) of tools it gives you in your field.
It's not just the theoretical bits, or the formalism, but also the language of the field...something which has a surprising number of uses beyond just talking to a peer. A decade after my undergrad, I'll be working on a problem and remember a handful of possible algorithms from my undergrad days that might apply to it, but have no clue about the particulars (they may have not even been covered). But because I learned the language of the subject, I can usually drive into google for an hour or so and quickly triage the algorithms to find the one I want to relearn. It's easy to look things up when you know what they are called -- and more importantly can understand the instructions!
I have a number of friends who decided to focus purely on their development skills and skip school, and they've definitely expressed frustration at finding and understanding the literature, or have spent many hours reinventing the wheel because they didn't realize it had already been built!
This is commonly characterized as "knowing what you don't know." You know what's out there, even if you don't know it, but the power is that when you need to, you can learn it.
Contrast this with not knowing what you don't know. You can't learn it, because you don't even know it exists. I think this is a major benefit of an undergraduate education. You get a broad enough exposure to a field that you know what's out there, so you know what's possible.
That's a fascinating story and a great perspective. One thing that's hard to communicate with those who've decided to pass up on higher education is how many different (and different kinds) of tools it gives you in your field.
It's not just the theoretical bits, or the formalism, but also the language of the field...something which has a surprising number of uses beyond just talking to a peer. A decade after my undergrad, I'll be working on a problem and remember a handful of possible algorithms from my undergrad days that might apply to it, but have no clue about the particulars (they may have not even been covered). But because I learned the language of the subject, I can usually drive into google for an hour or so and quickly triage the algorithms to find the one I want to relearn. It's easy to look things up when you know what they are called -- and more importantly can understand the instructions!
I have a number of friends who decided to focus purely on their development skills and skip school, and they've definitely expressed frustration at finding and understanding the literature, or have spent many hours reinventing the wheel because they didn't realize it had already been built!