When I was in community college I had to take "Critical Thinking" as a pre-req for Symbolic Logic.
We spent the first 1/3 of the class, 8 weeks, analyzing truth statements, basically and, or and not. I was bored to tears, but attendance was mandatory, so I got to see how people absolutely struggled with this, and "just didn't get it". The average score on the mid-term covering that was a low D after 8 weeks of (excruciating for me) examples. I finished in <15 minutes and got 100%.
When you are in a bubble of people who work in engineering fields, especially in tech where logic is fundamental, I think it's easy to think that logic comes naturally to everybody, but it's far from ubiquitous and reading on here it sometimes feels like some people just don't realize this, especially those deep in tech.
People want to learn the guitar|piano|violin, until they realize the amount of work it takes.
People want to get fit and jacked, until they realize the amount of work it takes.
People want to be a lawyer/doctor/engineer, until they realize the amount of work it takes.
Or they realize that they just don't really like it.
Programming isn't any different. One needs a particular mindset, and a level of patience to deal with debugging. It's not for everyone, and that's fine.
What keeps me (and I think a lot of people) from getting ripped is the sheer consistency needed. Doing anything that isn't strictly necessary for 1-2 hours 5-6 days per week every week for years is extremely difficult imo. I get knocked off course very easily, sometimes for months at a time, and I have yet to find a solution for this.
Slightly NSFW: https://www.youtube.com/watch?v=-xZQ0YZ7ls4
well yeah, those are the people who are actually lifting the weights. the rest of us get sorted into the "don't want to lift no" category
I would say you have to also be happy with/enjoy confusion and frustration.