The Toolmaker

CHAPTER SEVENTEEN

The Modem Programming Tool started with a simple question.

My boss knew I liked automation.

By then I had already automated several processes around the office and had developed a reputation for looking at repetitive work and asking why a computer wasn't doing it instead.

One day he walked over to my desk and asked:

"Can you automate modem programming?"

At the time, one of my responsibilities was preparing equipment for upcoming business installs.

Every day I would receive information for customers scheduled to be installed the following day.

I would assign static IP addresses, connect to the equipment, and manually enter the commands needed for the install.

The process worked.

It was also repetitive.

The commands were nearly identical.

The equipment was nearly identical.

The only thing changing was the customer information.

I looked at the process and gave the same answer I usually did.

"I think so."

That answer started a project that would consume a large part of my life for the next several months.

I taught myself Linux.

I learned more PHP.

I built databases in MySQL.

I learned Expect scripting.

Every time I solved one problem, another appeared.

That was part of the fun.

Most people see a problem and become frustrated.

I've always seen a problem and become curious.

How does it work?

Why does it break?

How can I make it better?

Those questions kept me awake more nights than I care to admit.

Slowly, the pieces started coming together.

The web page collected the information.

The database stored it.

The automation connected to the equipment and sent the commands.

What once took manual effort became a process.

The first modem took hours.

The second took less.

Eventually all I had to do was enter customer information into a web page.

The system did the rest.

Around the same time, another obsession entered my life.

World of Warcraft.

What started as a game quickly became a hobby.

Then it became something more.

I would come home from work, sit down at the computer, and disappear for hours.

The game gave me many of the same things programming did.

Goals.

Challenges.

Problems to solve.

A sense of progress.

Entire evenings disappeared without me noticing.

At the time it felt harmless.

I was working hard.

I was succeeding at work.

I was paying the bills.

I didn't see any reason to worry about how much time I spent in front of a screen.

Looking back, I probably should have.

Then my boss changed.

The manager who had asked me to build the tool moved on.

A new manager took over.

He hadn't been there when the project started.

He hadn't spent months programming equipment manually.

To him, it was just another project.

Every week he wanted an update.

What had I finished?

What was left?

When would it be done?

Looking back, I probably could have declared victory sooner.

The major problems had already been solved.

The tool worked.

But every week I found something else to improve.

Another feature.

Another optimization.

Another corner case.

I wasn't trying to delay the project.

I just wanted it to be right.

If this thing was going to touch customer installs, I wanted to know it would work.

Eventually the day came when it was released.

People started using it.

Then more people used it.

Then it simply became part of the way things were done.

Years later I added a counter.

Mostly because I was curious.

I wanted to know how many modems had been programmed through the system.

At first I thought the number was wrong.

I checked it again.

Hundreds of thousands.

I remember staring at the screen for a while.

The little project that started with a question from my boss had quietly become part of the company's daily operations.

The award came later.

There was a plaque.

There was a hundred-dollar bonus.

I remember laughing.

The tool had programmed hundreds of thousands of modems.

The company had saved countless hours.

And my share of the fortune was enough to take my wife out for dinner.

Still, I was proud of it.

Not because of the money.

Not because of the plaque.

Because something I built was helping people I would never meet.

For the first time in my life, I realized I wasn't just solving problems anymore.

I was building systems.

I was building tools.

Professionally, life had never looked better.

Unfortunately, success has a way of hiding problems.

As long as things are going well in one part of your life, it's easy to ignore what is happening in another.

At work, everything seemed to be moving forward.

At home, I was spending more and more time staring at a screen.

I didn't know it yet, but some of the most important questions of my life were waiting just around the corner.

← Back to My Story