top | item 32497780

There’s no speed limit (2009)

671 points| melling | 3 years ago |sive.rs | reply

278 comments

order
[+] smcf|3 years ago|reply
When I went to college, having already done full-time software work and countless hours of programming in my spare time, I went to a departmental advisor confidently requesting to test out of the introductory CS classes aimed at first-time programmers. I nearly got laughed out of the room. I pushed the department on this, but it was clear: they simply did not do this. Everyone takes intro to CS. Everyone.

It sucks, but there are people out there no smarter than you yet more powerful, and sometimes they impose a speed limit.

If you get the opportunity though, I'd still suggest doing what the author did. No harm in learning something twice, particularly from two different perspectives.

[+] teucris|3 years ago|reply
When I started college, I thought I could fly through the intro CS courses. Within the first week the professor had completely reset my understanding of computer science, rebuilding it from the ground up using purely functional concepts. I’m incredibly grateful I could not test out of that class. I would have done so in a heartbeat and missed out on the most important lessons I’d need for my career.
[+] atoav|3 years ago|reply
As someone who teaches in university I can tell you by experience that the worst students are those who think they already know what you are going to tell them.

The thing is: it is hard to tell them apart quickly from those who actually already know, without having them take some test.

And even if you have them take the test, you cannot be sure they miss some fundamental core concept that will be crucial to understand later.

I myself had to go through introductions more than once that I thought will not offer me anything new, but going through the basics once in a while with a better understanding can be of incredible value

[+] ALittleLight|3 years ago|reply
When I was in college I needed to take two classes, one of which was a prerequisite for the other, within semester to graduate on time. The CS advisors adamantly refused to add me to higher level class because I was missing the prerequisite class. Furthermore, the classes were taught at the same time to prevent people from taking them in the same semester, for some reason.

I talked to the more friendly advisors in the Philosophy department, who also had the ability to add and drop students from classes, and got them to add me to both classes I needed. I persuaded them not to worry about the overlap. I completed the semester by attending the higher level class except for exam days (I had to get a special dispensation to take one final early because their final exams were scheduled at the same time).

My point with this anecdote is that sometimes more powerful people try to impose a speed limit and sometimes you can get around them.

[+] jonas21|3 years ago|reply
I tested out of multivariable calculus in college and to this day, it is one of my biggest regrets. My peers who took the course have an intuitive understanding of the material that I never developed. Sometimes there's a difference between learning on your own and working through the material with others.
[+] bnralt|3 years ago|reply
After learning programming and CS on my own, I thought I'd go back and pick up on areas I missed by taking some courses at a university (I already had a degree). It was a fairly highly ranked university for CS (in the top 20), but the whole thing was honestly a waste of time and money and I was shocked by how little I learned.

I did test out of some classes, though they only allowed it for a handful of classes. And you needed to be able to get a higher score than students who had just finished the class, while doing so with much less material (students going through the class get told specifically what's on the test and are given materials accordingly; people trying to test out aren't given either). It was also surprising that on the Computer Science II test they had a large amount of the score based on memorizing default Java methods.

Because I was doing this strictly for educational purposes, I got really interested in how much students were retaining between semesters. It seemed to be very little, and there was little that they needed to retain. Most would remember big O, but no one remembered little O, big theta, Big omega, little omega despite the time they were required to memorize it. As I mentioned, CSII was very Java focused where students had to memorize specifics of default methods and Java inheritance edge cases, but after the class was over that information was almost all forgotten. You might have a class where you do a few weeks of stack based programming in a toy language, but it's not enough to actually do anything with and, again, is wiped from the students mind as soon as they finish their finals.

All this was driven home even more when I tried to discuss topics with colleagues who had CS degrees. They retained a very small amount of the things they studied in college, with the vast majority was met by "Oh yeah...I think we studied that? Isn't that the thing where [insert some vague broken memory]."

The whole thing felt mostly like a waste of time in order to justify four years of teaching. Of course, someone who never studied programming or CS would get _something_ out of it, but even there it seemed to be in the most inefficient way possible.

[+] xahrepap|3 years ago|reply
Ugh. I was told by the administration that I couldn’t test out of my intro to programming class in college. Then I had several professors ask me why I hadn’t tested out.

