4 minute read

Man, the days before AI and Claude’s masterful code generation were something different. When I was in high school (2017), I found a class called Intro to CS. Little did I know that this class was going to change my entire career path. I mean I was 14 years old. I had no clue how to program and when I enterred the class they were talking about Snap, something that look very close to Scratch! I made some cool games like connect-four and hangman. In the second half of the year, we were expected to make similar games and solve similar puzzles in Java, my first programming langauge. Java was soooo loud.

public class HelloWorld {
  public static void main(String[] args) {
    System.out.println("Hello World");
  }
}

Man all of that just for a print statement. And what’s soooo funny is we didn’t use Git cuz that was way to complicated to pick up and learn about. So we carried our USB sticks which carried Java files! These USB sticks had all the code we wrote and even had versioning to the files!! HelloWorldVersion1, HelloWorldVersion2, …

It was wild to me when I learned about Git and GitHub in APCS where we could finally code on our own laptops, still in Java but now learn about APIs and OOP and so many core data structures!

Little did I know that after getting into UC Berkeley, I literally took some parts of CS 10 teaching Snap a programming language made right there at Berkeley! And when I was taking CS 61B taught in Java, I had a good head start because I knew some data structures from APCS.

But I saw my grades at UC Berkeley and they were no where near perfect. Even with all the background, I was with students who had a similar path of taking APCS in high school and taking advanced math and science classes through high school. So in my first semester, I didn’t get the grade I wanted, but I tried again with CS 61B and the hard work paid off! I did great on all exams, projects, homeworks, and labs. This wasn’t a free grade I got. I had spent my first few allnighters in college working on 61B projects and chugged the most amount of caffeine I have ever had, but achieving every passing test case was a rewarding feeling and making my own test cases to catch edge cases helped me think critically about covering all corner cases! Preparing for exams required spending dozens of hours on the weeks leading to the exam, late nights at the libraries, and the last one getting kicked out of the library.

And after all of that crazy workload and getting a good grade in CS 61B I felt more confident about Data Structures and really enjoyed it to the point that in college I wanted to teach it. I started as a volunteer teaching at Computer Science Mentors, a club dedicated to helping students in small group tutoring session so they could have opportunities to learn closer to 1:1 settings. In a big public university like Berkeley where the average number of students in a CS class is between 1-2k, this made a huge difference! I also was mentored by CSM so giving back felt like a great way to recycle my knowledge and cool tricks to help students learn faster and better! In my sophomore year of college, I was lucky to have received a tutoring position to help teach CS 61B officially as part of the course staff of about 45 tutors and 45 TAs. While I was a tutor, I put in a lot of effort into helping writing a few chapters of our textbook and teaching exam prep sections all while helping our size of 2k students in Office Hours! After a few semesters, I became a TA and then an Admin TA when I left college and the only reason I was so committed and dedicated was because these students reminded me of myself, but they were so passionate and showing up to Discussions, Labs, OH, and review sessions meant the world to me. It was my favorite part of being a college student because not only did I get the opportunity to revisit content I loved to review, but also got to inspire others to learn it and build cooler stuff on top of it like:

  • taking Dijkstra’s and A* and seeing how that makes Google Maps!
  • taking HashMaps and TreeMaps to see how that can help build version control systems like git
  • taking sorting algorithms and see how asymptotic runtimes are good for different cases!
  • building a HashMap using other data structures we learned about building on top of each other like lego blocks (Array + LinkedList = HashMap)

So I would say a lot of CS was learned in education, but more CS was taught in schooling and that will always be a huge part of my identity! I am about to join google next week. I’m excited to be joining some former TA colleagues and fellow students and explore more fields such as ML, LLMs, AI at Google Cloud! But the most important thing is the infra that all of this AI runs on and that is what I want to focus on learning with anyone reading. So let’s learn together. I won’t lie a lot of my content will come from sources on ChatGPT and Gemini queries, but that is today’s best tools to learn and get ahead so I want to take advantage of them to help me grow and learn.

Let’s see how the days after AI look…

Tags:

Categories:

Updated: