Reading Time: 8 minutes

Hi! I’m Chelsea Troy.

I work as a Staff Engineer at Mozilla. I work mainly on three things:

  • How to gather search insights to improve the browser without keeping users’ personal search data
  • How to reduce the workload of operationalizing machine learning models for machine learning engineers and data scientists across the org
  • How to measure and mitigate the climate impact of our technical work

I also have this LLC called RigorWorks.

RigorWorks used to do software engineer staff augmentation for clients who were saving the planet, advancing basic scientific research, or providing resources to underserved communities. Wherever you hear the company mentioned, it’s probably in connection with one of these clients:

I was rather adamantly instructed to put client logos on this page. Ta da!

For now, my mom is very sick and I needed to cut down hard on my commitments, so I rolled off all of RigorWorks’ hourly clientele. I wrote about that here. I still love to teach and give workshops (more on that below), and I invoice that work through RigorWorks because that’s the LLC I already have.

If you’re interested in seeing some of the work I did for the hourly clients, you can watch me live code for clients on the Zooniverse Citizen Science Mobile App, the NASA Landsat Image Processing Pipeline, and the Scottish Gaelic Tattoo Handbook App. Here are some more posts about work I’ve done for clients.


I teach in the Master’s Program in Computer Science at the University of Chicago. I wrote this series on designing the Mobile Software Development course. Apparently people liked because someone made a table of contents for it on their own blog (woo!). Student reviews of this course are more dear to me than any award I have ever received.

I also teach Python Programming. The interactive online textbook is a publicly available work in progress, designed to support all five learning styles (watching, listening, reading, trying, and experimenting). MASSIVE acknowledgments on this work go to the entire MPCS Python Programming instructor slate for their prior work on these topics, and MORE acknowledgments to my inimitable course staff for their work writing descriptions, examples, and unit tests for the exercises. These people rule. I couldn’t have done it without them.

I also teach workshops: chiefly I do this for O’Reilly, but occasionally I’ll also do one for an extremely well-run conference like RubyConf, DDD, or Strangeloop. The two I give right now are called Tackling Technical Debt: An Analytical Approach and Analyzing Risk in a Software System. Whenever I make a new one, I playtest it a few times before I ever sell tickets, and folks attend for free in exchange for their unvarnished feedback. I usually fill these playtests by putting out a call on Twitter with a sign-up form. That’s the spot to watch if you’d like to participate in one of those.

I also mentor formerly incarcerated technologists through the Emergent Works program and Justice Through Code program at Columbia University’s Center for Justice. We’re always looking for more mentors and sponsors, so get ahold of me if you think you might like to get involved.


I write this blog, clearly. It recently crossed 400 posts, 40ish of which are even pretty good 😉. Lately I write longer posts, less often, after more thought, on more broadly applicable topics in tech. So, as of the middle of 2023, there’ll be fewer months with three posts in ’em, more months with zero or one post in them, and more of those posts will be 20+ minute reads.

I wrote a book called Remote Work Sucks (the title is kind of a trap—order here) and did an audio version of my Leveling Up blog post series (here). Patreon subscribers get audio recordings and videos as I complete them. You can become a patron here (yes, I like birds. Ask any of my students).


In the Before Times, I organized two conferences: PromptConf and ORD Camp, both in Chicago.

Organizing a Conference
ORD Camp 2020. I’m the one in the middle (just kidding, that’s Brian Fitzpatrick). Yes, the Totoro and cloak are mine.

Currently both of those conferences are on indefinite hold pending pandemic proceedings.

I aspeak at conferences with some regularity. Check out the talks category to see videos, transcripts, and recorded Q&As from some of my conference talks. Check out my speaking page to see which talks I’m proposing to conferences right now. I have attempted to keep updated “catch me at these conferences” lists on this blog in the past, but I tend to fail at keeping them updated, so once again I’m afraid I have to refer you to my Twitter for the hot goss on where I’ll be.

If you want me to come to your conference, you can reach out to me about giving one of the talks or talk proposals listed here.

Not Work Related

I fling barbells around for fun. I sing in a punk rock acapella group. I drive an electric cafe cruiser named Gigi. I’m very gay. I have a weak spot for vanilla lattes and my e-cruiser, both pictured here:

I used to joke with motorcyclists “It’s just your bike, not a part of your personality!” But then I bought this bike and now I get it.

I’m gonna switch to talking about my views on code for the rest of this page. If you still wanna hear about me as, like, a person, here’s the most recent AMA I’ve done.

I’m head over heels for software engineering.

That brings with it a couple of things:

  1. A commitment to rigor. You’ll see that reflected in how I write code and how I write about code. The data science, Android, and iOS posts exemplify this.
  2. A begrudging determination to make this industry a better place. You’ll see that reflected in posts about management and leadership in tech, as well as in this never-ending series designed to help folks level up as engineers on their own.

You can find me on Twitter and Github.

Clients from Focused Labs with the Honey Bear Mural
Clients from Focused Labs with the Honey Bear Mural. I stood in traffic holding everybody’s takeout bags to get this photo.

If you’re interested in working with me, you can reach me at chelsea at chelseatroy dot com. If you mention this blog, I’m about a hundred times more likely to respond :).

I also keep my instagram public. Major themes: gross post-workout photos, artwork progress pics, and gushing love letters to the city of Chicago.

Clients from The Zooniverse at The Adler Planetarium
Clients from The Zooniverse at The Adler Planetarium (I believe we were at a nineties themed “Adler After Dark”). That sweater has since kicked the bucket, but the pants are still going strong. I did shorten them—not by hemming them properly, but by cutting off the bottom.

All of my blog, and any code it references, carries a creative commons ShareAlike license (CC by-SA).

There are basically four terms you can mix and match in a license:

  • Attribution (credit the creator—almost all licenses automatically carry this term)
  • ShareAlike (anything using this must carry the same license as this does)
  • NonCommercial (don’t sell anything using this)
  • NoDerivs (don’t adapt, modify, or remix this)

You can quote my stuff and then sell it (multiple people do it), but when you do, please credit me, and your work automatically can also be remixed and sold.