I was lucky enough to grow up with computers from a very early age. My dad worked at a company with a Mac-heavy environment in the early 80s — the time before Microsoft was a household name when Apple (still) was the brightest star in the personal computer market (funny how things come back around). It’s hard to explain how critical this early exposure to computers shaped my confidence and understanding of them throughout the years.
I didn’t touch a smartphone until an iPhone 3G when I was 27. Before that, it was heavy tower computers and laptops all the time. This experience shaped my education, my job prospects and creative endeavors.
My earliest memories on a computer were using it to draw. I’m guessing this might’ve been a precursor to Photoshop back in the 80s – something with minimal options. I never worried about “messing things up” on the system — it just wasn’t a concern. Instead, I focused on important things like how to change the icon for a folder. Later on learning how to format and reset a system was like learning a superpower. It guaranteed that my playground would be working.
The movement of kids from computers to phones and tablets does have me concerned about the creative side of innovation in a generation of people using devices that were created on a different system. But it also has me optimistic! I’m extremely curious what kind of tools, interfaces, and experiences will be created by the first generation of users on these new interfaces.
Even though I started before a time on the internet, I never had a desire to build desktop software for the systems that were currently in place. It wasn’t until something came that changed things, and I was able to watch grow up and take shape that I felt a passion to be a part of it. That new medium was the web, and I was addicted to it from when I first used it in 6th grade. Over the next decade, the web became more than just data – with social networks being one of the most interesting innovations.
I wonder about what that “next thing” is for younger people currently taking shape? Is it VR? Augmented reality? 3d printing? Communities where the users are the builders (Minecraft)? Interactive surfaces? Although I’m jumping in on these, I can’t wait to see what’ll happen!
Note: I really hope it’s augmented reality. I’d love to be able to put on a pair of glasses and see an annotated version of the world – but also be able to take it off.
My First Computer
We had many computers at home growing up. A Macintosh, an Apple LC II, an IBM 386, a 166 MHZ computer and more. These were computers my parents needed for work that I was able to learn and play on. Having access to both Mac (at my Dads house) and DOS (with my Mom), I had experience with both, but unfortunately never got great at the command line. That early lack of command line experience had a big impact later in life, making my switch back to a Unix based Mac more of a bumpy right later on.
Fast forward to sophomore year of high school and I finally bought my own computer — a 333mHz Compaq Laptop. With divorced parents, having a laptop made a lot of sense at the time. Like most of my friends and fellow students at our Center for Advanced Technologies Magnet, I went the Windows route. It wasn’t too long before scraping together parts to build something bigger.
The high school curriculum at CAT (Center for Advanced Technologies magnet program) was amazing. I can honestly say I learned more programming in high school than I did in college — but that might also be because I switched majors 3 times. In high school alone, we focused on the following languages:
- Karol the Robot
- Chipmunk Basic
It would’ve been nice to be exposed to an object-oriented language, but even this was an amazing education for someone graduating college in the year 2000. This high school exposure to programming and multiple system types was an amazing way to get an introduction to core concepts. It’s funny how simple exercises stick with you when you make breakthroughs too. Making my first tic-tac-toe program, and creating my first binary search tree are some of the most memorable experiences programming during high school.
Senior year in robotics class, back in 2000, we even did a crazy project. There were 2 class times during the day, and they were set up to compete with each other. In one class, they were tasked with creating a vehicle that would be gyro stabilized on a ball and move around avoiding a predator from above.
In the other class (which I was in) we were tasked with creating a blimp which would need to fly around and try to dump flour on the ball vehicle. Did I mention that both of these needed to be autonomous vehicles without user control? It should be noted neither class got a working vehicle, but we did learn a ton about autonomous vehicles, blimps, movement and programming for a 486 motherboard. This was in a time before Raspberry Pis, where you could only flash a motherboard with the code once and it’d be permanent. If you had a bug in your code or needed to make a change, you needed to buy another motherboard and flash it.
Today, kids who are able to build their first Minecraft or Super Mario Maker levels while in elementary school are getting this same feeling of creation at an amazingly young age. It’s an addictive feeling, and with more time to build on it, I can’t wait to see what’ll happen.
When I finally moved into a house, it was obvious that I’d need an office to really program at. It’s funny to think that just 12 years ago I was still a Windows person, not to mention a desktop. Since then I’ve only had 2 MacBook Pros – which goes to show how long they last.
Moving from this setup to a Mac laptop was the biggest computer change for in my life. Being able to use it anywhere has meant that I’m always getting better at using a computer. That’s a weird thing to think about – but even just using a computer can be something you improve on. The more access you have to a computer, the better you’ll get at it.
For kids growing up without a computer in their house, they have a huge disadvantage to overcome. All those years of access to a computer in my house growing up set me up for success in high school, in college and in my career.
Computers at Home Today
Nowadays, I don’t typically program isolated in a room anymore. Instead, I’ll settle down on a couch, watch some Daily Show and chip away at a side project or a blog change. When I write or work from home, I plug my laptop in, use a second monitor and pour some coffee.
Computers in our Apartment
Even after we moved to Salt Lake City, it was important to create an irresistible staircase for writing. Creating an office immediately was essential if I wanted a dedicated place to get things done. This involved setting up the same desk in a new location. It’s not as natural as the others – I still need to fill it out with a few plants – but the setup is amazing.
Computers at Code School
At Code School, we would all manage and maintain our own computers. This means that I used the same laptop at home on the couch, in my home office, and at work. Making sure that this one computer is running perfectly and is optimized for how I work is important, but also can be a rabbit hole when I target optimization. Later on, we switched to company computers, which gave a much clearer separation of work and personal space.
Whenever I hear talk about privilege, and how that shapes someone over time, this is one of the first things I think about – education. Where would I be without that exposure to computers from a young age? What would have happened without a playground to experiment in? If I wasn’t exposed to programming in high school would I have had the drive to focus on it in college in the same way? I can’t say for sure, but I do know if I’d never been exposed to computers until college, it’s very unlikely I would be a developer today.