Originally published at https://jenniferplusplus.com on February 23, 2021.
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…
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!)
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.
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.
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.
Originally published at https://jenniferplusplus.com on June 12, 2019.
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.
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.
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.
Full stack software engineer (she/her)