> > This list contains a large number of self-taught programmers. How did > you get started, and how did you get to a moderate level of skill? (If > you want to talk about what happened after that, great, but I am more > interested in the first two stages) > > Udhay > --
I taught myself BASIC on a Sinclair ZX81 from age 9. It was an unexpected Christmas present. My mother used to buy me magazines each fortnight that were full of pages of code. Within a few months, I was resusing and amending blocks of code to string together my own programs. As time went on I had a commodore 16 and 128. In high school the computing classes turned me off so much that I never took any serious classes. I never pursued a computing career to begin with and instead turned to catering management and spent some time as a bingo hall manager. However, at home, I had graduated to a PC and Visual Basic, HTML etc. I wrote bits of code to do things that interest me. I wrote a program and database to record my girlfriends weight watchers points. I sold a program to my mother's school to record pupils drug schedules (she's a special needs teacher). My home network has grown to stupid proportions (a domain is probably overkill for home use). Functionality is only added if it has spawned from a need that me, my son or partner has asked for. Eventually, eleven years ago I did get in to the IT industry and now spend my time as a contract business analyst designing the applications. I work in the utilities sector. A good BA always takes the customer on a winding thought experiment that helps them arrive at what they *need* and not what they *want*. Sort of like a process of self discovery :) Every now and then though, the customer will ask for something belatedly which cannot be delivered in time or the change carries too much cost. That's when I get to code and spend a week or two usually teaching myself something new in the process. This usually drives the developers and config management guys to distraction. I guess to get to a moderate level of skill, it's always by having an idea of what I want to achieve, record financial transactions for instance, and then trying things until it works. Starter blocks of code which I can amend have now moved from my dead tree repository to the electronic repository of the internet. Although I am mostly aware of new technology being released I only ever implement it if I have a need for it. Keith
