A diverse group of individuals tell us how they began their career in programming. Read them here.
Oluseyi Sonaiya shares his story.
***
Oluseyi Sonaiya
I was extremely fortunate to learn to code at the age of 12. My dad bought our first PC when I was 7, an IBM PC-XT with an 80 MB hard drive (yes, MEGA bytes!) and an 8.33MHz 8086 CPU with monochrome Hercules Graphics Adapter. Being the sort of parent who encouraged curiosity and exploration even when others thought it “risky,” he had me help set it up. I received my first electric shock that day, and cried for an hour!
He also let my sister and I have pretty free reign with the computer, as long as he wasn’t using it for work. This is the late ’80s, so we—well, mostly I—dabbled with applications that many people have never heard of today: WordStar (a precursor to Word), Ventura Publisher (think InDesign), Microsoft ShowPartner (PowerPoint), ZSoft PC Paintbrush. I learnt to draw with a mouse and create simple animations with ShowPartner, and then I discovered scripting. ShowPartner allowed you to enter simple instructions to move objects on screen over an interval. Mind. Blown.
I tried to create cinematic quality animations with it, but I was trying to shove a square peg into a round hole. I discovered games on the computer, both simple text-based affairs including an Adventure clone and graphically intense titles like Test Drive, and I wondered if that was something I’d someday be able to do myself. The artistry and technical proficiency necessary to create compelling graphics on those machines was absolutely phenomenal.
Fast forward a couple of years and I’m in secondary school, writing out detailed “designs” for my own video games, mapping button states and control schemes but lacking that missing piece to turn static art into an interactive experience, until my classmate brings a copy of Build Your Own Games with BASIC (or something like that) to school. I’m enraptured. I ask if I can take it home over the holidays and he agrees, so I head home to what is now an 80386 with an EGA display. I scour the disc for anything named “BASIC” and find QBASIC. Remarkably, this environment contains complete documentation of the language, accessible simply by pressing the F1 key. By the end of that break, I’ve written all kinds of programs and my first graphical game. I was 12 years old.
We lived on the Obafemi Awolowo University campus in Ife, both of my parents being academic staff. My neighbor down the street was studying Computer Science at the university, and he heard that I was interested in programming. He loans me a copy of The C Programming Language by Kernighan and Ritchie and gives me a copy of Borland Turbo C. It makes no sense to me, but I’m muddling through. Then a friend of my father’s visits from Unilorin, a Mechanical Engineer, and he tells me to skip C and jump straight to C++. I’m 14 years old and reading Dr. Dobb’s Journal, trying to solve the “C/C++ Lint” puzzles in Association of C/C++ Users Magazine. I’m absolutely certain that I’m going to grow up to become a video game programmer. Today I do a lot of graphics in my job and I have a stealth-mode startup focusing on production tools for digital artists. Close enough :-).
I’m going to skip 20 years of stories and focus on this instead: I used to think that I was special, but what I now have the maturity to understand is that I was supremely privileged. I was afforded opportunities that others never had, and I’ll admit that I sometimes took them for granted. Today I’ve learned to program in nearly 20 different languages, shipped production software (web, desktop, mobile) in 8 or 9, and I’m committed to making the sorts of opportunities that I had available to every African child.
***
Oluseyi Sonaiya (@oluseyidotinfo)is a Senior iOS & Mac Engineer at MLB Advanced Media.