I’ve wondered if the professors didn’t know or if the admins just didn’t believe me I would’ve been able to. (And this was with a passing AP test score from high school)

I feel like Accreditation is to blame. It’s such a racket.

[+] swiftcoder|3 years ago|reply
On my first day in university the intro CS professor started his slide deck with "this is what a keyboard looks like", so I walked out of there, into the department office, demanded to see the chair, talked my way out of the first year courses, and demanded to take all of the required 2nd year courses in parallel that first semester. Not sure if the department chair was bemused, or just wanted to drop me in at the deep end, but he agreed to it, and I got out of there with a double-major undergrad and a masters in 5 years...

Where there's a will there's usually a way, but you need to either know how to manipulate the powers that be, or have enough confidence to bypass them.

[+] hardwaregeek|3 years ago|reply
I'm sympathetic to having to take courses on material you already know, but I do think there is some justification to making everybody take an intro CS course. Specifically if it's a course that is about teaching the ways of thinking about programming, such as abstraction, composition, state, rather than a rote course on how to write code, then it provides students with a foundation that is rarely seen in AP courses or self-study. It can be an opportunity for a professor to provide their views and experiences on programming. It can also be a chance to talk about other essential, but rarely discussed topics such as ethics, the qualities of a good programmer, programmer culture, etc.

Of course an intro course that is this well thought out is rather rare, in which case experienced people should by all means skip the rote nonsense.

[+] dangarbri3|3 years ago|reply
Counter story, when I was a senior I found I missed a freshman requirement. The teacher saw me in the class, I was fine with having the blow off class but the teacher recognized me as a CS student and said I shouldn't be there since I was a senior. Had me schedule and take the final for the class, I passed, and I was able to skip it for the semester.

Doesn't hurt to ask either.

[+] gravypod|3 years ago|reply
> I went to a departmental advisor confidently requesting to test out of the introductory CS classes aimed at first-time programmers. I nearly got laughed out of the room. I pushed the department on this, but it was clear: they simply did not do this. Everyone takes intro to CS. Everyone.

I tested out of the maximum number of courses for my degree. It's insane. This is why I have such a low opinion of structured education. I hope to be someone's Kimo. I had my own who pushed me to build good software, not be lazy, and a lot of fundamentals on simplicity.

[+] dietrichepp|3 years ago|reply
I started by talking to advisors and professors in the CS department, and they agreed that I should test out of intro programming classes.

The dean was a cruel man named Warren Harrison who accused me of trying to "game the system" and told me that they don't tolerate people like me here. I shared the story later--other people had similarly negative experiences with the guy.

[+] BuyMyBitcoins|3 years ago|reply
I wonder how much of this is due to formal curriculum standards and accreditation. It seems like the only permitted method of skipping a course is having had taken an AP course and scoring high enough on the exam.

I’m guessing standardized education prevents the kind of judgment calls that would allow a department to let a knowledgeable student skip classes they don’t need to be in.

[+] squeaky-clean|3 years ago|reply
I was on the competitive programming team at my college. I was able to join on one of the more advanced teams pretty early, my other teammates were college seniors while I was a freshman.

I actually was able to get our 2x weekly meetings to count as course credits for basic classes and the professors who ran the group vouched for me to skip some of the pre-requisites for higher levels classes. (e.g. I took Algorithms II while in the same semester the competitive team meetings counted as Algorithms I).

Then my family moved, I wanted to transfer schools to keep living with my parents while attending school. The new school wouldn't accept my "free" credits. So in my third year of college I had to take intro to computers, intro to programming, etc.

I did that for one semester, hated it, then managed to find a job writing Python. I still haven't graduated, heh...

[+] badrabbit|3 years ago|reply
There is harm. Is anything more valuable to a human than time?
[+] cobertos|3 years ago|reply
I had this too. I had worked the system a bit to wait until my final semester of college to actually take the intro CS courses (I had one of two possible prereqs to the second course so just started there).

I asked to test out and the department head said no. I had almost an entire CS degree and still had to take the easiest course. We made a compromise that if I take the midterm and exam with all the other students, I can pass the class. I got a 100% on both and spent like, 1 hour learning Octave and C for each exam.

