<p>A math background is great, of course, and the willingness to work hard is an absolute requirement. But the key 100% essential trait for doing well in CS is innate analytical ability. If you who love to dig in and solve strange and complex puzzles, CS might be for you.</p>
<p>CS is all about staring into a complex, mysterious space, scratching your head, and asking, “What the hell is going on here? Why is this happening? Is there a way to bend it the way I want, and if so, can I find it? Is this even possible? What if I could make it work in practice, by altering the space? Can I even understand this space? How can I attack this?” And then solving it, forgetting that you were ever stuck, and moving on to the same questions - again and again.</p>
<p>That’s the essential attitude - a prerequisite to success in this field.</p>