Happy New Year 2020

Happy New Year 2020

January 1, 2020

As is now tradition, I like to use the new year as an excuse to reflect on the last year, and look ahead to my goals for this year.



In last year’s new year post, I gave myself a few goals. Let’s see how I did:

Happy Blogging

First, I wanted to get into the habit of writing one blog per month. I ended up writing 9 blogs:

I also wrote a massive How to Interview guide, so I might stretch the count to 10.

They range from simple announcements to personal reflections. I tend to fixate on one idea at a time, and writing these helps me formalize my thoughts. Publishing a blog article feels a little like “finishing” that fixation, and I can then move on to the next thing. The problem is that I can get blocked on one small thing- for instance I lost a month trying to come up with an example I liked for The Subjective Side of Code. I’m also a slow writer, and I only have a couple hours of “Happy Coding time” each week, so writing blogs ended up taking most of my creative energy this year.

I also recognize that I’m terrible at splitting these out into shorter posts. Writing longer posts is easier from a brain-dump perspective since I don’t know what the content will be until I write it. I know that makes it harder to read, and splitting the content up would be better for boring stuff like SEO. I could have split Checking My Privilege into 10 individual posts. How to Interview could have been 20. But the process of splitting them up and giving them clickbait titles sounds super boring.

I’ll give myself a B+ on the blogging goal. I didn’t quite hit my goal of one blog per month, but my default thought for most of the year was whatever blog I was writing at the time. In 2020 I hope to still write blogs, but I want to leave more room for other stuff too.

Tutorials and Examples

Tutorials are the core of this site, and I wrote 13 new tutorials this year, mostly Google Cloud Tutorials.

2019 post chart

I feel like I’ve gone as far as I want to in terms of broad categories of tutorials. I probably won’t add any new tutorial sections anytime soon, but I do hope to expand the content of the existing sections. Some obvious next steps would be to create beginner p5.js tutorials or to refactor the Java server tutorials to use a more reasonable workflow.

I like the idea of trying to align my content with education standards, which in theory would make it easier for teachers to use this stuff. That would open up a lot of interesting possibilities.

In 2019 I also wrote a bunch of Google Cloud examples and p5.js examples, but I haven’t added them to the site yet.

CC Fest

I participated in CC Fest again in 2019. I had fun spending too much time creating spooky p5.js sketches.

CC Fest crowd

Working with middle school students is an interesting challenge, because they’re quite a bit younger than my typical audience, and I have very little experience teaching in-person. I think it’s healthy to get out of your comfort zone every once in a while, but I feel like I spend a lot of time and effort to create a “just okay” session. If I do it again in 2020, I think I’m going to adjust my approach and focus on one tiny concept instead of trying to provide a lot of room for creativity.

CC Fest poster

My favorite part was seeing a group of girls go from “I’m only here because my teacher made me come” to “let me obsess over getting this code exactly right” after I told them I could turn their programs into stickers. And in a very LA moment, I realized that the guy I gave an impromptu lesson on trigonometry to was the lead singer of LMFAO. Nice to meet you Redfoo!

And probably my favorite quote of the year: “You just taught us, so I think that makes you a teacher!”

Definitely worth my bike being stolen and driving to LA through forest fires with my car window stuck open.

fire landscape

Happy Arting

After years of assuming this would be very difficult, I spent a couple weekends creating an Etsy store.

Stanley and some art

This turned out to be easier and more fun than expected. I did it mostly to see if I could, but I’ve even sold a couple pieces which is pretty cool.

Personal Page

After years of plain old procrastination, I finally went back and updated my personal page and my photography site. It’s not really a big deal, but this stuff has been on my todo list for way too long, so it’s nice to at least cross them off for now.


Another long-term goal has been to create a “real” Android game. This is always like third on my todo list, so although I want to do it, I never make any real progress. I did take a nerdcation to Santa Cruz though.

Santa Cruz

I also went back and updated my old apps. Frustratingly, Google removed the Web Comic Reader, which was the closest thing to a “real” app I’ve published. Apparently webcomics are considered adult content, and I didn’t have the energy to fight with support.


CodeU continued to evolve in 2019. Thanks to Nicki, Zhila, Jonathan, and Andrew, I was able to take a step back and not spend all of my spare time answering questions over chat. It was nice to “just” be an advisor again.

Oh, and I went to Singapore! CodeU launched to a few Asia-Pacific countries in 2019, so I went to the retreat at Google’s Singapore office.

Singapore sunrise Singapore Google sign Singapore APAC sign Singapore developer space Singapore lawn Singapore tower

I don’t really drink the Google kool-aid, and I tend to be a little grouchy most of the time, but if you had told me 5 years ago that Google would be using the curriculum I wrote, and that it would be launching all over the world, I would have thought that was pretty neat. Meeting the APAC students was humbling, and teaching sessions on creative coding in both North America and Singapore was super fun.

One of my favorite memories of the year was in Singapore, eavesdropping on listening to groups scrambling to finish their projects. That might sound anti-climactic, but in a way it was the result of everything I’ve been working towards for the last 10 years: One Program per Week, Static Void Games, Happy Coding. Hearing people from the other side of the world talking about the projects I wrote was a cool moment for me.

