They very much can. Have you ever walked into a classroom and seen the ancient runes left on the board from a more advanced class, wondering how any person can possibly understand all that and wonder whether it was possibly even scribbled as a joke? And then two years later, you realize that you have learned and mastered that very content you saw on the board that seemed so unachievable. Many things seem unlearnable, but given the right conditions (teacher, home situation, motivation) most people are surprised by the scope of what can be learned by an average person.
So, we're engineers---very much not the average person.
Speaking from the point of view of someone who spent 8 years in school learning computer science, then the next 15+ practicing it:
I cannot create an RTS game engine in C. Not in a million years.
It's all good and well to be encouraging, but this is literally our field. If we can't identify our own short comings accurately (after for some people is decades of experience), then we are probably less capable than we think instead of more.
I don't understand why you wouldn't be able to, especially given "a million years" to learn whatever you need to learn. Why does it feel inaccessible to you?
I'm not good at implementing algorithms that directly relate to mathematical equations. I learned this from 1 year banging away at computational photography while in university and 2 years banging away at automated trading systems at one of my first jobs.
Given enough time I can copy other peoples implementations, but its extremely mechanistic to the point where you can't say that I actually 'wrote' it or learned anything. And it would be questionable if all the functionality would fit together as a succinctly as the posters.
I hope you don't think that is goal post moving, but if I do something mathematical in order to get it correct I have to sacrifice everything else: speed of production, efficiency of the end-product, readability of the code, etc. Compared to my output in logic problems or HCI, you'd think two entirely different people were involved and one was significantly smarter.
It's a failing (of the sort where asked "What is your biggest weakness?" at an interview, I can always answer immediately this), but it's what allows me to be impressed with work like an entire RTS game engine in C in just 3 years as a passion project.
Yes, as I’m sure the commenters above me are as well. The context of this being on HN is important, and I’d be a lot less likely to say an arbitrary person could do this project on some other forum.
The shared delusion of HNer's that they are intellectually superior the rest of humanity because they write computer software continues to astound and infuriate me.
I wouldn't call athletes "physically superior" either. That kind of supremacist talk is looked askance upon, for good reason.
But they're definitely faster/more coordinated/stronger than average, pretty much by definition. They can be proud of that.
Computer programmers are also smarter than average. If they weren't, they wouldn't stick around. It's not physics or higher maths; I figure anyone above the 80th percentile can do a good job of it, and some people in 60-80th can get the hang if it, but will probably never be great.
That's just the way it is. Phrasing it as being intellectually superior to the rest of humanity, that's just your hangup.
While that’s definitely frustrating sometimes on HN, that’s nowhere near what has been expressed in this thread (at least not in the comment you replied to).
I'd say it isn't. IQ is the best thing we've found for measuring people's intelligence so far. That doesn't mean that it explains all the variance in people's results but I'm pretty sure it explains the majority of it, through the g factor. So it's not perfect, or maybe even very good, but I'd say it's still very far from "bad".