Tzvika's Revenge's Revenge
In 1996, aged 16, I wrote a PC game called "Tzvika's Revenge", along with another friend who did the art. We stole the audio clips from another game, Syndicate, which was very popular at the time. I wrote all code from scratch in Pascal, including a library for double buffering the 320x200 video, a sprite manager and a level builder. Several years later I lost the codebase and the executable to a hard drive failure and had no backups.
Yesterday another friend from our high school sent me an ARJ archive of the game he found on his PC - apparently he had a copy lying around all this time and didn't even know that. I opened the archive, installed DOSBox and played the game - and was amazed at the complexity of what I had built.
This, however, is not a post about games. This is a post about impostor syndrome and about the importance of letting young developers know they're on the right track.
You see, when I started coding there was no Internet available in Israel, no online communities, no GitHub, no Facebook. ICQ was just starting. I only had a single friend coding with me when we learned to code. There was no computer class in our high school. No professional ever looked at what I was doing and told me "you know, you could make a living out of this". And so, when an older kid dissed my work claiming that "real programmers use C++", I believed him (he was older AND knew C++) and bought a C++ book.
Sadly, that book was "Visual C++ 6 - the complete guide" or something similar. The whole book was about configuring Visual Studio and working with MFC. And I hated it. When the time to join the IDF came, I dismissed the offers to apply to the 8200 or MAMRAM programming course, and joined a combat unit, thinking that if real programmers use C++, and I hate C++, then I must not be a real programmer.
When I got out of the IAF I had no idea what I wanted to do with myself, but I really liked SQL so I decided to be a DBA. I started an Oracle DBA training course that lasted 6 months, and when it ended I was certain that I'll never ever work as an Oracle DBA. However, I did acquire some sysadmin skills along the way and so I got my first job as a sysadmin at LocatioNet, a deceased location-based services company. Only there, surrounded by "real programmers", did I dare to start considering the possibility that I, too, might have what it takes to be one.
And although today it's much easier for kids to learn how to code, to gain confidence, to expose their work to the world - it's still imperative that when we see young developers' work, we do not diss it as "juvenile" or "junior", but instead encourage them to learn and to improve, and to give them the much needed boost of confidence that can only be provided by a caring adult.
It’s what real programmers do.
P.S. you will of course have the forgive the violence, gore and Nazi imagery that were the product of a 16-year-old mind :)
P.S.S some of you asked for the game so here it is. Use DOSBox, it should work. I couldn't get the level builder to work, though, so if you do - please drop me a note.