Nov 302021
 

I’m no fan of “professional meeting attendance” as a career path, but at least that limits the damage it inflicts on an organization. Meetings can be skipped or at least you can bring a laptop and work through them. Sometimes, they’re actually useful. But I’ve never seen anything bring development to a grinding halt like having an external team demand the authority to oversee, and overrule, product decisions made by the teams that are supposed to own those products. When that happens, there’s a step in the development process that literally consists of “come to a full stop and beg permission to do your job.” 

Continue reading »

 Posted by at 5:30 PM
Oct 312021
 

It’s really popular to say we’re writing web services, built on top of RESTful APIs, but the reality is what most of us are really doing is writing web applications that make REST calls back to that app’s server for data, not actually calling a generalized web service with multiple sets of users. That’s fine – I use web applications almost all day just like everyone else. Occasionally we need to actually get some data from another team’s data store, and it’s cool, they have an endpoint you can hit and get it. See? Web services with RESTful APIs. The problem is there’s a difference between, “There’s an endpoint that can give us that data” and running a service who’s purpose is to be used by anyone other than the team that wrote it. Continue reading »

 Posted by at 1:00 PM
Sep 302021
 

1 of the biggest gripes I’ve had lately is people describing working remotely as some sort of impediment to companies being successful. It may not have been something your organization wasn’t doing before and had to adjust to, but for office jobs, working remotely is something that’s been entirely possible for years. In fact, companies like StackOverflow and Basecamp have not only been remote for years, but have written about being successful remote companies extensively, for years (Basecamp even literally wrote a book on making remote work, work). Remote work had slowly been growing in popularity before the pandemic as people started pushing for the flexibility and to drop the requirement to either deal with long commutes or living in expensive cities.

Continue reading »

 Posted by at 11:45 AM
Aug 312021
 

A couple of years ago, Automattic (makers of WordPress, which powers this blog), Google, and some news-related organizations announced Newspack, a publishing platform that was supposed to be “WordPress for news organizations” (per their site). The original announcement, like all new product announcements, sounded very promising – a publishing platform that had best practices built right in, a curated list of plugins designed to support news organizations, all built on top of the platform that most of the web already runs on. So how did Newspack seem to peter out, especially when other publishing platforms, like Substack, take off?

Continue reading »

 Posted by at 11:45 AM
Jul 312021
 

DHH (of Basecamp and Ruby on Rails fame) wrote a blog post in May titled Targeted ads are staggeringly unpopular so we should ban them. The basic premise of the post was that people hate being tracked online and so many people have opted out of tracking that it’s clear the practice is so unpopular that it’s time to be banned. I think DHH is right about tracking being so clearly unpopular something needs to be done. I don’t think banning targeted advertising is the right thing to do though. The fact that I used to work for an email marketing company (whose product has since been shut down) that promoted targeted email marketing messages probably may have influenced that position, but I think the problem is less the act of targeting an ad, and more how we go about targeting.

Continue reading »

 Posted by at 8:00 AM
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