A few months ago a friend, who's a working programmer but not one of my superhacker friends, asked me to look over some code they were failing to find a bug in.
I'm really not a programmer, you know....It turned out that the "can't happen" case was happening. And I remembered that I don't actually suck at this stuff. I may not be a genius at it, but I'm not hopeless either.
Just look. Fresh pair of eyes and all that.
What's this language? I've never seen it
Special purpose language for this thing....
Hm. This variable — you're not testing for greater than foo.
[After I spend a few minutes looking over the rest of the program, tracing the logic.]
I'm not convinced. Try just printing an error message if it's greater than foo...
This in turn encouraged me to think about maybe trying to improve my skills. About a month ago, I came across Project Euler
Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.
The motivation for starting Project Euler, and its continuation, is to provide a platform for the inquiring mind to delve into unfamiliar areas and learn new concepts in a fun and recreational context.
What's not clear from that is that there's an extent to which it's structured like a game. Today, I finished level zero.
Bravo, xela! Now that you have solved 25 problems you have achieved what 79.71% of members have failed to do and have advanced to level 1. Good luck as you continue.