i have been programming for longer than i want to admit. one might assume based on the length of time i've done this that i am some sort of expert. but one interesting thing about programming is that as a skill it decays very quickly. languages change, platforms change, new languages arise, new patterns, methods, and techniques come about all the time. some skills remain, like core knowledge of programming structures. but the exact syntax is always changing.
as we all sat working on our poetry instruments yesterday one thing really stood out to me. everyone, no matter what level, was struggling in one way or another. whether it was code not performing as expected, a browser not working quite right, an unfamiliar toolkit or library. everyone struggled in one way or another.
this reveals one of the most important skills a programmer needs to have: patience. no matter how experienced or advanced one is there are always frustrating and challenging moments. this is ultimately true for all mediums though. paint can be a beast; getting paint to behave the way i want is quite a challenge for me. to some degree you are subject to the whims of your medium. and for programming the medium loves to throw curve balls.