The Jerb

The biggest news from my day job was that I became the tech lead of the project I work on. That could be its own blog post, but for now I’ll just say this: before I took the position, I was nervous that I wouldn’t have the technical ability required to fill the role. I was afraid that people would have questions I couldn’t answer, or that I wouldn’t know how to do something. But it turns out that despite its name, the tech lead role isn’t really technical at all. It’s mostly about people, figuring out what they want and how they interact, and using that to facilitate cross-team collaboration in a complex organizational structure.

org chart comic

(Image credit: Manu Cornet)

I’m half-kidding with that last bit, but I was surprised to realize how powerful office politics are at my job. It’s not enough to be a good programmer, you also have to play the game. I’m not exactly good at it, and there’s a lot about it that makes me grouchy, but I do find it strangely fascinating. I think a big part of my 2020 will be figuring this out more.

Oh, and I went to London for work. The London office is pretty cool:

London Google office

And I got to see my friend George!

But my favorite thing there was the wall of cats:

wall of cat pictures

Ludum Dare

Another highlight of 2019 was participating in Ludum Dare 45. The theme was “start with nothing” and I made a game where you make choices to go from black (#000000) to white (#FFFFFF). It’s more of a visualization or a toy than it is a game, but I’m happy with the result. My entry got 13th place (out of 1885) in the innovation category, and 33rd in the theme category. I’ve skipped the last few Ludum Dares, so it was cool to participate again.

vertical color visualization

vertical color visualization


When I was a kid, I always thought 2020 was when the future would really start, so it feels a little weird to be here now. Until I get my flying car, I’ll keep checking stuff off my perpetual todo list.


CodeU starts in February, which means I’m always busy preparing the curriculum in December and January. So the first thing I’ll do in 2020 is finish up the curriculum changes for the next session.

I’ve started thinking about what it would look like for me to be less involved in CodeU. I really enjoy it, but it takes up a ton of time. Since taking the TL role, I usually work around 10 hours a day, and then I come home and do CodeU on nights and weekends. I’ll link to this Medium article instead of complaining, but the point is that this isn’t really sustainable, for me or for CodeU.

First comes finishing the curriculum and then volunteering as an advisor, so right now it’s just a thought in the back of my mind. But CodeU has been a big part of my identity for the last 3 years, so the idea of stepping away from it feels significant.

Existential Crisis

I’ve been thinking more generally about how I spend my time, and how I’d like to spend it. Somebody recently asked me why I do Happy Coding, and I didn’t have a great answer. They asked who my audience was, and my answer has always been that I don’t really care if nobody reads this stuff. But after 4 years (10 if you count the ancestors of this site), I don’t know if that’s enough, especially since I could be spending time on things that do have an audience.

On the other hand, the idea of intentionally “building an audience” feels gross and boring to me. I know I could probably lean on my job title and come up with a bunch of clickbait to attract more readers. But I want to believe that it’s still possible to be authentic. I want to believe that if I put this stuff out there, eventually somebody will find it useful without me tricking them into it.

I read about an approach to handling anxiety that I liked: when you start thinking about something that makes you anxious, instead of letting it distract you right now, schedule a time to worry about it later. Add an event in your calendar to freak out about it at 11:00 tomorrow morning.

So with that in mind, I’m scheduling an existential crisis in 2020. What am I doing with my life? Where is my career going? What comes after CodeU? What is the end goal of Happy Coding? I dunno, but I guess I’ll figure it out in 2020.


I think the challenge is that I have a lot of different things I could spend time on now.

When I started this site, I had a relatively easy job. I was good at it, but after I finished my work there wasn’t much else to do: they didn’t have outreach or education programs, and I wasn’t in a position to mentor interns or new engineers. I would get home around 3:00 in the afternoon, and I was hungry for more. I went to grad school with the vague notion that maybe I’d take an adjunct professor role at a nearby college, and I started Happy Coding to fill that space. I had a lot of time to spend on it, without needing to sacrifice any weekends.

Now my job offers a nearly limitless list of things I could be doing: in addition to my actual job, I could do more mentoring, more education and outreach. I’ve focused on CodeU, but I could also host an intern, teach a class, or volunteer in a dozen other ways. Or I could spend more time on my personal projects, explore the idea of publishing things more seriously. The space that I desperately wanted to fill 4 years ago is now too small to fit everything I could be doing.

In other words, I need to focus more. Right now I’m doing a bunch of different things, and I’m not doing any of them particularly well. I’d rather concentrate on just a couple things, and do them really well.

I’m normally very goal-oriented, so it annoys me that my goals for 2020 are so abstract. And I know that having too many options is a good problem to have. But I think a big part of my 2020 will be figuring out where I want to spend my time.

That’s enough New Year’s angst from me. How was your 2019? What are you goals for 2020?


Happy Coding is a community of folks just like you learning about coding.
Do you have a comment or question? Post it here!

Comments are powered by the Happy Coding forum. This page has a corresponding forum post, and replies to that post show up as comments here. Click the button above to go to the forum to post a comment!