[+] jchw|3 years ago|reply
I was only in college for a brief stint, but I ran into this problem as well when I went to college. Although I hadn't been in the industry yet, I was a hobbyist for a long enough time for the intro to CS at my college to be simply pointless. After a couple weeks, I was able to convince my professor that I should be able to test out, and despite the fact that there was no procedure, I was able to just take the final exam, pass, and move up to the next course.

That next course also seemed pretty basic, but I hit a brick wall, because I didn't have the required math credits to get into the next course up if I tested out of that one. And testing out of a math class, while certainly doable, was not as enticing as a prospect :)

The truth is, while it's reasonable for an intro to CS course to be kind of basic, I think it was a good sign that either college, or at least the college I was going to for computer science, was not a good option at that point in my life. Thankfully, circumstance would knock me into the industry instead in short order.

(Now I'm interested in college, but not for computer science.)

[+] jghn|3 years ago|reply
I had the opposite problem. When I was a freshman, if you took AP CS you were allowed to self choose out of CS1. And I did. It was a terrible decision for me, in retrospect. It set me down a bad path. I was a very bad student. I could keep up with the software stuff in HS but that was about it. I shifted to college where everything was in C and pointers and I was struggling to wrap my mind around them at the time. And oh by the way, I was a freshman in college, with a million other new things going on in my life.

I very much get the desire to place out of CS1 or whatever. My experience was that the overall college experience was the jam. A low level class here or there isn't going to change your life.

[+] thayne|3 years ago|reply
I had a similar experience. They said I could test out of it if I took every test and did every homework assignment. And that is why I didn't get a minor in CS. Fortunately, at the time they didn't strictly enforce course prerequisites so I was able to take a few higher level CS courses, but for 300 level classes you needed a signature from a CS advisor, which I couldn't get.
[+] yesdocs|3 years ago|reply
Some of the greatest coaches of all time start every season by going over the basic’s like ‘How to tie your shoe’. Drop your ego at the door.
[+] soheil|3 years ago|reply
I think the bigger point in this story is not that there will be times in life where you're confronted by authority to stop you from going over the speed limit, but that for every one of those cases there are countless other scenarios where you are the authority yet still think there is a speed limit.
[+] ekianjo|3 years ago|reply
> It sucks, but there are people out there no smarter than you yet more powerful, and sometimes they impose a speed limit.

College's point was never about learning anything for a while now, it's a credentials machine and the machine only works in one way: the one that extracts the most value out of students, the longest.

[+] sircastor|3 years ago|reply
I think the one course requirement I got waived based on my experience was an internship requirement. Everything else I had to take. I don’t regret missing out on the early courses as they provided a lot of surprisingly useful instruction. A lot of the “why”s that I’d take. For granted.
[+] devwastaken|3 years ago|reply
Any publicly funded uni that does not allow testing out of every class should be blacklisted. They intentionally prevent it due to quote "costs". They depend on the tuition so admins can buy lake homes. That's straight out of the words from someone whom handles it.
[+] iratewizard|3 years ago|reply
The best option is not to go. I had also done full time programming for clients from age 15 on. 5 years after that I got opportunities to lead small projects. 10 more years after that and I was made VP of an engineering department. I've worked a lot with fresh graduates from "good" schools with good GPAs. I've always been thoroughly unimpressed by what they know and what they think is important for the job.
[+] kpennell|3 years ago|reply
I read this article a while ago and recently re-listened to his interview on Tim Ferriss' podcast: https://www.youtube.com/watch?v=gnk4sgOFjBQ He talks about how maniacal he was at practicing music at a young age. His friends gave him a hard time because all he wanted to do was practice scales over and over. The dude was exceptionally motivated from a very early age.

The gist of this blog post is that the average pace is for chumps and that he was able to finish Berkelee school of music in much less time than the average person takes thanks to studying ahead of time with a mentor and reading the books and testing out. He wasn't a 'chump' and the lesson is that you shouldn't be either.

I remember reading this advice 10 years ago and really taking it to heart. I didn't want to be a chump afterall and became convinced I could do everything faster than the chumps. But the problem with this is that it can make you beat yourself up and/or always feel rushed if it does take you a normal amount of time to do something. Like I've had to admit that I'm a really slow programmer. It took me forever to learn it. And I beat myself up a lot in the process.

But now I've taken to listening to more Alain de botton and Oliver Burkeman for my self-help/self-development. These British authors advocate for a much gentler version of self help. In one Alain de botton interview, he mentioned how we've come to worship exceptionalism and see being average as being bad. Oliver Burkeman's 4000 weeks book plainly states that you can't do it all. This has been super refreshing for someone like me who took Sivers' stuff seriously in my early 20s and then beat myself up for merely being average at many things.

[+] aliasxneo|3 years ago|reply
This is good advice to be taken sparingly. I went through the US Navy Nuclear program in which "no speed limit" was taken for granted. I never stopped operating that way until, one day, I had a mental health breakdown (I lasted about ten years). It took two years of therapy to deprogram that mentality from my mind.

So yes, it can get you far, but there is a cost to be considered if you don't keep it under control.

[+] noodlesUK|3 years ago|reply
This is true for kids as well as adults. I started homeschooling as a child because of some health issues, and it was stunning (to my parents mostly) how much more efficient learning could be when your day wasn’t full of empty space, and your schedule was actually organized to be the best for you rather than for other people.

I’ve carried that lesson throughout my life. You can do a lot more, in a lot less time, when you’re in charge of your own time.

[+] 734129837261|3 years ago|reply
Back in 2001, I started work as a web-developer right out of high school at the age of 17. My high school diploma wasn't good enough to get into a software engineering university in my country (the Netherlands), so I had to wait until I was 21 to take an admission-test.

So I worked for 4 years before I got to a university and followed along for a 1-day introduction. They would tell their prospective students what they would learn in the next 4 years, and what jobs they would find when they were done. At the end of the day was a Q&A with some professors.

It was at that moment that I realised: 1. I know more than these professors do; 2. I'm currently a very skilled autodidact software developer; 3. I already know all of what they would teach me in four years; 4. they were working with outdated materials; they taught generics, not specifics.

These professors were academics. Google didn't exist yet. They, mostly, hadn't worked in any professional environment. They weren't pragmatic. They were slow perfectionists but also several years behind on the rest of the world.

And that was saying something: the bleeding-edge books that I was reading took at least 1 year from the start of writing to publication, so even I was behind on reality.

Even today I sometimes wonder what software engineering students learn in 4 or more years. It shouldn't take nearly that long. If you spend 20 hours a week studying software engineering you should be ready to find work in less than a year. And from that point onward, that's where you actually learn how to do it right.

[+] yolovoe|3 years ago|reply
In college, I was able to sample a lot of computer science from building a pipelined cpu in verilog, algorithms, writing a multi-threaded OS, implementing animation engine in opengl, quantum computing, machine learning (lots of theory and lots of practice), group theory to name a few.

I thought my degree was a bargain at the state school I went to. Also majored in math. Both CS and math had so many interesting classes, I found myself wishing school was 6 years instead of 4. Work is hardly that cutting edge compared to what we learned in school, which woukd cover the latest stuff in the literature in some classes.

Most of all, I learned that getting stuck at problems is normal in college. You have to be patient, spend a lot of time and slowly make progress. That helps me immensely in my current job, esp. debugging complicated problems.

[+] drdec|3 years ago|reply
> Even today I sometimes wonder what software engineering students learn in 4 or more years. It shouldn't take nearly that long. If you spend 20 hours a week studying software engineering you should be ready to find work in less than a year. And from that point onward, that's where you actually learn how to do it right.

This is the difference between college/university and a coding boot camp. At college, they are trying to teach you a breadth of subject matter and experiences to turn you into a well-rounded, educated person. At a coding boot camp, they are giving you vocational training and nothing more.

Each approach has its benefits and drawbacks and neither is appropriate for every situation.

I'm glad you realized that for you, college did not have a benefit, and you saved yourself a great deal of time and money.

[+] Calavar|3 years ago|reply
Oh man, I remember this attitude from a lot of my classmates back in undergrad. "Why are we using Java like dinosaurs? All jobs are in Ruby/Rails!" (Today it would be Node/Typescript instead of RoR)

It really amazed me how many students didn't see forest for the trees. Sure, the college could teach us RoR, but five years from now it will be something else. And sure enough, five years later it was all about Node. And five years from now it will be something else.

Typescript, Node, RoR, and so on are all just icing over the same underlying core concepts that have stood the test of time. Learn the concepts, and you will be an expert regardless of whichever icing is on trop.

When I took our databases course, our professor gave us problem sets with long lists of ridiculously complicated things that we had to write queries for in relational calculus. The problems all ways seemed so contrived. And why the hell were we writing them in some stupid mathematical notation instead of code?

But when I started my first job, I found that I had a much better understanding of how and when to use joins, derived queries, and subqueries than some of my colleagues, who used "where in" clauses everywhere. And if they got worked into a corner, they queried a huge chunk of data, brought it all in over the wire, then used a soup of procedural loops and ifs to filter out what they wanted. Unsurprisingly, their code wasn't very performant and was filled with bugs.

I ran into a similar thing when I got into an argument with a guy about JS on the server. He said JS was revolutionary because it allowed for async IO. And I said what's new about that? You could do that in Ruby too. The guy refused to believe me. He legitimately thought that because Ruby didn't have an "async" keyword that it couldn't do async IO. He knew the syntax sugar de jour on top of async concepts, but he didn't understand the concepts underneath. If fads move on from JS to a new language that has a different async programming model, what is he going to do?

You can learn SQL or Node from online tutorials or a coding bootcamp. And it will feel more useful than a college course because they give you concrete examples right away. But they will only teach you the surface dressing. They won't push you to understand the tough underlying concepts because that isn't easily done in a single article or a three week crash course.

[+] tomjen3|3 years ago|reply
I went through the normal course and the programming part wasn't that hard and those of us who could do so already got to skip it. Those who hadn't programmed before learned what we could do in about a year.

The classes that destroyed people were Algorithms and Datastructures, distributed/parallel computing, programming language design, OS design, low level hardware design (here is infinite transistors and infinite resisters, now go build a computer) and whatever the two classes we had that covered Sipsers Introduction to Computation was called.

These were all classes that covered stuff you wouldn't ever hit upon when you were programming, but which are necessary as to know as a Computer Scientist.

Then there were all the classes that were, at even the smallest level, related to human computer interaction, which were entirely a waste of everybodies time, including the instructors.

[+] legacynl|3 years ago|reply
Although I get where you're coming from, I think you're taking a big risk by assuming you know everything there's to know already. The fact is that you can't know what you don't know. You could be dunning-kruggering yourself on a daily basis and there's no way for you to know.

> These professors were academics. Google didn't exist yet. They, mostly, hadn't worked in any professional environment. They weren't pragmatic. They were slow perfectionists but also several years behind on the rest of the world.

Maybe you're blinded by your arrogance a bit, because there's an actual field of science dedicated to effective learning, teaching, practicing. Although it's great that you found something that worked for you, it doesn't mean that you've had the best or most optimal learning experience. Every teenager thinks they're smarter than their stupid dumb teachers, but they often aren't.

There's a reason why things are taught in a certain manner, and why there isn't that much change in that. It's because these methods have been tried and tested, and there's no need to chase each new framework, method or technology, because it's all built upon the old stuff anyway.

These courses are meant to give you a broad understanding of everything there is to know about computer science. Specifics change, but generics don't. If you know the generic things it doesn't matter what the specifics are.

[+] braingenious|3 years ago|reply
I’m not really sure what I’m supposed to take away from this.

The author is obviously quite musically gifted, as was his tutor?

Berklee has a bunch of nonsense curriculum?

Berklee has a bunch of acceptable curriculum, but if you happen to be a musical genius and have a musical genius as a tutor, you can quickly prove that you’re smarter than everybody else?

Is any of this meant to be inspiring to regular folks, or is it just for people that already consider themselves to be intellectually far ahead of most others in their age group or field?

… Who is this for?

[+] deathanatos|3 years ago|reply
> The pace was intense, and I loved it. Finally, someone was challenging me — keeping me in over my head

This, I've found is key, but I do think there is a "speed limit". You definitely want the student¹ out of their comfort zone, and challenged. But I do think there is a depth that is too deep, where it will simply be so absurdly difficult the diminishing returns of the challenge are not worth it.

> the standard pace is for chumps

Yes, but …

So I self-taught CS/programming when I was in high school, and asked to take the easier of the two AP tests for CS. These were not offered by my school, and the administration balked at it: how could a student pass possibly pass a test for which there was no class? My mother had to convince them to allow it! We paid for the test — failure would be on me, so who even cares? (And yes, I passed.)

And I still find this: you might have no speed limit, but other people do. They'll not want to do whatever you want to do, often because it requires exerting a modicum of effort on their part. Like, they'd need to learn something, and getting someone to study something is, if they don't want to, is blood from a stone. When you can fly solo, it matters naught, but sometimes you have to depend on others. IME, more often than not, it's the latter.

¹who can handle it? I'm not sure if it applies to all students, particularly those that are really struggling. But for those hoovering up info, into the deep end.

[+] photochemsyn|3 years ago|reply
Great article and interesting story. The combination of innate talent plus a beneficient one-on-one tutor can have remarkable results and it's really too bad this historically important form of education isn't more widely supported.

A case example is Leonard Euler, one of the most significant mathematicians in human history by any measure:

> "Euler’s interest in mathematics stemmed from his childhood when his father would teach him the subject. As luck would have it, Johann Bernoulli, Europe’s foremost mathematician of his time, was a friend of Leonhard’s father and the influence of this great mathematician on the young Leonhard was immense. Euler’s father wanted to prepare him for a career in theology and it was Bernoulli who persuaded his friend to let the boy study mathematics."

https://www.thefamouspeople.com/profiles/leonhard-euler-biog...

However, education for the masses is also important and there's just not enough expert tutors to go around for the one-on-one approach. It's also true that the combination of innate talent and motivation isn't necessarily all that common, or easy to identify. Notice how this tutor had a selection system in place? I.e. not many people showed up for the offer.

That's where the 'gifted and talented' programs have tried to pick up the slack in public education, with mixed results. Unfortunately, more often than not, teachers feel threatened by such students... not that high-quality teachers capable of tutoring such students (notice the low pay) end up being recruited by our public education system all that often.

[+] d0mine|3 years ago|reply
As many students know, you can cram a whole semester worth of material in just a few learning sessions before an exam: you can pass exam but you forget everything as fast as you've learned it. Use such methods for subjects that you don't care but must pass.

If you do care about something long term, spread the lessons over time.

For fundamentals, Learning to learn course is recommended https://www.coursera.org/learn/learning-how-to-learn

[+] balderdash|3 years ago|reply
My grandfather did grade school through high school in a one room school house, he was able to graduate three years early, since he was able to learn/audit the older children’s work when he was done with his own.
[+] betwixthewires|3 years ago|reply
I figured this out on my own as I got older. The rules are made for the bottom of the barrel, because it has to be that way. The instruction not to eat tide pods is not for the average person, but they still have to tell everyone not to do it. It's like when engineers build for the most common scenarios, and then they have to work out corner cases. But they have to be fair, so the rules designed to keep fuck ups in line affect everyone. It's a race to the bottom to deal with the lowest common denominator, and if you're more capable than that it's suffocating.

And what makes someone not bottom of the barrel? There's people born with talent, higher intelligence, but the real thing that makes someone above that threshold is simply a willingness to learn. Unless you've got some extreme disadvantage, persistent willingness will take you a long way, farther than most people. What makes some better than others is in their behavior, not their innate traits, usually.

[+] RcouF1uZ4gsC|3 years ago|reply
Instead of treating college as “no speed limit” treat it as “no bandwidth limit”.

If for example, you have been programming since you were 5, but you still are required to take an intro to CS course, instead of griping and pushing to skip it, just take advantage of the freed up brain bandwidth and maybe go take a class on history, or art or philosophy.

Taking advantage of the college environment to broaden your knowledge will serve you far more than graduating one or two years early.

[+] ZephyrBlu|3 years ago|reply
I completely agree with this. The problem is that to learn that quickly you generally need a dedicated mentor who is very skilled, and those people aren't usually readily available.

I've thought about this in regards to SWE before. If I had an experienced SWE who was my dedicated mentor I'm sure I would improve extremely quickly. Unfortunately, that's just not tenable.

[+] Arisaka1|3 years ago|reply
I'm of the unpopular opinion that we conditioned ourselves to pedestalize speed of acquisition as the most important evidence that someone is talented. I see root comments bringing up how the person the article is talking about was anything but a beginner because he was practicing to the point of obsession at a younger age.

Reading the post in isolation omits important details because it's hard to quantify how much of that knowledge he was learning was first acquisition and how much of that was synthesizing things he already know in a way that is different enough to be considered a new lesson to learn.

Also, a good point to remember is that direct 1-to-1 contact with a mentor also allows for tacit knowledge to be acquired, not only instructional (for reference https://commoncog.com/the-tacit-knowledge-series/). Meaning that, another argument that can be made when you read an exchange like in the article is that 1-to-1 learning transmits a better quality of tacit knowledge to the student than a catch-all instructional knowledge.

And the point of the university is to communicate knowledge that is "everlasting". I see the article and the diss of the university as something required for software developers and I mean it in the nicest way possible but you're missing the point. University isn't there to make you a good tool builder (because that's what ultimately software is, it's a tool meant to be paired with hardware in order to allow the user to do what they want).

We already know how to become tool builders, disregarding everything that makes software so different than making chairs, guitars and swords. Universities aren't there to make you a specialist into web, mobile, gaming development either. That's why you see self-taughts since forever like John Carmack dropping out of college once they learn as much as they want to, before they keep grooving on their merry way, ultimately banding together with others who share the same passion with them.

Universities will never replace real world experience, and real world experience cannot replace universities for what they provide, because their goals are different. Universities don't have to remove the metaphorical speed limits. Even some of the experimental private bootcamps who value depth acquisition of fundamentals end up simply forming layers of classes where people getting paired with others who are working on the same concept. But that's still another form of mass apprenticeship.

[+] labrador|3 years ago|reply
The last comment by Fran Snyder was good too. I never really thought of it this way, but lately I've been going fast (coding) and not letting my natural inclination to think "this is too hard so I should procrastinate and yak shave." I've been pushing through that and confronting the hard parts of the code and finding it's really never as hard as I worried it was.

fran snyder (2009) Speed kills the censor. One of my favorite quotes from "An Artist's Way." There are multiple benefits to setting challenging deadlines and defining your goals for yourself.

[+] khazhoux|3 years ago|reply
> He was quickly explaining the chords based on the diatonic scale — how the dissonance of the tri-tone in the 5-chord with the flat-7 is what makes it want to resolve to the 1. Within a minute, he started quizzing me.

> “If the 5-chord with the flat-7 has that tri-tone, then so does another flat-7 chord. Which one?”

> “Uh… the flat-2 chord?”

> “Right!"

What chords is he talking about (or did he mis-type)? I read "5-chord with flat-7" as G7 and "flat-2" as Dm7, but G7 and Dm7 don't share a tri-tone, only an interval. ?

[+] iuvcaw|3 years ago|reply
Life's not a race
[+] skybrian|3 years ago|reply
I wish he had actually explained it. I can look up what a flat VII chord is, and I know what a tritone is, but what’s the “tritone in the 5-chord?”

If he actually understood that explanation going in, I don’t think he was studying music theory casually before he got there?

If you don’t actually explain things at an object level, it’s insight porn, not real learning.

[+] ChrisMarshallNY|3 years ago|reply
I see a lot of discussion between a couple of different "camps" on this.

I would have loved to have gotten a degree at a great university. Most of the arguments for a formal education are absolutely correct. But many of the arguments against it, are, as well.

But we make plans, and God laughs. Things turned out the way they did for me, and I ended up getting my undergraduate from The School of Hard Knocks, and my postgrad from The College of Getting the Shit Kicked Out of You. It's just the way things went. Long, sad, story (get your hankie).

I love learning, and still do it, every day. That's one of the reasons that I love this industry (It sure ain't the people).

The way I was "reared" in this field has given me some really useful, powerful, skills and habits, but I definitely feel the "holes" that are there, from not having the luxury of a complete, comprehensive education.