One input, two different results
As if to give life to itself, two separate careers started as a simple "choose your own adventure" game on early 1980's home computers.
In the early 80's, myself and my best friend Joshua had home computers. Unfortunately, they were not the same model. He had the popular Apple II with the disk drives and I had the Coleco Adam with dual high speed tape drives.
Coleco ADAM Home Computer
However, despite being different hardware, they both shared the same version of the BASIC interpreter that allowed us to write code on one computer and manually transfer it to the other.
Natural role discovery
It quickly became evident that I enjoyed writing computer programs, but I wasn't that good at coming up with ideas for games. Joshua has an enormous imagination and is a natural writer. He easily found plenty of source material in his head to write stories that we turned into games. Games were not the only product of his imagination that I would emulate. He taught me how to just "let go" and not fuss over the technical details of writing comics and developed a simple "egg based" approach to character drawing. He would start with an oval and then fill in the details for each individual character. They each had enough detail to tell them apart, but not so much that drawing them got in the way of his story. Honestly, I was very jealous of his talents and worked hard to (unsuccessfully) emulate his process.
The game development process
We worked together on our games with him writing the stories and me expanding the computer code (he was also a good BASIC developer for the "choose your own adventure" style games that we created).
He would type the game into his computer, play it through, and then print it out on his printer. The next day, he would come over to my house with his printouts and I would manually type the program into my computer while he read the lines out. Doing it this way, I got to preview the results of decisions and how they led to either a nasty death or a victory. It was fun to play the game through because it was a matter of which decisions resulted in which outcomes.
I became more and more interested in how to expand on the simple GOTO statements and learned about subroutines (GOSUB statements that returned to where you left off) to provide more advanced logic. Eventually, I learned that you can POKE binary data to memory locations and take advantage of built-in capabilities of the computer. I also learned what an array was and how to take advantage of it to store related information for easy retrieval.
As I learned new programming tricks, I would share them with Joshua and they would show up in subsequent versions of his games.
It was a great partnership that grew into even more fun as we got older.
I have a big imagination and I am naturally creative. However, my creativity and imagination are very static and technical. I use my creativity to recognize and take advantage of technical abstractions and my imagination helps me envision ways to connect the abstract ideas with a concrete implementation (usually in the form of computer code). I occasionally stretch my wings with graphic design or music composition, but my gifts, talents, and experience are mostly related to computer software design and programming.
This has been developing in me since those early days when Joshua and I would partner to create all sorts of computer creations. He was always the idea factory and I would find a way to make it happen with his help. We had a lot of overlap because he had a good grasp of computer programming and I had a somewhat workable grasp of storytelling.
In addition to learning how to program, my parents bought me the MODEM add-on for the ADAM computer. It plugged into the peripheral bus and the telephone wire came out of the top of the unit and plugged into the wall. I used it to log into the local Bulletin Board Systems (BBS) in Atlanta and met people from all over the city.
It was the beginnings of the online systems (AOL - originally QuantumLink for C-64 users, Compuserve, EarthLink, etc.) These online systems were in place when the well-connected techie nerds began to offer consumer access to the budding Internet, which had previously only been accessible from colleges and government agencies. I was very much into the early days of the Internet and knew it was how I was going to make a living from a very early age. I can't imagine doing anything else.
I once built a speech digitizer for my Commodore 64 computer using the schematics from a home computer magazine. Once I finished it and tested that it worked, I didn't know what to do with it. Joshua was quick to find an application and we had a big laugh at the resulting confusion it generated.
As time went on and he moved away, I lost touch with Joshua. I recently learned that he has been very busy as a college educator and frequently teaches many of the topics that we grew up exploring together. He has published multiple novels and leads a group about academia on the web.
We are still the same people we were back then, but now we get to be adults about it and follow our passion to share our discoveries with the world.
He recently wrote a great article titled Would You Rather Read or Play a Novel? that inspired me to create this post. His article reminded me of the joy I get out of playing modern video games like "Elder Scrolls: Skyrim", where you wander around in an enormous open world, meeting people, doing side jobs, dungeon crawling, casting spells, and even crafting your own armor, weapons, and spells. Within this world are numerous book shelves. Most of the books on the shelves can be opened and read in-game. They contain small bits and pieces of the game lore that give you an insight into the environment you are playing in.
Elder Scrolls: Skyrim
It's just a more advanced version of the very first games that we wrote back in the 80's, fleshed out to take advantage of modern graphics, sound, and computing power.
Even though we both started out as computer programmers and authors, one of us became a college professor and author and the other of us became a professional programmer and technology hobbyist.
I think the main point of this post is to communicate that it is important to follow your desires and work hard to pursue the things you are passionate about, turning them into a career.
In short, I like to say, "To get a great job, find something you love doing and convince someone to pay you to do it for them."