> 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)
>

(Delurking for just a bit to take a trip down memory lane)

* I wrote my first bits of code in biweekly 1-hour "computer periods"
at school somewhere around 1994-95 when our school still had BBC
Micros[1], with amber colored CRT screens. We would be queued up, 5
people to a computer each taking turns playing a game called "Block
Blitz", except when my turn came I would switch to the a BASIC
interpreter, and start writing simple programs. Then I learnt about
GOTO, and then about GOSUB. Rest as they say is history. Till this
day, I cannot get myself to enjoy playing games on a computer

* Over the next few years, my desire to code could not keep up with
the amount of time I could get in front of a computer (and they were
too expensive to have one at home at that time). So I wrote thousands
of lines on paper, and stepped through them several times in my head
until I was absolutely sure I had got it right. I would then get it
typed at my dad's office, and store them on a floppy disk for running
them in the school lab. Ironically, the lack of a coding machine at my
disposal helped me build up the discipline of  debugging "in my head".

* I clearly remember, back in 1996-97 reading about something
mysterious called "classes" in a C++ book I borrowed from the
computers section of British Council Library. Then I picked up the
book next to it which turned out to be a Modula 2 [2] book talking
about "data structures" like "stacks", "queues" and "trees" (I had a
hard time with trees). I finally decided to go in serial order,
working my way from the top shelf. Apart from programming, I also
ended up reading about things like FoxPro database software, and
Symphony spreadsheets[3]

* I learnt Pascal in high school/junior college. Around this time,
some people decided to mutate my first name to "Debug" because I loved
to go around the lab looking at people's code and pointing out where
they were making a mistake. Debugging code you have not written
yourself can be a great way to build up good intuition.

* I made the terrible mistake of studying CS in what is probably the
worst place to do so in the developed world *. It probably even lead
to a regression in my abilities as a programmer. Most of the people in
my CS class now work as management consultants, bankers or "IT
Managers". The only thing good about university was that I had my own
computer, and I spent countless hours building Gentoo Linux from
source, reading Samba manuals to make my computer interoperate with
the University network, and other fun stuff.

* Since 2004, I have spent a significant amount of time trying to undo
4 years of crappy education. 17 years since I wrote my first program,
I still I feel I am very new to this "coding" thing and have a lot to
learn. That is probably what, in the end still keeps me passionate.

[1] http://en.wikipedia.org/wiki/BBC_Micro
[2] http://en.wikipedia.org/wiki/Modula-2
[3] http://en.wikipedia.org/wiki/Lotus_Symphony_for_DOS

* The university is located on a tiny island called Singapore

Reply via email to