back

how i learned to code

nicholas chen · december 26, 2025 · 5 min read

how i learned to code

    small learnings that taught me to code from start (top) to end (bottom)

  • • built a hangman game in java
  • • learned the basics of c++ from my computer science teacher in high school
  • • joined my school's programming club and learned from better programmers
  • • tried out competitive programming and did the ccc twice in c++
  • • joined a group of other students and learned a lot building voluntrack
  • • built my first gpt wrapper during an online hackathon with friends
  • • made a student registration and mobile calculator app using kotlin
  • • landed first software engineering internship at RBC in summer 2024
  • • tried to make an interactive valentine's day website
  • • built an ML model on jupyter notebook using python, numpy and pandas
  • • learned a lot of what i needed from geeks for geeks and w3schools
  • • built some random projects with javascript, html and css for the first time
  • • built another gpt wrapper at jamhacks
  • • built a study buddy tool with friends at hack the valley
  • • built a music boombox thing at uoft hacks
  • • built the first version of my personal website
  • • went to the university of waterloo for systems design engineering
  • • learned intro to programming in c++ and built projects for school
  • • built my resume in latex on overleaf
  • • started to solve leetcode problems on a more regular basis
  • • joined engineering design teams to learn how to code in organizations
  • • joined ownr as a software engineer intern for the winter
  • • learned about unit and integration tests
  • • learned a lot of git commands including git cherry-pick
  • • built a dependabot clone with a friend during my free time
  • • built a trash sorter at hack the 6ix with rbc friends
  • • worked in a production codebase developing internal tools for the team
  • • learned typescript, next.js, vite and react and used postman a lot
  • • messed around with postgres, sql and the debugger for the first time
  • • got more familiar with the terminal and ai and used stack overflow still
  • • won 2nd place by building a posture checking robot at utra hacks
  • • took data structures and algorithms in c++ during second semester of uni
  • • hopped on twitter where i learned a lot and met other cool cs students
  • • started to take leetcode more serious and watched a ton of neetcode on yt
  • • made an etl pipeline that processed customer feedback
  • • built a discord summarizer bot using python for fun at 2am
  • • used golang for the first time and built an image processor
  • • made this facial recognition software for fun in python and typescript
  • • tried learning haskell for the first time
  • • built sql query parser with typescript and svelte for parsing flat json
  • • created diff digest tool for fetching github pr diffs for ai summarization
  • • landed a software engineering internship at textql for the fall
  • • had to learn matlab for one of my uni courses during school
  • • built a url shortener using golang and tailwind css hosted on railway
  • • made a mini worse version of figma
  • • did many takehomes and coding assignments
  • • redesigned my entire personal website twice
  • • coworker told me to start using iterm2 and i fell in love
  • • used a lot of claude code, codex and cursor when programming
  • • worked on the textql healthcare landing page landing page
  • • learned how to use the terminal better than before
  • • worked at a startup and used a lot of go, python, typescript and svelte
  • • worked on the ontology a lot at textql
  • • did a lot of agentic and applied ai work
  • • learned even more git commands including git bisect
  • • broke prod at textql 4 times and learned how to debug and fix it
  • • learned rust for the first time and built some random things
  • • participated in a mercor ML model challenge with friend
  • • did some benchmarking with web search apis for the first time
  • • made a link route checker script
  • • started learning some system design for programming

note: i am updating this everyday

references

/