I’ve just read this nice blog post, and I want to give my contribute to it :).
I’ve started programming on a Vic20 Commodore computer, I began just with copying a couple of programs that are in the manual, and immediately being curious about the Basic language.
So I moved to a Vic20 programming course in Cassette and this was the very first thing that amazed me, the fact that I’m able to record a program on a audio cassette, I believed that they could be used only for music. I realize now, how many years are passed. After the course I was a Basic programmer :P, being able to manage memory with Peek and Poke and started realizing some little programs. My first programs are full of GOTO and were really spaghetti code, but when I began high school I moved to Pascal, and I began to learn how to give better structure to my programs.
One of the my most silly thing I believed, is that programming was a matter of hyper technical skills of programmers, now I realize how this concept is wrong. The most important success factor in a project, is having the right idea, understanding the needs of the user and doing good requirement management. Working in team really need more social and management skill than technical, and now I strongly believe that being hyper technical is only useful in a very few situations. In real life a good Application Lifecycle Management is the key of success.