Bill Caputo

Chicago, IL ยท

Hello! My name is Bill Caputo and I have a passion for learning about computing and using it to solve problems.

This page serves as an introduction to me and my work as a professional programmer and technology leader. Over the past twenty years, I have had the privilege of working on many fascinating and valuable technology delivery efforts with some amazing and very smart people for companies like Redbox, ThoughtWorks and DRW Trading. I have been a member of the Extreme Programming community since 1999, and am an expert in all aspects of what it takes to deliver high-quality software quickly without pushing costs into the future.


I'm Available!

Over the past twenty-odd years, I have delivered a lot of software, including solutions for accounting, trading, insurance, kiosk automation, massively parallel internet services, visualization tools, and real-time messaging systems. I've done this both as a hands-on programmer and in leadership roles up through director using a dozen differernt programming languages.

I've made it a point to keep both my leadership and technical skills sharp throughtout my career. As a result, whatever the situation calls for, I can get the job done. And I can do this while ensuring that all interests are represented in the solution because it's not enough to focus just on money, process, quality, or even people's welfare. The highest value is obtained by making sure our outcomes account for all of these (and more).

I am currently looking to start the next chapter in my career — perhaps that might be with you!

If you value:

  • High-quality code
  • People's happiness and welfare
  • Getting things done
  • Being able to adapt and pivot your delivery efforts as the situation changes

And you offer:

  • Competitive compensation
  • An environment that allows for focus on delivery
  • The opportunity to interact with good people
  • Respect and honesty to your employees

Then perhaps we can do something amazing together!

Preferred Roles

My current interests are leaning toward working in a hard-core technical environment. I'm particularly interested in getting back into C++, or clojure or python, and/or building high-performance systems (in fintech or otherwise), but I will consider any role that allows me to work with strong technical folks that I can learn from, teach and otherwise work with to get things done.

And while I'm not opposed to leadership roles and I welcome helping younger programmers learn our craft, I am only intersted in roles that offer either hands-on delivery responsibility or direct management of such teams (i.e. no coaching or architect roles, please).


You can browse my full resume here:

If you'd like to explore the possibility of us working together, please feel free to contact me at: We can set up a time to talk (video chat preferred) and I can also send you a summary PDF version of my resume with full contact information.


My Four Skills

There are many different ways for programmers to practice our craft. Some of us become language experts. Others specialize in certain business domains. Still others on specific technological problems and their solutions.

I belong to the category that treats programming itself as a discipline to be mastered. I approach this by perpetually honing these skills:

  1. Learning how to learn. Determined to go from ignorance to competence on any topic faster than anyone else.
  2. Learning how to ship. Always finding a way to deliver a solution that provides the most value at the least cost for everyone involved.
  3. Learning about computation. From the most theoretical to the most pragmatic; from circuits to the internet and everything in-between: Endlessly studying the power and beauty of these fascinating machines that we call computers.
  4. Above all: NEVER STOP DIGGING!

My Philosophy

Here are some of things I've come to believe about programming in general:

  • ϕ Always be Deployable.
  • ϕ A great way to increase value is to lower the cost of communication.
  • ϕ Keeping code quality high is the best way to go fast.
  • ϕ Effective testing methods do not verify, they falsify.
  • ϕ Diversity increases the odds of finding the best solutions faster.
  • ϕ Strong opinions, lightly held; plus kindness & respect result in the best knowledge organizations.
  • ϕ Conway's Law is not something that can — or should — be avoided; it is an observation of how the context is reflected in the code.
  • ϕ There are no (known) general best practices. Correct software process is a dynamic function of people and context.
  • ϕ Fostering Eudamonia is the secret to effective software delivery.
  • ϕ Make sure to understand (at least) the abstractions immediately above and below the code you are currently working on.
Selected Programming Languages
I have delivered professional software using the following languages:
Web Development Stack
Most of the websites I've created (including this one!) were made with these basic tools:
Selected Tools & Services
The following are some of the tools I use a lot (or used to!)
Preferred Operating Systems
Over the past decade, these have been my development (and deployment) platforms:
Process Expertise
  • Extreme Programming Expert
  • Continuous Testing Expert
  • 15th Signatory of the Agile Manifesto
  • Continuous Delivery Practitioner
  • Very experienced at building cross-functional teams

Writing & Other Stuff

Blogs & Other Sites

I occasionally write things about and build sites for stuff I'm interested in. Here's where to find them:

Fiction (as Edward Caputo)

I dabbled in flash fiction for a bit. Here's one that got published — and one that was rejected.

Other Tidbits

I haven't done much public speaking lately, and most of my work has been for my employers, but here are some of the more recent of those sorts of things: