Now that I'm learning computer science on my own I realize I enjoy it and have a knack for it. But when I was in school I was intimidated by it. Computer science was presented to me like something that required tons of complex math to do even the simplest thing. It also had a reputation as the smart people thing to do which scares off a lot of people, especially when they are young, not so confident and easy to scare off.

Even the article presents this sort of idea when it suggests that maybe the average student doesn't really have the aptitude for CS. Really? Do you really need to be smarter than average to code or even to code well? I think not.

Now most people here are smarter than average and most know how to code. It does seem like tech attracts smart people, but you don't have to be smart to know how to code. I think we can all admit that learning code doesn't require tons of intelligence. IT just takes a bit of patience and determination. Kinda like learning a language, or learning to dance you don't need a really high IQ to do it, just gotta apply yourself and be patient.

Maybe it does take alot of intelligence to program well. But really most projects don't really require you to write magnificent, perfect and complex code. A lot of it is not that hard.

I think tech just seems to attract smart people because of the stereotype that only smart people can do it. It's a bit of a feedback loop.

Computer Science was never presented for what it is, which is basically a skill you can learn just like carpentry or metal working or the many other skills which require you to apply a set of gained knowledge.

I also wish people would highlight the symbolic logic, and learning processes and steps aspect of programming, because that would get philosophy major types and also hands on trades types more interested in it.

At the same time, I think if I had gone into CS through traditional schooling, I probably would have been terrible at it and probably would have hated it. Learning it on my own by doing means I learn only what I need and get to apply it to projects I want to do and see a purpose in. That is very different from the classroom style learning. Also computer science is very procedural and steps oriented, it's the kind of thing you learn best by doing and not through lectures.

A classroom setting seems like the worst and most difficult way to learn programming, kinda like trying to learn how to dance by sitting in a room listening to someone lecture you about dance steps. The fact that anyone learns it this way is just a testament to how hard some of these students work.

So maybe the issue is that computer science is mislabeled as a science and put along-side career paths like maths, sciences, engineering, when really it would fit much better as a skilled trade and put alongside other trades like plumbing, or heavy equipment repair. Because really it's the same sort of thinking and skills that are being utilized. Computer science is nothing like science or math, it's more like a skilled trade. You learn to plug in code in a specific way in the right steps to create a result. That's like what a plumber does not what a scientist or a mathematician does.