October 7, 2022

Taking Weird Stuff and Making It Work™

by Brian Donahue

Self Operating Napkin - Rube Goldberg

"Self Operating Napkin" - Rube Goldberg

Recently, one of my clients came to me with a complicated new project, explaining, “I’ve seen you take weird stuff and make it work.” It made me laugh, but my first thought was “that’s not really how I want to be thought of!”

His words stuck with me though, and as I thought about it, I started to think that it was a pretty accurate summation of what I enjoy about building software.

The initial connotation I drew from the comment was that of a “hacker” just slinging code around and getting things to work, but ultimately ending up with a complex mess. This approach is the antithesis of how I think about software. Prototyping and experimentation are important, but when we skip the critical step of reflection and refinement, small oversights and issues tend to snowball into large problems that frustrate users and inhibit further development.

That said, building software is taking weird stuff and making it work. There are so many constraints to navigate when designing a solution: the rules and conventions of the business domain you are working in, organizational structure and dynamics, legacy systems and infrastructure, your team’s skillset and the needs of the system…Many of these constraints are not evident at the beginning of a project and can only be discovered, or at least fully understood, during development. The exciting part of all this for me is identifying the important components and patterns and fitting the pieces together in a clean and elegant way that can make sense to end users and stakeholders, as well as other developers. When someone can look at your solution, whether through the UI or at the code level, and say “Oh, I get it,” that is a great feeling!

If you have any weird stuff you need to get working, now you know who to talk to! Drop us a line at or use the contact form below!

Here are some of the things I’ve enjoyed helping clients with recently:

  • Leadership / Architecture / CTO-as-a-service - I’ve helped non-technical leadership evaluate and plan new ideas and projects. I’ve helped with initial architecture, hiring and/or outsourcing, and supervising and planning ongoing development. I really enjoy the opportunity to interface with many different disciplines and help to make sure everyone is on the same page!
  • R&D - I love taking a new idea, whether a feature, or a whole new app idea, and investigating the feasibility, strategy, design, and spiking out prototypes. Over the past couple years, I’ve had a lot of fun being an extra resource for clients that needed to evaluate and implement ideas for which their core dev teams didn’t have the bandwidth, or perhaps the in-house skillset.
  • App “Rescue” - Some of my clients have started a new project, and it grew beyond their original expectations. They needed help getting it to the finish line. Again, this could be due to other commitments, or the requirements grew such that they needed additional expertise in specific areas.
  • Bulletproofing - I’ve helped my clients improve their production apps, whether it be better leverage of cloud services, debugging and fixing bugs or architectural issues, automating deployment and delivery, or improving observability and monitoring to be better prepared for future changes.