The Long Way Back to Here

This is an AI-augmented, human-led article. I supplied the memories, corrections, connections, and intent. The tool helped me gather and shape them. It did not experience these events, verify private memories, or replace my judgment.

What happened to SCMC?

Burnout.

That is the short answer. It is also incomplete.

Someone told me to make my own

Before SCMC, I was on Twitter lamenting the lack of a local community. I wanted a place nearby where people could learn together, talk about the work honestly, and find one another outside the boundaries of their employers.

Corey Haines chided me to make my own.

I took that pretty literally.

That is the actual origin story. I did not begin with a business plan or a theory of community operations. I had a need, I said the need out loud, and someone gave me a direct answer. Make the thing you wish existed.

So I did. SCMC was my response to an empty space on the map. It was also an early lesson in the difference between starting a community and making one durable.

Software Craftsmanship McHenry County was not abandoned because the work stopped mattering. I had too much happening at once. Some of it was work. Much of it was life. Life events arrive without consulting your roadmap.

I was helping raise a growing family. Those years also included grief and a family health crisis. I will keep the private medical and family details with the people who lived them.

In that period, I remember repeated winter travel between home and care. Back and forth through the cold.

That motion is still one of the best pictures I have for that period of my life. There was a here. Then there was a there. Then there was the road between them. Eventually the place you returned to was not quite the place you had left.

My 2012 article, “Re-getting back on the bike”, was written in the middle of that storm. It records a period when family changes, work, community leadership, and mentoring were all competing for the same finite attention.

The record is short. The circumstances were not.

A community can be healthy and still need a different caretaker

SCMC began as a way to make serious software learning possible closer to home. Ryan Gerry and I built a community in McHenry County for people who wanted to practice, pair, teach, and learn. The work mattered because it was local. It made room for people who could not always travel into Chicago after work.

The group became part of a wider software craftsmanship movement. It hosted talks, welcomed practitioners, and built a rhythm of learning. The SCMC retrospective and the article on 360 Learning preserve more of that public history.

But a community is not a machine with one replaceable battery. It is a network of people with jobs, families, health, grief, and changing capacity.

I had built a thing that needed continuity. I had not yet built enough continuity around myself.

That distinction is important. When a founder or organizer burns out, people often tell the story as a failure of commitment. Sometimes the person cared so much that they kept carrying the whole system long after the load became unsafe.

The lesson I eventually took from SCMC and OTel was not “work harder.” It was to build the handoff, shared ownership, and feedback loops before they become an emergency.

The first machines were small enough to understand

Before I knew the words software craftsmanship, community infrastructure, or principal engineering, I was a kid carrying a programming guide for a Tandy TRS-80 Color Computer III around like a bible.

It was not the Commodore I wanted. It was the computer I had. When the switch went off, the program stopped. Memory did not remember me. I had to begin again.

That made programming feel like a mandala. Build a little world. Run it. Lose it. Build it again with more understanding.

My father’s first computer was, as I recall, a 486DX running DOS 5. It sat in a place of ceremony. No drinks near the desk. He used Lotus 1-2-3 for his trucking business. The computer was not a toy. It was part of how he kept the business moving.

I remember discovering gorilla.bat and trying to install games without really knowing what I was doing. Someone visiting the house looked at DOS with some disdain and said he used Unix. I asked what he used Unix for. I was stubborn before I was knowledgeable. I did not know the path yet, but I was already looking for it.

Early in my education, I made little halfpipe animations in BASIC on an Apple IIe. Later, I used Macintosh computers. I remember the clean rooms, the air conditioning, and the ceremony of opening a file. Sometimes the teacher figured it out alongside us.

Those details stayed with me. Technology was not abstract. It was a room, a screen, a switch, a manual, a person trying to understand the next step.

The shop was a laboratory

Early in my career, I was working in my father’s shop. I had assembled computers on contract, including work I remember as being for GE Medical, and that work had dried up. I was doing truck maintenance and odd jobs under difficult financial constraints.

The work was real. A truck came back and there was a sequence waiting for me:

  1. Park and detach the trailer.
  2. Pull the inner rear passenger-side tire.
  3. Break the old tire.
  4. Find a comparable tire from the pile.
  5. Mount it, seat the bead, and put it back into service.
  6. Grease the rig, check fluids, clean the cab, and repair what had torn.

The air-powered hammer was heavy and loud. The tire work felt like a horizontal, industrial Tower of Hanoi.

While I waited for trucks to return, I built a small system in Approach 97. I was learning SQL as I went. The problem was practical: help decide which loads made sense by tracking distance, fuel obligations, and state-based requirements.

I did not think of myself as a programmer. I knew one Visual Basic programmer. That was about it. But I built something that solved a problem in front of me. The spreadsheet was no longer the only place where the logic could live.

That was the beginning of a pattern I still recognize in my work: start with the thing that is physically in front of you, make the system legible, and then improve the system one boundary at a time.

Leaving was not crawling back

I found a job at C.H. Robinson. My mother told me to take it and said she would deal with my father. The opportunity represented more money than my family was used to seeing. Taking it meant leaving the shop and making a life I could support.

