A Day in the Life: Sonny Li, Codecademy Curriculum Developer

A day in the life differs from person-to-person, and in this case, developer-to-developer. We’re introducing this new series, A Day in the Life, to illustrate what it’s like to work in Tech as well as one person’s account of working as a Codecademy Curriculum Developer – mostly creative, mostly human.

:wave: Meet Sonny!


1. Tell us a little about yourself.

Hi, my name is Sonny. I’m a Senior Curriculum Developer at Codecademy. I designed and co-authored our content on C++, SQL, ML, hardware with Adafruit, Data Science Path, Java and I’m currently working on our first ever Swift course and VR project. :shushing_face:

I was born in Shanghai and moved to Paris with my family when I was in second grade and then a small town in Germany called Göttingen a year after. We later moved to the States when I was in fifth grade, and we’ve been here ever since. I was always the new kid on the block, so I was drawn to building things and playing music.

I studied Computer Science and Engineering at Ohio State University and came to New York for my Ph.D. program but decided to take a leave of absence a year and a half into it. I have been trying to redeem myself ever since.

Fun fact: My high school band, Attica, was signed to an indie record label.

2. How did you end up working for Codecademy?

In 2017, I was teaching CS at Columbia University and Lehman College and was able to secure some funds to take my students and TAs on field trips. So for each of my classes, I would pick us a fun spot: a local hackathon, Google office, Museum of Math, Hack Reactor, Fullstack, Thoughtworks, etc. One of the field trips happened to be the Codecademy HQ and then ping pong afterward at SPIN. Here are some pictures that a student took. We had a blast.

One thing led to another, and a week later, I was on the phone with Brandon, Codecademy’s former recruiter. Before we hung up, he threw me the question, “Would you teach 20 students at a time, or would you rather teach 200,000 at a time?” I remember getting off the call and laying on my bed, thinking, “Ohp!”

It was a tough decision to leave higher ed at the time because both of my parents are lifelong professors/researchers. I was also starting to gain some recognition in those departments and had a few phenomenal mentors. It was tough meeting with them individually, telling them about this new opportunity at Codecademy. But I was able to get their blessings in the end. And the rest was history.

Since we are here, a big shoutout to Mark Blacher, Joshua Burgher, Dr. Brian Murphy for giving me a chance to teach for two years and Dr. Robert Haralick for taking me on as your Ph.D. candidate. I hope to repay ten folds someday.

3. What are the best aspects of working as a Curriculum Developer?

The opportunity to learn and work with a wide range of languages/frameworks is a rare find. When I’m having a bad day, I try to remind myself what a gem this position is––to be able to play with all the different tools and topics all year-round. That is definitely something I look for because I get restless if I don’t feel challenged at work.

We also have quite a few folks here who care deeply about education and are trying to push the way we teach programming to a whole new level. So I feel pretty proud of being part of that.

Lastly, we get to work on cool side projects!

For example, we partnered with the Warby Parker’s Data Science team, StreetEasy’s Research team, Twitch’s Science team, Hacker News’ moderators, Yelp’s Data Science team and built numerous mockup datasets and projects for our SQL and Machine Learning content. Each of these projects was just an absolute pleasure to create and collaborate on.

Earlier this year, one of our engineers, Josh, and I proposed, designed, and launched our first ever merch store; I learned a lot about Shopify templates, e-commerce, and the legality side of things.

Most recently, I got the chance to grab a coffee and interview the creator of C++, Dr. Bjarne Stroustrup, the OG, and nerd out on the language. Definitely, a dream come true.

4. If you could make one piece of fictional tech reality, what would it be?

Hmmm, it would be teleporting. I would love to teleport between New York and Shanghai and skip the 14-hour flight.

5. Do you have any advice for the learners?

Join a coding community.

Learning to code online can be a very lonely journey, and it comes with a lot of uncertainty. So don’t make it that way! Join Codecademy Community, dev.to, get on Twitter and mingle with fellow new coders.

Try to learn or code a little bit every day.

Learning to code is like learning to play the guitar or learning any other natural language, like Japanese. It helps to practice. Even if you had a long day, it’s good to look at code for 10 minutes. I highly suggest reading a few Medium articles and downloading Codecademy Go, our mobile app, for daily byte-size practice. The #100DaysOfCode Twitter challenge is another great way to stay on track.

Use GitHub and save your code.

