Happy new year! As has become tradition, this post reflects on the past year, and looks forward to the next one. For previous years, see also 2018, 2019, 2020, 2021, 2022, 2023, and 2024.
I’m also going to sprinkle in some of my favorite pictures from 2024. They might not have anything to do with the text around them, but they’re another window into my year.
If I summarized 2024 into a single theme, it would be me juggling a bunch of jobs, goals, projects, and personal stuff. Or maybe spinning a bunch of plates. Or maybe herding a bunch of cats. The fact that the metaphor is getting away from me feels like a metaphor in itself.
At work, I’ve spent the last eight years trying to find a way to work on education as part of my core role at Google, rather than as a “20% project” that I have to do in my spare time. That’s taken a few different forms over the years, but I finally made the jump in 2023, when I transferred to an internal mobility team that helped non-engineers at Google transfer into engineering roles. I loved the mission of that team, but after a year of layoffs and hiring restrictions, the team was disbanded at the end of 2023.
After that, I started 2024 by being transferred to a machine learning education team, where my job was ostensibly teaching other software engineers how to use ML tools. I didn’t choose that job, and I have mixed feelings about ML, but I tried to make it work. Long story short, early in 2024 I requested to move off that team.
January 2024: The Icepocalypse
Initially I was going to give up on my hope of working on education at Google and go back to software engineering full time. But to my manager’s credit, she helped me land in a role that legitimately excited me. I ended up splitting my time 50-50 between Google’s onboarding education team, where I became the Curriculum Lead of the starter project every software engineer works on when they join Google, and a more traditional software engineering team where I helped build an internal mentorship platform.
This 50-50 split is pretty close to what I’ve previously described as my dream job, a mix of building stuff and teaching stuff. It’s also similar to what Lea Coligado advocated for back in 2017, which I deeply resonated with at the time. So although there was quite a bit of turmoil around Google, layoffs, forced return-to-office, and top-down ML edicts, I was very grateful to my immediate management for helping make this a reality.
March 2024: The view from Google’s New York office
After all of that settled, I spent most of my year juggling those two teams. My work on the onboarding education team is interesting and takes me in the direction I want to move my career, and my work on the SWE team meant I was still building stuff day-to-day. But switching between the two became pretty challenging at times, and finding the right balance between them was a big part of my 2024.
As I write this, I recently transitioned off the SWE team, and I’m now splitting my time between the onboarding curriculum team and the onboarding SWE team. It doesn’t look like a big change:
But I think that reporting up through the same management chain is going to help with the juggling. And being on “both sides” of the team opens up some interesting work dynamics that I’m looking forward to exploring in 2025.
I’m happy about where I landed, and I’m grateful to my immediate management, but I’m also still in pretty constant fear of losing my job to arbitrary layoffs or arbitrary return-to-office restrictions. It doesn’t matter how hard I work, or how good I am at my job, or how excited I am to do it. It also doesn’t matter that the company is making billions of dollars. When the other side of the scale is the impossible notion of infinite growth, nothing will ever be enough.
So I honestly feel like it’s just a matter of time before Google decides to claw back remote work, or to stop investing in internal education, because firing 0.1% of the company might make the stock price go up by a couple cents. It’s pointless to try to guess at what the faceless decision makers will do, so my policy has been to work on stuff that I honestly think is worth doing. At least if they fire me, I’ll disagree with them.
Living with this uncertainty has clearly taken a toll on my mental health, and that will likely continue through 2025. But all of that said, I try not to focus too much on the company as a whole, and I am generally happy about my day-to-day work, which I know is a privilege.
I bought a house and moved to Oregon in August 2023. Soon after that, I discovered that the yard contained a ton of invasive bamboo, which had a history of digging under the house and sprouting up through the floors. It would have cost a ton of money to have a professional remove it, and I figured this would be a fun project over the next few weekends, so I decided to take it on myself. I get to work with my hands, give myself a sense of ownership of my house, and save money in the process. What could possibly go wrong?
What went wrong is that for the next 15 months, I spent pretty much every daylight hour of every weekend toiling in the yard, cutting and sawing and shoveling out bamboo roots, building underground walls, and then doing the same thing in my neighbor’s yard.
I don’t mind that kind of work; in fact I really enjoy working with my hands and putting in an honest day of manual labor. But the sheer scale of this project meant that I didn’t do anything else for most of 2024. That’s a mild exaggeration, but any time I might have spent relaxing in my hammock on my porch was instead spent working in my yard.
I know this is a privileged problem to complain about, but it also didn’t catch up with me until later in the year. It took literally going to therapy for me to realize that maybe spending every free moment working instead of relaxing was causing some of my stress symptoms.
Anyway, as of December 12, 2024, the bamboo project is officially complete.
Here’s what it looked like before:
And here’s what it looks like today:
It doesn’t look like an improvement in the pictures, but the next step is to plant a vegetable garden in the spring, so it’ll look a lot nicer when stuff grows back.
December 2024: Me celebrating the third and final haul-away of the bamboo.
My main house project is finally finished, just in time for me to have a bunch of renovations done. My partner and I will have to live in temporary housing for a couple months, but I’m already looking forward to moving back in and starting some smaller projects, like building shelves for the garage and a patio for the bees (more on them in the next section). But I’ve learned the lesson of trying to do too much myself and will do a better job of scoping house projects in 2025.
When I wasn’t fighting the bamboo in my yard, another highlight of 2024 was getting into beekeeping. Ever wonder how you get bees in the first place? Turns out you just buy a box full of about 10,000 of them:
This is called a nucleus colony, which is pretty much just a small starter colony. You take those bees, which live on boards of comb called frames…
…and then you move them into your box with empty frames with room for them to expand…
…and congratulations, you are now a beekeeper!
(Look behind me for the pile of bamboo I’ve been removing.)
Learning about bees was a highlight of my year. The bees are currently dormant through winter, but I’m looking forward to learning more and maybe even getting some honey in 2025.
(Zoom in to see lil baby bees!)
I took off the first half of the year from teaching, which was a much-needed break, and I went back to teaching Intro to Web Development in the fall. This was the fourth time I’ve taught the class, and I’ve always taught it online. But this time around, I tried teaching it fully asynchronously, meaning I recorded video lectures, and the class interacted in an online forum, but we never met over Zoom.
I was pretty nervous about this, or at least skeptical that it would work. But to my surprise, this was probably the best semester I’ve had. The students were engaged all semester, their projects were interesting, and it didn’t take 100% of my spare time. I don’t think that teaching online is my forever goal, but this is the first time I’ve felt that teaching could be sustainable, which has been a goal of mine for years.
June 2024: Sunset from the drone I got this year.
This was also the first semester I’ve taught where it was obvious that at least some students were extensively using ChatGPT. I have mixed feelings about this. On one hand I encourage everyone to explore the tools available to them, and I don’t think banning ChatGPT outright is the answer. On the other hand, I’m still holding onto the idea that these tools have been developed and popularized through some pretty unethical practices- but I can feel myself giving in to the insidious manipulative exposure therapy that these companies are forcing on us. I also know that relying too much on these tools prevents actually learning the underlying concepts.
I don’t know where I land on all of that. One thing I do know is that I feel for students who are about to enter the “real” world. Between these “tools” getting in the way of education (or education struggling to keep up, depending on who you ask) and companies restricting hiring and worker’s rights, it’s a hard time for all of us- especially folks who don’t already have a foundation to help cut through the nonsense. I’m not sure what this means for me as a teacher. Between this, the upcoming enrollment cliff, and the evolving world of alternative education, it’s going to be an “interesting” next few years.
On a more positive note, I’ve said for the past couple of years that one of my main goals is to be more intentional about forming human connections, and I think I did a pretty good job of that in 2024. I took two “work” trips to the east coast as an excuse to see my people, and it was nice to see their kids and lives continuing to grow. I have a community here in Eugene, and I feel like I’m on the verge of forming some lifelong friendships. I’m pretty optimistic in this direction, and I plan to keep being intentional about this through 2025.
In previous years, I’ve spent a fair amount of time on hobby coding, writing new tutorials, and expanding Happy Coding. But in 2024, I did almost none of that.
I played around with Vera Molnár squares, updated the homepage, removed Google Analytics, and wrote a couple tutorials on web development and machine learning. I also recorded 30 new videos, mostly to be used as lectures in class.
But for most of 2024, I grappled with feeling disconnected from the joy I previously associated with “doing my nerds”. This has been a long time coming, and you can see it in my new year’s posts from 2023 and 2024. I feel like the things I used to love have been tainted by evil, and I don’t think that’s an exaggeration. I used to love playing with Processing and p5.js, experimenting with procedural generation and digital art. But then NFTs took over that world- and in fact, the Processing Foundation made millions of dollars as a result. I don’t begrudge them for that, and I’m happy that some of my friends and heroes finally got paid for their work. But now, whenever I think about spending a few hours in my old playgrounds, I can’t help but feeling a little grossed out.
The same thing is true for Happy Coding more generally. I’ve loved taking what I know about coding and the tech industry and turning it into a series of free tutorials, examples, and rambling blog posts so that anyone can learn about it. I have hoped to turn this into a community of people learning and creating together, and for the past 8 years that vision has been one of my primary driving forces.
But then ChatGPT arrived and ruined it all.
I’m being a little dramatic there, and it might be more accurate to say that big tech companies decided to change how we interact with other humans. The internet used to be about connecting with other people. You’d search for a problem, or a hobby, or a piece of your identity, and you’d find people experiencing the same things on forums, on random homepages, and in pre-enshitification social media groups and hashtags.
I’m skeptical about some of the nostalgia around the early internet, because it often hides a gate-keep-ery mindset that I don’t agree with. But Happy Coding was born out of my experiences on an earlier version of the internet, where people were still connecting to each other on forums and online groups. Happy Coding was supposed to be my version of those communities. But I’m not sure that Happy Coding has a place in today’s internet, where big tech companies extract as much as they can from independent sites, in order to keep users trapped in their walled gardens.
Now when you do a search, you’re fed an ML-generated answer scraped from the old internet, or you’re directed to a site that’s full of ML-generated clickbait. You can follow people on social media, but true connection is at the mercy of an algorithm designed to generate clicks by making you miserable. Big tech companies have the power to fix this, but instead they’ve chosen to double down at the expense of society, all in the name of shareholder value. And all of this is happening in the shadow of a rising oligarchy, which feels like such a ridiculous and solvable problem, and yet here we are.
I’m angry, and I’ve channeled this anger into a search for meaning in my relationship with big tech, and in my plans for Happy Coding. But I’m also starting to realize that instead of spending my time and energy fighting big tech, I’m much happier when I spend that time and energy in the real world. I might not have spent much time on hobby coding projects this year, or on building Happy Coding’s audience. But I did spend time learning about beekeeping, digging in my garden, fixing my house, and making new friends.
Maybe the answer to the enshitification of big tech isn’t alternatives like Mastodon, or nostalgia for forums from 2007, or high-tech solutions like interoperability and new W3C standards. Maybe the answer is to go outside and touch grass. And maybe that’s okay.
I’ve thought about shutting Happy Coding down completely. But maybe there’s a happier middle ground. I’m still daydreaming about teaching in person locally, or maybe bringing some of my “art” to a local art market. And maybe Happy Coding is just the place I put that stuff, similar to what I’m already doing for the classes I teach. But I think Happy Coding is no longer the main driving force of my life, and instead it’s one small part of it. And maybe that’s okay too.
As I close this out, I would be lying if I didn’t mention another big part of my year. I generally don’t consider myself an anxious or stressed person, and I’ve counted that as one of my many privileges. But over the past few months, I can’t deny that I’ve started experiencing physical symptoms of stress.
November 2024: Road trip to clear my head.
I’ve mentioned above that I’m in pretty constant fear of losing my job to arbitrary layoffs or to arbitrary return-to-office restrictions, and above all the uncertainty has been tough. On top of that, for the past 18 months or so, I’ve had very few weekends where I could just relax, do something fun, or do nothing at all. There have also been a few deaths that didn’t affect me directly, but significantly affected the people around me.
This stuff tends to not bother me, at least not consciously. But it took literally going to therapy to realize that maybe my bad moods aren’t just arbitrary feelings without any explanation. I don’t want to say that this was the kind of breakthrough that you see on the TV version of therapy, but it has significantly shifted how I see myself and my relationship with my work and the world.
I absolutely recognize the privilege in all of this. I have a good job, at least for now, and most of my stress is self-imposed rather than stuff I’m actually forced to do. I know other folks have it much harder than I do. But hey, you’re reading my self-indulgent introspective blog post.
I think my 2024 was defined by imbalances in my job, in how I spend my time, and in my healthy and unhealthy habits. I’d like to define 2025 by finding better balances.
I’ve been oversimplifying by saying that I’m going to take less on, and focus on quality over quantity. But it’s more accurate to say that I’m giving myself space so my life feels fun again, rather than feeling like a perpetual todo list that’s always urgent but never gets finished.
I celebrated the end of the semester by starting a game called Stardew Valley. (Bear with me.) In the game, you play a farmer who can grow crops, raise animals, and unlock bigger and better tools for expanding your farm, one in-game day at a time. It’s a cozy game, and it felt like the right way to close out 2024. But there are two ways to play. You can try to maximize your efficiency, frantically planting, watering, harvesting, and selling your crops so you can expand your farm and do it all again the next day, and that’s how I started playing the game. But then I realized there’s another way to play: by planting just enough crops that managing them no longer feels frantic, giving yourself time to relax and actually enjoy the game.
I wasn’t expecting any great existential insights from this game, but if that’s not a metaphor for my life, I don’t know what is. I’m bringing that lesson with me into the new year, and I’m going to be very intentional about making sure my life is still fun to live.
Being done with the bamboo will help, as will my recent move at work. I intentionally haven’t said yes to anything new, and in general I think I’m starting the new year in a healthier state than I spent most of the last one.
That said, I’m starting 2025 by moving into temporary housing for at least three months while my house is being remodeled. That’s probably going to be stressful in its own way, but I’m also weirdly looking forward to being in a limbo state where I won’t be able to fill my life with random house projects. During that time I’m planning on finishing the beekeeping class I started in 2024, taking a woodworking class, going on a bunch of walks, reading some books, and spending more time with humans.
December 2024: Train ride up to Seattle
At work, I’m pretty excited about what the next year looks like- assuming they don’t fire me. Over the past couple months, I’ve gained responsibility on the curriculum side in exactly the way I wanted, and I feel like I’m on the verge of owning some really interesting projects. On the SWE side, I’ve started learning a new tech stack in a new language (Go), which would normally be pretty stressful, but I’m weirdly looking forward to continuing that as well - if for no other reason than to prove to myself that I’ll be okay if I have to find a new job. I’m also in the early stages of thinking about what life would look like after Google, but I’m trying to focus on one thing at a time.
For Happy Coding, I don’t have any big plans. I think I’ve accepted that this has become a place for me to put stuff that I’m using for teaching, rather than being a community in itself. I think I’d rather focus on building a local community in real life. I’ve continued to daydream about teaching in person, either at the local university or community college, or maybe in a one-off series through a community center or something. Part of giving myself more space is to give these thoughts more space, and we’ll see where that goes.
That sounds like a good way to start 2025.
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!