My Coding Story
In the beginning there was a word in parenthesis and that was preceded by the question mark. The interpreter in BASIC would change the question mark into a PRINT which was a command that would print the word onto the screen.
I slowly began to understand BASIC as I had to type in a program listing to play the rally game in 1987. After that I could play it for hours or I could type in another game. I think the rally game had around a 100 lines and it probably took me around half an hour to 45 minutes to type it in word by word by special character… I do not remember a teacher who had enough time to actually teach, the class I was in, what programming was, but we got general hints that would guide us on our personal learning path. That was a magical do-and-explore way to learn actively and all the progress made would be an immediate reward by itself, because we knew it was our own effort that got us there.
It is a special kind of wonder when you see programs actually developing into the required specifications and do what you want them to do eventually.
There were several principles that I learned back then:
DRY — let computers do many times what you set them to do once, do not repeat yourself, refer to the repeatable parts instead
KISS — keep it short and simple, brevity is really important for every function and for understanding when you read the code or when someone works on your code as legacy, brevity reduces errors
Computers do not do what you want them to do, instead they do what you tell them to do — so that is why mistakes in my thinking about the program’s design turn into mistakes in the way the program works, and every mistake should be regarded as a mistake I have written. And my intention would never be to make a mistake.
Errors and wrongly functioning program features are called bugs and now these are more commonly called and covered by the term issues.
The humor that was present in those classes was also quite different from what I heard at school or at home… there was a whole new level of wit and weirdness in them.
The first computer hobby group had ZX Spectrums, they then acquired 286 IBMs later on. Meanwhile I began attending another hobby and study group on most of my free time at a youth community center to complement the first group.
My first language was BASIC because I could not get access to a compiler on an MSX2 Yamaha computer. I learned by familiarizing myself with the commands, then altering the data and finally re-writing the code itself to make the game more interesting. That was what happened in ’88 and the Berlin Wall had not fallen yet! I was very lucky to be part of the first wave of people who got access to personal computers. But I also lost my eyesight to the low quality displays that were around these days. >**<
I kept on progressing when I got to continue in England, using the classroom computer to play my favourite game and writing programs to draw pictures with simple nonlinear functions.
In two years I had a computer I bought which I used to learn about webdesign. A few years later I began experimenting with JAVA and got a book on C which I began to study. However the procedural paradigm of programming was difficult to learn at home even though the books were pretty good. There was no open source yet so the compilers were mostly proprietary, and well out of my price range.
So after uni I enrolled on a C and C++ programming course, I aced the studies and got to know OO much better. One thing that I really found distasteful, although I was capable of using the concept was memory management with pointers, it seemed pointless, to repeat the same stuff all over for every object and class… so I progressed to JAVA.
At this point I have to sadly remember the loss of a good childhood friend who taught me a lot and who pair-programmed with me in the early 90s. He was a wunderkind in math and sciences, we wrote short stories together. At the night Estonia won the Eurovision song contest he was in a car accident and died.
The computer class we used was broken into and robbed so a single computer remained as it was being repaired in another room and was then relocated into a more secure room after that. So we got access and took turns to code. It was right around the time someone in the west thought to write a book about this new style of programming. For us it was the only option to code! Really useful for learning and spotting each other’s mistakes!
Back in UK in 2000:I wrote small programs, a few games, and a few psychological tests in JAVA.
When I then moved back to Estonia I got into a programming boot camp, it had many courses and a lot of it was MS product oriented, but there was also JAVA which I really enjoyed except for the JSP stuff… to get on the course I signed away myself on a 5 year contract for a Swedish software house. So I failed the course right upon completing my studies — on purpose, to avoid the contract obligations, which would have been wage slavery in terms of pay.
I did not get employed despite my five years of experience in programming at that point.
I tried again in 2013 and got turned down after a couple of interviews. I really found it difficult to deal with rejection, so I tried for a data entry job at Estonian POST and that was really lucky, because I got a manager who wanted to use my skills in programming, and I learned to upgrade my BASIC skills into Visual Basic skills. Useless as that may be now that typescript is making progress on the charts, I could program and I got paid for it! In fact I got twice as much as the data entry guys!
Next I lost my job as this pioneering manager with an insight into peoples really latent skills was laid off as part of the restructuring and re-branding that was going to transform the company to OMNIVA.
I happened to walk and meet my classmate and he told I could think about putting my know-how to use in teaching programming to youngsters at a school where his wife was…
That was kind of a break through for me, I learned a lot in the next 2 and a half years, I saw the progress of many youngsters that made my days happy.
Eventually I had to leave as the times did not fit my other projects’ schedules. I had also progressed on the pay scale to double my income in 2 years. Wonderful times…
I am now using a brief year to take a short recess and to write a game… something that I started back in the day when I first had learned enough programming to write games in BASIC. Its been a civilizing experience