I always told my CS students, doesn’t matter what it is - a homework assignment, a few lines of script, a terminal game, a Discord Bot, a Chrome extension - store your code in a repo. You never know when you will need it again down the road. It will also feel super rewarding to see your projects accumulate.

Build a portfolio page.

It’s 2019! It’s nice to have a personal website that showcases you, your projects, and your resume. Write a few blog posts while you are at - you can teach a programming concept, go through a new framework, report your learning progress, etc.

Attend meetups and hackathons.

Meetups are great for learning, networking, practicing talking code - very underrated and seldom talked about. These events can be intimidating for code newbies, but you can always go in and tell the organizers, “Hey, I’m a beginner programmer, can I join a group and follow along?”

You will walk away with not only a ton of knowledge but a great portfolio project and possibly even new friends.

6. If you could make one brand new course what would it be?

Oh boy, this is tough. If we are talking about a traditional Codecademy course: Learn Arduino.

I worked on the Learn Hardware Programming with CircuitPython (partnership course with our neighbors at Adafruit), and I would love to continue to develop a more in-depth course for Arduino: circuits, sensors, LEDs, switches, etc.

If we are talking about a more unorthodox experience… I am also interested in building out a super magical 2020 introductory course and onboarding experience:

  1. Welcome to Codecademy (warm & fuzzy introductory video)

  2. A Brief History of Computing (starting with Lady Lovelace)

  3. How Computers Works (0s and 1s)

  4. Hello, World!

I’m thinking the video could be somewhat cartoonish. I’m going for something that rips the carpet from under you and makes you want to code for a month straight.

7. What does a typical day look like for you?

9:30 am

I’m a night owl, so I wake up ultra late. I usually like to make something small to eat (i.e., Bagel egg sandwich) and make coffee with my favorite espresso pot and hang in McCarren Park next to my apartment for a little while before getting on the subway. It’s a 30-minute commute, so I catch up on my emails and scroll through Reddit/Twitter.

10:30 am

Getting into office. I like to kickstart my day by going into Looker, the Analytics tool that we use, and query for bug reports from the last 24 hours. I also write my to-do list and present my daily standup with my team. I’m currently working on four different projects:

  • Learn Swift
  • Cheat Sheets Beta
  • Interview Blog with Bjarne Stroustrup
  • Top Secret Codecademy VR Course

I also like to just dive in and knock out some important tasks in the morning when my brain is fresh and ready to go.

12:30 pm

Grab lunch. Our lunch is catered by ZeroCater so that’s very nice, but I’ve been getting a little bored of the rotation since I’ve been here for two years. So I usually eat a light lunch after everyone else is done.

I like to eat at my desk, and I like to watch Twitch while I eat.

1:00 pm

For the next five hours, it’s all meetings, focus time, and small breaks. I usually have ~2 meetings around this time. Here is a screen capture of my Google calendar. This week has been a little hectic…

In between meetings, I would go out for a boba walk, have a 1:1 jaunt, or drink some tea. We also have a meditation room that I use to relax for 15 minutes.

6:30 pm

I like to stay a little while after everyone leaves. The office is quieter and more peaceful and it’s just easier for me to focus. I get a lot of work done during this window. And that’s about it!

Nite :waning_crescent_moon:

I eat out a lot, but I am trying to cook more. My best friend from college works in East Village, but he usually gets off at 8:00 pm, so I would eat with him and grab a beer if we are feeling it. My little cousin is a Game Design masters student at Parsons; we are trying to get hotpot sometime this week.

At home, I like to play Dota 2 and work on my side projects if my brain isn’t fried. If it is, I watch Netflix and HBO and listen to music. I just bought a record player and a Telecaster guitar so I’ve been using them a lot lately.

Sometimes, I would also log on late in the night and review some of my work-in-progress curriculum content. I have a lot of my best moments at night. The time’s a little slower and I am willing to go down more creative paths.

Anyways, I hope you enjoyed this. Maybe I will buy a selfie stick and make a “Day in the Life - Curriculum Developer” Youtube video one day.

If you have any questions or thoughts/feedback on the content that I authored, I’d love to chat. You can find me on Twitter @sonnynomnom.

Happy coding! :cowboy_hat_face:

Sonny (left) and Alexus from the Marketing team (right) during Codecademy’s Learner Day Reddit AMA

12 Likes