One of worst failures/dropouts I saw at university were the guys smart enough to do entire high school without any significant effort (ie my roommate left books at school and aced it, in stark contrast with me).
Then they eventually reached subject on uni where some serious effort was required even from them, and many just couldn't get themselves through the suck. Unlike say me who was already used to put effort into getting through, and just increased it a bit when it mattered.
It depends what you're working on. Good luck implementing a functioning network stack if you can't buckle down and work your way through a few dozen RFCs.
I think it depends on what you mean by studying. My view is that college studying is having to memorize everything required to pass tests.
I can easily read RFCs and then apply that knowledge. But I don't need to memorize shit because if I need a detail, I can just go grab the RFC again and grab the info I need.
It is why when I was in college, all my lab work in any subject, computer science, chemistry, etc, was my strength. I could put the knowledge to use. But if I had to memorize shit to regurgitate on a test, I had issues.
Yes, this is why it's important for all students to be given the chance to be challenged, so that they can't skate through HS, which sets (some of) them up to be caught off-guard by university.
Then they eventually reached subject on uni where some serious effort was required even from them, and many just couldn't get themselves through the suck. Unlike say me who was already used to put effort into getting through, and just increased it a bit when it mattered.