Skip to main content Accessibility Feedback

On craft and compromise

If you’re a craftsperson who sells the output of your craft, there’s a constant tension between building things well and building things faster/cheaper.

If you work for a product or software company, there’s pressure to add more features in less time, and reduce the cost of doing so. If you build things for others, there’s pressure to deliver more for less.

In a perfect world, everything you build would be a masterpiece of your craft.

But just like there’s a place for “good enough” in other areas of your life, I think there’s a place for that in web development, too.

So where do you compromise?

There are a few things I will not compromise on as a matter of professional integrity…

  • Accessibility
  • User experience (as in, can the user reasonably accomplish their tasks)

If you ask me to “skip accessibility” for the sake of speed, I won’t. If you ask me to add some UI flourish or pet feature or skip key functionality that actively harms how the user completes their objectives, that’s a line for me.

I view these things the way I view building codes.

You can’t build stairs that have really highly risers because it makes it harder for people to use them. It doesn’t matter if you “think they look better.”

I will compromise on flourishes and overbuilding.

As developers, we will often do things in a “more robust” way that may actually be overdone for the current needs of the project. Sure, an extendable class architecture with an automated build process can future-proof things for use cases that know one has thought about yet.

But it also adds a lot of complexity to a project. It increasing the time and cost to build it. It increases the maintenance cost. It increases the fragility.

Sometimes, you build a really fancy wrap-around porch with built-in gazebo and artisanal wooden beams. But often, the client just needs a basic staircase.

Either way, as a craftsperson, you’re going to build it to code, and ensure that you use the best materials you can find within budget so that it lasts after you leave.