Originally published at https://jenniferplusplus.com on February 23, 2021.

A photograph of headphones hung over a professional looking microphone, like you might expect for a recording studio or podcast
A photograph of headphones hung over a professional looking microphone, like you might expect for a recording studio or podcast

The nature of the software development job market means that most developers will interview regularly throughout their careers. It’s often said that an interview goes both ways. It’s supposed to be a back and forth conversation. You’re evaluating them as much as they’re evaluating you.

Of course, the power dynamic is never in your favor as the candidate. You spend most of the interview selling (at best) or defending (at worst) yourself. If you’re lucky, your interviewer reserves 15 minutes at the end for your questions. If you’re unlucky you get a…


A pile of empty cell phone packaging overlaid with the banner graphics Project Spotlight: BugPhone

This is the first entry in a new series which will highlight the work and projects of our members. Today it is our unique pleasure to introduce you to the BugPhone project. This was an impressive and large scale real world project built by our very own Jordan. It included development, deployments, operational surprises, and even technical support for the end users.


Originally published at https://jenniferplusplus.com on June 19, 2020.

Okay, hear me out. For one thing, everyone else has written a FizzBuzz article already and I don’t want to be left out. For another, I think this is an interesting take on it. For three, maybe I can just show the interviewer this post the next time I’m interviewing? Maybe. I bet they still make me write it on a whiteboard, though. (👋Hi future interviewer!)

I recently saw a twitter thread from @AccordionGuy discussing FizzBuzz implementations that don’t use modulo division. @raganwald pointed out that those solutions were more interesting and…


Originally published at https://jenniferplusplus.com on June 3, 2020.

If you choose not to decide you still have made a choice.
— Neil Peart

Those of us in the tech field like to pretend that it’s neutral. We like to pretend that we’re neutral. We don’t take sides. We call ourselves platforms and reject any responsibility for the way those platforms are used. We build systems that support institutions without ever questioning whom it serves, or whom it harms.

We have to stop.

Tech is not and cannot be neutral, because the world it exists in is not just nor equal…


Originally published at jenniferplusplus.com on September 20, 2019.

Cover photo by Daniel McCullough on Unsplash

This is a write up of a talk I gave at a Women Who Code event in September 2019. It’s also a follow up to my previous talk, Unit Testing: How Do I Even?

To begin with, why should we even care about tests? There’s two general answers. One is that tests help to ensure your software works the way you intend and expect it to. This is great, but not actually the thing I’m going to focus on here. Instead I’m going to focus on the other reason: the same factors…


Originally published at https://jenniferplusplus.com on June 27, 2019.

Photo by Cecilie Johnsen on Unsplash

Don’t worry, programmers; plenty of doctors, therapists, lawyers, politicians, bureaucrats, teachers, and stand up comedians are all operating under the same false assumptions. Sex and gender are complicated. If you want my advice, it’s that your app probably doesn’t even need to collect this information. And if it does, you need to be sure you understand why and be clear about what it’s used for.

The Falsehoods

  1. There are two distinct genders
  2. There are 3 distinct genders?
  3. There is an enumerable set of genders
  4. Okay, in a given culture there is an enumerable set…


Originally published at https://jenniferplusplus.com on June 12, 2019.

Photo by chuttersnap on Unsplash

I was originally going to title this article “Stop using StringBuilder.” However, once I actually started doing these performance tests, I decided it’s not so easy to say that StringBuilder is rarely warranted. I’ve always read that C# string concatenation is very efficient, and StringBuilder is generally not necessary for small tasks. So when I found myself in a code review session having to approve a change that only replaced 15ish string concatenations with a StringBuilder, I was annoyed. But, I didn’t have solid evidence that this was unnecessary so I set…


Originally published at jenniferplusplus.com on March 19, 2019.

Photo by Nicole Wolf on Unsplash

If you’ve ever worked on a large or mature code base, you’ve almost certainly encountered the phenomenon that parts of it are just awful. These are the parts everyone hates working on. The parts that are delicate and brittle. Where even minor changes turn into major efforts because every little thing creates more problems than it solves. If you made a map of your code base, this part would be labeled “here be dragons”. And if you’ve ever had to explain this reality to some non-developer stakeholder, they probably wanted it to…


Originally published at jenniferplusplus.com on February 27, 2019.

Photo by NeONBRAND on Unsplash

Unit tests are good for you and good for your projects. They prevent errors and document the intent and expectations for past work. Having them keeps your projects running smoothly. But it seems that hardly anyone teaches how to create them. I’ll briefly discuss some of the theory behind unit testing, and then move on to how they should be designed, written, organized, and executed. And finally I’ll wrap up with some discussion of how unit tests can inform and improve the design of your application.

This article is a write up…

Jennifer Moore

Full stack software engineer (she/her)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store