The CB Difference

Crafting Bytes has several unique characteristics:

  • Only seniors:  We only hire senior engineers and consultants to produce projects.  Intermediate developers train until they are senior developers.  This improves quality, speeds delivery, and makes our management job much, much easier.
  • Staying small:  Crafting Bytes is owned by Ike Ellis and Scott Reed, long-time friends who have been writing code together for over a decade.  We never want to get so large that we aren’t writing code every single day. We currently have four full-time developers and three full-time subcontractors, making nine of us that code together. That’s about how large we’ll stay.
  • Technology agnostic:  We’ve delivered projects in .NET, Java, Python, TypeScript, JavaScript, and native mobile applications.  We’ve started new projects, taken on existing projects, and augmented existing teams.  We just love writing software and are not zealous about any particular operating system or technology stack.

In addition, we have some unique things about our culture: Five main values that permeate all that we say and do and inform our decisions as we deliver on our projects.

  • Always do the simplest thing possible:  Projects can get complicated quickly.  Requirements, technology, code practices can be filled with needless challenges that need to be cut through and simplified.  We remind ourselves, each other, and our clients that simple solutions deliver faster, are easier to maintain,  have fewer bugs, and are easier to learn.
  • Always be shipping:  We believe in constantly shipping projects.  Delivering value for an ever-changing business is like hitting a moving dartboard.  If you want to hit that board, you better anticipate change, account for it, and throw a lot of darts.  The more we ship value in smaller chunks, the more we prove out our assumptions, create dedicated fans out of the user base, and demonstrate our value to the people paying the bills.
  • Respond with a sense of urgency:  When clients call, email, add items to the task list, or any other contact, we respond quickly and with a sense of urgency.  We also treat each other this way.  Unblocking people requires communication and we dedicate ourselves to communicating in a timely and effective manner.
  • Test twice, then test again:  High-quality solutions are only as good as their tests.  Quality doesn’t come from genius, ingenuity, talent, or creativity.  Quality comes only from a commitment to testing our solutions before the users see them.  We embrace all forms of testing: automated testing, user acceptance testing, user-interface testing, data testing, and even manual testing.  Testing comes free in all of our projects.  We test before we deliver.
  • Leave it better than you found it:  It’s easy to take shortcuts, ignore bad code, gloss over things you don’t want to change, but we stand out because we leave everything and everyone better than we found it.  We train, we clean, we help, we polish, and do all that we can to keep a clean and pristine business for everyone involved.


The images shown here are printed on posters around our offices.