My father told me I would come back crawling and begging for him to take me back.

I never did.

That does not mean I never returned to him as a son. My partner persisted when I was not ready. We reconnected before he died. She helped make me more complete than I could have been alone.

I negotiated training with C.H. Robinson. The original plan involved MCSE training. The training was poor, so I pushed for a refund and turned toward Java instead. That training was not great either. It gave me something more useful than a polished curriculum: confidence that other people were not born knowing this stuff.

They had learned it. I could learn it too.

My earlier Russian-language training also gave me a connection to my first mentor, a Bulgarian engineer who remains one of the people I value and respect most. The path was indirect. It was still a path.

Ray was the first true ambassador

BDI was my first remote role. I was working on a 360 HR platform, a multi-tenant system. The engineer who had been there before me left almost as soon as I arrived. I took ownership of the system and found myself operating as its Principal Engineer before I felt ready for the title.

My recollection is that Ray had approached Jim Graber about consulting work through WisdomGroup, which I believe was Ray’s company. That may be how the connection formed, but I cannot prove the sequence from memory alone. We met at a restaurant somewhere between us. Ray showed me Cucumber and talked with me about Ruby. He may have been the person who told me about the Ruby Fridays at 8th Light in Libertyville. I want to keep that uncertainty visible. The important part is that Ray opened the door.

Ruby Fridays felt like another world. I remember Micah, Eric, Eric, Colin the apprentice, Jim, and a few other faces I cannot reliably recover now. Macs were on the tables. RSpec and Vim were part of the atmosphere. The command line was not a barrier. It was becoming a place to stand. Later I discovered tmux and thought it was magic.

MelodySheep’s Carl Sagan project was playing in the background. That detail may seem incidental, but it is how memory works for me. A technical era arrives with a sound, a room, a screen, and the people who made the room feel possible.

Ray was the first true ambassador. He did not just tell me that Ruby existed. He showed me a community where I could see people practicing it together. My archived conversation with Ray about ChicagoRuby preserves the later community story: consistency, multiple venues, shared organizing, and a welcoming path for people who were not already insiders.

The public record supports the larger shape of that memory. An archived 2007 Ruby-Forum announcement for ChicagoRuby already lists Ray presenting on Radiant CMS. A later ChicagoRuby community profile identifies Ray as the group’s founder and organizer. Those sources do not prove the exact consulting introduction or the Ruby Fridays sequence. Those details remain my recollection.

Remote work, real constraints, and a system that had to ship

At BDI, I was coordinating two engineers in Uruguay. I helped them collaborate with Subversion and Skype. I built a VMware image for the development environment. It was roughly 20 GB by the standards of that era, and moving it from Illinois to Uruguay tested the available bandwidth. It worked.

We were delivering a Victoria Police deployment. Aneta had joined the work as a business analyst. We were also sharing responsibility for our newborn daughter. Aneta handled the owner, contractors, and Victoria Police representatives. She worked with Damian and the UruIT team to get the WWF workflows working. They loved her. They had good reason to.

The deployment had an unusual shape because the platform normally ran in our own environment. For Victoria Police, we had to package the system for their infrastructure. During rollout, we jury-rigged a webcam so the team could show me a controlled screen while I helped debug the deployment remotely.

That was remote work before the tooling made the arrangement feel ordinary. The system had to cross organizational, geographic, technical, and family boundaries at the same time.

The Poor Developer’s Object DataStore

While the deployment work continued, I was also building what I called The Poor Developer’s Object DataStore. The name was half joke and half design brief. I wanted a small system that could serialize a snapshot of state into XML, store it, and restore it later.

I was exploring XML serialization, SQL Server, XSL, DTDs, and the possibility of using XQuery to ask questions of the data closer to the database. The practical goal was point-in-time reporting. A user should be able to recover the state that a report represented, not merely receive a new report calculated from today’s data.

The project was not separate from the rest of the work. It was the same instinct I had brought from the truck shop: make the state visible, preserve it, and create a way to return to a known point.

Why the archive matters

Timelines are tangible, but they are difficult for me to reason with. A date looks precise even when the life around it was not.

That is why I am building this archive. It gives the events somewhere to land. It lets me place a recorded talk beside a family milestone, a job beside a community, and a period of silence beside the work that came before it.

The goal is not to make my life look tidy. The goal is to make it possible to see the shape of it without asking memory to hold every connection at once.

The archive shows the SCMC years as a period of genuine creation and genuine overload. It shows why the group mattered. It also shows why a durable community needs more than enthusiasm from its organizer.

Here, then there, then here again

I think about that winter as a waveform. Home and hospital. Here and there. Motion and return.

Tolkien had a way of making long journeys feel like a series of departures from and returns to home. My own version is less epic and more practical. You go out. You do the work. You come back to basecamp. You rest. You repair yourself and your tools. Then you decide whether it is time to go out again.

SCMC was one of those journeys. So was the truck shop. So was the first computer. So was leaving home. So was building UGtastic and the archive that I could not yet finish.

I am still here. That is not a small statement.

The work now is to build systems that remember enough to help, communicate clearly enough to share the load, and leave a humane seam where a person can stop, think, and choose what happens next.