Hi! I'm Keith

I'm a Software Engineer. A problem solver at heart.

My Method

There are four tenets to the methodology I apply to solving any business related problem. The core philosohpy is inspired heavily by various pieces of agile and other methodologies. The focus is on ensuring you are solving the right problem, with the right solution, in the right order. As simple as that sounds, every company I've seen get that equation right has been successful, and every company that has not, has failed. I call this method the Name, Order, Build, Ship (NO-BS) method. The tenets are as follows:

  1. Name: Ground Yourself in the Problem Space

    The first step to solving any problem is fully identifying the problem you are solving. Scope the problem down NOT to the smallest it can be but to the most accurate definition of what the problem really is. For instance, if you have a problem where customer's reports take too long to generate causing frustration, then it makes sense to focus on effecient data queries, but it might not make sense to focus on redesigning the dashboard. Know the problem you are addressing and get internal alignment on that problem definition and scope before moving to any solution phases.

  2. Order: Stack the Dominos

    No one has just one problem, and you need a strategy for figuring out which problems to work on in what order. Order your problems first by level of impact they would have on your customer's satisfaction with your product, and then order them by which problems that, if solved, would lead to easier solutions to solving subsequent problems.

  3. Build: Validate Your Soltuion

    Find the quickest way to validate the effectiveness to your best proposed solution. If you can fix one report today, but not all 10, fix that one, deploy it, test it, and see if it worked. If it did, you have added value to your product and increased the happiness of your customers. If it didn't work, then you have learned something and avoided applying a method that doesn't work to the other 9 reports. Repeat steps 1-3 as necessasry until you get a success at this step.

  4. Ship: Commit to Execution

    This is an important aspect and one companies can get wrong. Once you're on your way to solving the right problem in the right way, commit to seeing it through. Don't reprioritize teams mid-way, don't shift focus on a shiny new goal. Have a strategy for prioritizing that shiny new goal for sometime in the future, and stay the course. Remember, your customers are depending on you to do so.

Work & Experience

I've worked for startups and large companies. I enjoy the challenges faced by both. I am a full-stack engineer, and happiest when I am able to work across the front-end and back-end to solve whatever the biggest challenges are. I enjoy working with designers and creating beautiful and intuitive user experiences, and I also enjoy creating effecient and developer-friendly APIs.

Some technologies I love right now:

  • React, and especially React Native
  • All things JavaScript
  • Ruby on Rails
  • Client side databases: CoreData, Realm, IndexedDB, etc.
  • Machine Learning algorithms


If you want to work with me, or just chat with me, or just tell me something funny you heard the other day, feel free to reach out.