As corny as it sounds, it all began when I was 5 years old. I'd like to think that this is true for everyone. And that those 5 year olds knew what they were doing. We didn't have the adult noise to distract us from knowing ourselves. Growing up we never had any excess amounts of funds lying around in my family. By that I mean I grew up relatively poor in a first generation immigrant family. So I won't lie to you and tell you that I had the Commodore 64 and wrote my first app at 6 and by 8 was vetted by all the major universities. I barely had a full meal at the age of 6, let alone a computer.
Lucky for me, at least my kindergarten school had a fresh computer lab setup. I still remember the word editor that we used to practice typing sentences into it. I remember it because it was the only piece of software running on that thing. And I was terrible at it. I was actually worse than most of the other kids and fell behind much of the time. I didn't care though, I got to play with the computer. I typed random characters and saw them appear on the screen and my 5 year old mind couldn't figure out how this magic happens. It really is magical if you think about it. Keystrokes turn to electrical signals running through a cable and get interpreted in real time into a combination of pixels.
It was also around this time that Apple was making big pushes in the commercial markets. The colorful and "compact" Apple Macintosh was growing in popularity at this time. I stayed up until 2am many a night watching Apple Macintosh infomercials trying to decipher in my minds eye what this computing device was capable of. Weekly, the mailman would drop off pounds upon pounds of "Information Packets" that I would call Apple for. They just sent them to any 5 year old willing to call and show interest I guess. Secretly though, I wanted to get my dad's attention about this computing device by dropping hints.
My old man was a working class stiff though. He didn't care about computers. He worked warehouse jobs for years and spent his free time in front of the old television terrified of impending war and economic collapse. Can't blame him. Alot of people were going through that in the 80's and early 90's. He ignored the pamphlets for the most part. Maybe he read one or two, but he couldn't understand what he was seeing I think.
On one particular day, my 3rd grade teacher came into the classroom more excited than usual. And he was carrying something with him that caught my eye. He had the exact same information package that I had stacked to the ceiling in my living room. All of a sudden, this computer thing was getting more attainable. I asked him everything I could about his recent purchase. He informed me that all you needed was a power outlet and you were good to go in this virtual landscape. He mentioned that you could play games and write stories and paint all kinds of fanciful things. Count me in. This inspired me to once again approach my dad, after he had his dinner and took a quick sleep. That was normally the best time to approach him with anything. Probably the best time to approach anyone for anything really.
I still remember that day. And not because he ran out and bought his inquisitive son a computer. No, not quite. That was the day that he put an end to my asking once and for all. He looked me square in the eye and told me that computers needed special wiring to run and that unfortunately, our apartment did not meet those requirements. I held in the tears that day, and just let it go. I assumed that this just wasn't a part of my story in this life. That I should just focus on school and that was it. Pretty bold thinking for a 3rd grader.
I stopped watching infomercials and stopped ordering software demos and information packages. Computers became a part of the background in my life. As I grew up and went through various schools and grades, there were many changes. My families financial situation was not one of them. But slowly, people around me began to get their very own computers. At first just other classmates. And then soon after close friends. But I didn't bother to ask anymore. I was getting old enough to know how computers worked and knew that me getting a computer was not exactly the highest priority in the family.
So what is one to do? Well, if you are a young inquisitive soul such as myself, you do what you have to do. You pay your friends by the hour to use their computers. Until they feel bad enough about taking your money that they just let you use it for free. Which is exactly what happened during my high school days. Note that the early 2000's still didn't have state of the art computers as you read through this. The best machine that I used during that time was probably just a 64MB RAM eMachines desktop with 10GB's of storage. I say "just" loosely, but the truth is during that time having that in your home was a sight to behold.
I didn't get my first personal computer until the age of 17 roughly, years after all of my friends had theirs and right when they started to exponentially grow in power. It must have been hard for my old man to make that purchase. After all, he had spent over a decade living the lie that our home wasn't zoned for computers. And here he was, shelling out his hard earned cash proving himself wrong in the process. He wasn't happy about the cash part, but I think a part of him was highly inquisitive about this new guest in our home.
The very next year, there I was in line at University filling out forms and checking the "Computer Science" box under my selected major. I still didn't quite know what "programming" was. I knew you could build applications with it, but that process was completely foreign to me. Which is why I avoided taking any programming classes my first semester. Or why I wanted to avoid it I should say. During my initial orientation with hundreds of students in a hall frantically fighting for placement in various classes, I bumped into one of the professors by accident who for reasons still unknown to me today asked to look at my schedule. He saw "Computer Science" as my assigned major, glanced at my schedule, and then looked me up and down.
"Your taking this class here, got it?" he said circling the Programming in C++ course listed.
I responded with a "Yes sir, will do" and for whatever reason, actually listened to him. 2 weeks later there I was, one of two freshman student in this programming class fresh out of high school. I'll be honest, I did terrible in this class. It seemed like everyone around was typing at lighting speed while crazy commands popped up in their consoles. And there I was staring at a giant red error trying to figure out how to make a file in the command line.
In the end, I made it out of that class with a C average, just enough to continue on to part 2 the following semester. At this fork in my life however, I was not feeling confident in my ability to grasp this new knowledge, and I was all but certain that I would be changing my major towards some other scientific field the following semester. It was definitely a disheartening feeling, and I'm sure many people go through this. Why did I stick around?
Well, as I mentioned, I was one of two freshmen in this C++ class. The other freshman became a close friend of mine during this time. We helped each other out with the work, we sat together every day, we had lunch together and we discussed everything going on in our lives pretty much. I decided to continue on this path after having a talk with him during the summer break. He was going to stick it out no matter what. "Life gets hard sometimes", he said, and "we just have to step our game up son!".
That guy was too high energy. But I listened to him and stuck it out. Things worked out in the end of course. I did the work, studied hard, and learned to enjoy the process. Thousands upon thousands of human hours later, I had earned my degree.
I think it is time to close this already too long tale right at this junction. And it is my hope that some of you reading this and finding the field of programming challenging and difficult can see that you are not alone in this. Yes, I was terrible in the beginning. But I've worked hard daily to get better and this craft. And in my time I have gone on to work for Fortune 500 companies, become lead developer on large projects for many corporations, lead teams of engineers, co-found a startup and currently going on 2 years teaching for a coding bootcamp.
When that nagging question of "Should I continue with this?" springs up, the following words always come to mind.
"We just have to step our game up".