Jun 302021
 

We all screw up, it’s part of life. What’s important that we learn from it all. I’ve found it’s generally better to document the learning, both to help internalize it, and to share it with who I can. I recently worked an issue stemming from automated API call retries that didn’t go nearly as well as it probably should have, and I wanted to take a little time to post-mortem on how everything went, and how it could have gone better. A lot of this is fairly specific to what I was doing with that particular problem, but there’s hopefully some general lessons that can be drawn from the whole ordeal.

Continue reading »

 Posted by at 11:45 AM
Feb 282021
 

Software development is like a lot of jobs, in that there’s some sort of system that lists the things you need to work on. Doctors and lawyers have appointments, technicians have calls, and software developers have tickets. It’s a fairly basic idea, open whatever ticket tracking software you use, find the stuff that’s assigned to you, do the work, move the ticket to the next step in the process when you’re done, rinse and repeat. That said, it’s still easy to create unnecessary problems for yourself just by getting lazy when working with tickets. So with that in mind, here’s a few “commandments” that will make the administrative part of your life easier.

Continue reading »

 Posted by at 12:00 PM
Jan 312021
 

Like a lot of developers, I’ve worked on applications that solve business problems for almost all of my career (there was that brief time I worked for a government contractor). I’ve started to realize that there’s a lot of overlap between charities and businesses in terms of the general types of problems that they need solved. For starters, a lot of charitable organizations employ people to run the operation, so any employment/business management software would apply there. Then there’s the fact that there are certain types of problems that are universal to organizations trying to do something for other people. Businesses want to solve these problems to be better at making money, and charities want to solve them to be better at helping people, but they’re still the same classes of problems, and both of them could use cost-effective solutions to help them.

Continue reading »

 Posted by at 11:45 AM
Dec 312020
 

So how’s the whole remote learning thing working out for everybody? That’s a rhetorical question, people have no problem talking about how much they hate the whole setup. I get that parents want their kids to go back to school (or at least give them some peace and quiet while they’re trying to work from home), but not only have we been at this for a while, a lot of us are likely to still be at this, likely for the rest of the school year. It’s really frustrating, but now that we’ve moved from the “This is good enough to finish the semester and then next fall we’ll be back to normal” of spring 2020, to “Well, we actually did this for a whole year” (calendar year at least), it’s time to start having a little bit of a retrospective on virtual education, what does work, what doesn’t, how how it needs to change to be useful in the future.

Continue reading »

 Posted by at 8:00 AM
Nov 302020
 

Anyone remember back when companies would try to be “cool” by advertising that they were looking for a “ninja” or “rock-start” software engineer? Thankfully, those days really are just memories (hopefully the days of the “10X egnineer” will go extinct soon, too). These terms were stupid as job titles because they had no bearing on what you actually did for a living. A “rock star” means that you spent some amount of time being playing in the Silver Bullet Band. And if people know that you’re a ninja, then you were really bad at it. I suppose these job titles stemmed from words people used to describe some the better developers where they worked, but there’s a difference between internal compliments and an actual role at a company. That said, the most useful role within any company is probably the programming equivalent of a plumber.

Continue reading »

 Posted by at 11:45 AM
Oct 242020
 

Election season is upon us yet again, which means it’s just about time for anyone who’s not registered as being affiliated with 1 of the 2 major parties to start hearing about how voting for anyone other than {speaker’s preferred major party candidate} is effectively voting for {candidate from the other major party that the speaker can’t stand}. It’s my biggest pet peeve of the whole process, mostly because the argument is stupid. Vote who you want to vote for, and if they’re not running under a “Big 2” ticket, then vote for them anyways, they’re who you want to vote for.

Continue reading »

 Posted by at 4:04 PM
Sep 302020
 

It’s real easy to get lost in the day-to-day of software development, especially if what you’re doing doesn’t fall under a heading that most people would call “game-changing.” As a result, we don’t really feel like talking about it. The downside to that is it means you’re not keeping your public-facing work updated with what’s going on, what technologies you’re using, or really anything else that would indicate that you’re still working at all. It’s tempting to go silent, but I’m beginning to think it’s good to just talk about the uneventful and non-noteworthy stuff, just to remind ourselves that the normal day-to-day is…well, normal.

Continue reading »

 Posted by at 11:45 AM
Aug 242020
 

I’ve seen a lot of bad stuff about how to best work from home (because apparently that’s not going to stop any time soon) floating around, either from people I know offline or being posted on social media. Given that most people were going into work every day, I’m guessing a lotheirt of employers were scrambling to define what they expected about working from home. Judging by some of the dictates I’ve seen come out, these employers they only really know how to operate off the “butts in seats” school of management. So, when faced with this brave new world of employees not being on-site anymore, they appear to have turned to how-to guides that were already out there online, which means they were pre-pandemic, when people working from home were generally there by themselves. Now that we’re all doing it, that’s a dumb assumption, but I haven’t seen anything that acknowledges the realities of trying to put in a productive workday with the whole family at home, so let’s revisit the whole “how to work from home” thing, shall we?

Continue reading »

 Posted by at 11:45 AM
Jul 312020
 

Generally speaking, when a software development organization says that they’re going or practicing agile development, they mean they’re following the Scrum methodology. Most jokes about doing software development have nothing to do idiosyncrasies of programming itself (Gary Bernhardt’s classic “Wat” presentation notwithstanding), but rather about dealing with Scrum. I get the frustration, As fun as it is to make fun of Scrum (and I’ve made my fair share of jokes about it), I really do think it’s a good development process (when done well), and that we would do well to keep it in mind. So having said that, here’s my attempt to defend Scrum.

Continue reading »

 Posted by at 11:45 AM
Jul 042020
 

Few things are as annoying as when you have a device that tries to be helpful and is completely, and utterly, wrong. Not only are you not gaining any convenience, because you still have to go back and fix it, but psychologically it feels worse because instead of making things better and doing things automatically for you, you’re having to go back and do it yourself anyways. If these were settings users can easily change, then it’s a minor inconvenience because we can update a configuration and be done with it. Sadly, that’s not the case, especially with devices that are supposed to be “smart” and thus figure it our without us having to do anything, or software that doesn’t expose these settings to users.

Continue reading »

 Posted by at 7:58 AM