Three Lessons From My Journey From A 2.8 GPA To A Senior Engineer At Netflix
Looking back I was generally pretty good at school because to me it was a simple bargain. You go to this location every weekday, listen to someone older than you teach, then on your own time you optionally need to study the concept and apply them to tests. I was a straight-A student and it quickly became a point of pride for me and people who knew me. I was considered “smart”, but looking back I can see that I was mainly regurgitating facts and logic. Lucky for me, this all changed when I got to college and discovered the complex and intricate world of computer science and more importantly, the ability to build useful things.
It was a brave and exciting new world waiting to be explored. It was a wild west where the only entry fee was the cost of a computer, but there was an issue. These pesky things called classes, homework, and tests kept getting in my way and taking up all my time.
So I made a decision. I decided to prioritize learning how to build real-world products over aiming for a high GPA. I still needed to pass my classes and graduate after all since I lacked a fallback cushion like some other famous tech dropouts. In the end, it enabled me to have a deeper level of appreciation and understanding of the exact topics I was learning in my classes and over the long-term paved a pathway to success and immense growth. Here are some of the lessons that came from it that still ring true today.
1. Doing > reading
I remember a surreal moment that happened in my Intro to Database Systems class. Our semester final basically entailed building and deploying a database and querying it during a presentation. That was it. If you could do that you would basically pass the entire class. This was funny to me because I had done this years ago while building a social network project leveraging Google’s Datastore with its GQL (Google Querying Language).
After joining a group with one of the students consistently acing the class, I was baffled when they claimed that this would be “hard” and we should get started right away. It was clear to me that although the individual had so much theoretical understanding, they lacked experience applying those theories. I on the other hand already had a DB instance with replicas running that I could connect to and query. Safe to say I and my team passed the class but instead of doing the extra credits, I again focused my intention on getting my hands dirty. I decided to learn iOS programming to build an app and that app led to my first internship later that summer.
The information gained from reading about real-time processing techniques versus the amount gained from actually implementing said system is night and day. Reading a document that mentions the importance of pagination for creating stable APIs is great but you’ll likely forget it in a week as you have no context for its importance. You will never forget your API requests timing out due to latency spikes from trying to load 10,000+ fully hydrated objects in a response. Concepts in the abstract are great, but it’s when we ground them in our complex, ever-evolving world that we unlock a new level of insight.
2. Pedigree is overrated
Coming from a medium-sized Texas university that most people had never heard of, I was insecure about my knowledge and how it compared to some of my co-workers who went to MIT or Stanford.
To say that the university you go to has no impact on your career prospects is clearly wrong. Stanford students receive far more attention regardless of capability simply due to their proximity to so many tech companies and by virtue of the university’s legacy. The important thing is to understand is that once you graduate, its direct impact on your ability to learn and grow is negligible. After interviewing close to 100 candidates, I can safely inform you that I can’t remember the university or GPA of a single person the companies I’ve worked at have made offers to. The truth is very few people will care or notice it even in the new grad stage. I was only ever asked for my GPA once while in undergrad and it had no impact on the interview process.
The pedigrees that matter the most are your accomplishments and learnings. What have you built? What have you learned from those things? You improve in these areas by getting your hands dirty. The earlier you start the better at it you’ll be.
3. Accept failure and keep going
The very first time I read an article on AWS about spinning up a cluster of EC2 instances, I couldn’t get past the first three sentences. I remember throwing my hands up in exhaustion. “There’s too much to learn and I won’t be able to grasp any of this”, I thought to myself. Turns out I would get used to not understanding things as I continued my strategy of building products. That makes sense because it was something I had rarely done in the past. It was a skill I was barely a beginner at.
REST, APIs, push notifications, asynchronous programming, we’re all things I eventually learned in the first year of me going down this path. Between all these concepts, I had days, weeks, and sometimes months of failure (especially with Apple Push Notifications but that’s another story) until one day the lightbulb switched on. These trials and tribulations helped me understand and honestly fall in love with the process of learning itself.
The process of going from not having any idea how something works, to confidently explaining it to others became a beautiful and endearing art form in my eyes. This has especially paid off as it’s helped me build great products like ETA and Movement spaces which all required me to learn new technologies. I realized quickly that the ability to bring new things into the world is honestly a superpower and building that muscle is still a priority for me to this day.
It’s this lesson that stuck with me the most and led to growth not just in my field but in all aspects of life. Now one could argue that I didn’t need to intentionally sacrifice my academics to have achieved these results but for me, that choice taught me the importance of prioritization and how by choosing to sacrifice some things, we can unlock new possibilities.
Until next time, you can follow me on Twitter at @cinematic_dev if you’d like to keep up with more stories and thoughts!