My Origin Story
It’s November 1997. just dropped, like a sonic message in a bottle from the future.
I was on my nth iteration of seeking to learn how to create something meaningful & useful on my personal computer, still a rare thing for a teenager to have. I didn’t know what but I knew I must create something.
My dad, Tim, came home. He’d just been informed his entire division was being shut down - the one he ran.
He was out of a job and so was I, because I worked in the warehouse for his division.
But instead of being sad, he had a weird lightness in his step.
“I’ve just bought my division for $1. I’ve got all the relationships. All I need is the data. Can you help me get it?”
He didn’t know how long we’d have access to the building, so we just hopped in the car and went for it.
Queue me walking into the corporate office, logging into his client terminal (trying to guess how to apply DOS commands to a mainframe) and downloading a FORTRAN file onto a floppy disk (you know, the save icon).
I felt like a cyberpunk spy
Cradling the disk in my hands, I was holding the most valuable data I’d ever had.
We got home.
Then the question hit me.
“Ok so... how will my dad actually be able to use this data?”
We didn’t have a client terminal or mainframe. We had a PC with Microsoft Office on it.
Challenge 1: Data
After playing with appending file types, I figured out how to convert it to ASCII and powered up Notepad.
It was basically a CSV file with no commas. Quite the ETL challenge. 😂
Like everyone since that day to this...
I loaded the data into a spreadsheet to figure out what the heck I was looking at.
Then I ran speculative Excel formulas until I could separate the content enough to decipher it.
Eventually I turned into about 100,000 rows of data, parsed by hand. It took a couple weeks.
Challenge 2: Actionable Data
I now had a spreadsheet with a couple tabs:
I stared at the computer. Now what?
“How do I get this data to talk to each other?”
Queue misadventures in VLOOKUP.
If I have a Contact, they’ve got a Company, so I should be able to create another tab that shows both the Company & the Contact if I just match the Company Name, right?
Yes! I could do that.
Only one problem - what happens if there was more than one contact for a company?
I discover Relational Databases
Thanks to traversing link trees on the 90s web Yahoo, I find a Stack Overflow-type post explaining that this problem isn’t solved in Excel, but Microsoft Access.
Hey Kids, it’s the Internet
I tell my dad we need to go to the book store and buy Access for Dummies
Through short exercises
a lot of experimentation
and constantly going
“Well how the heck was I supposed to know that?!”
I learned that there were three kinds of relationships in a database:
I really had no idea what that meant, but it was enough to recognize my “Many Contacts to One Company” problem had an answer.
Boss Fight: Interface
Building the table was relatively easy. Pretty soon I was able to answer my dad’s questions like
“Who should I call at Company _____ again?”
We’d sit side-by-side and I would spoon feed him the data as he worked.
That got tiring for us both quick. I wanted to give him a way to get the information for himself.
Time to spin up Visual Basic Form Builder in Access and figure it out.
Now I’m learning:
I was battling to figure this out like a World of Warcraft noob mining for candles.
Finally after a couple more weeks...
(and my dad clearly wondering if he had bet the family’s fortunes on an inadvisable path)
I had something I could use.
Proudly, I showed it to him
“Look! You can get all the data whenever you want, just go into this folder, click this icon, and select a company in this form here!”
My dad’s face was 😲. My dad didn’t even know how to use a calculator.
Apparently, I had built a tool for myself.
Back to my duties as my dad’s EA.
I gain Super Duper Powers
That turned out to be a blessing for us both.
I continued to provide him information on request, but now I was optimizing my interface to make it easy for me to do that.
Even as a kid I hated repeatedly doing stupid shit, which I defined as:
Stupid shit - anything I’ve done more than once that I didn’t like doing
I started designing forms left and right. I learned how to separate out different forms. Soon I was building forms for specific processes. Then I learned I could embed forms within forms. I learned I could launch forms with buttons. I learned I could send data from one form to another when I clicked the button.
Sometimes I’d spend three days to save myself five minutes.
I was a techno-wizard. I was crazy for thinking I could do this. I was a genius! I was an automation addict.
Icarus Gets a Lesson on Data Security
What I didn’t know yet was my lab was highly unstable. After running a particularly complicated series of form actions I managed to corrupt my entire database.
The nightmare of parsing that FORTRAN file by hand all over again ran through my head in a flash.
(I tried to learn regex, that did not end well)
I had to tell my dad. 😱
“Hey dad, remember how I built that really cool system with all that data you entrusted to me? ah well, the important thing is... all the data is corrupted. I have to start over.”
To this day I think the greatest gift my dad gave me was not having a better option. 😋
My confidence was crushed. I felt like I was going back to hewing a stone wheel by hand when I thought I’d evolved to building a motorcycle.
Desperately, I crawled through my folder history looking for some version of the database before I created it. Eventually I found the original spreadsheet.
That lesson stuck with me.
From then on I kept a version history every time I made a major change to the database. I soon learned a better approach was to save a version every time I made a risky change.
I had learned to free climb with anchors.
Like every engineer I finally returned to my dad and said
“Good news! I’m going to have to rebuild the entire system but it will be worth it because I will be able to do it better this time.” “Oh no time at all. I’ve already done it once. Maybe a couple days?”
It was not a couple of days.
It took me much longer.
Because I had learned the value of planning. I built my data schemas first.
I started learning about Database Normalization and discovered:
Breaking up large tables into smaller ones was better Helper tables gave me far more flexibility I could use actions as data
A Hidden Gift 🎁 Working in the Family Business
At this point my intimate knowledge of the business started to pay off.
Because I had worked in the warehouse and side-by-side with my dad as an EA, I understood the fundamentals of how the business worked.
What’s wild is I can recreate it from memory to this day. Here’s a simplified version.
Meet My Family Business “Tim’s Great Stuff”
My dad’s company was a niche service business to a niche industry in a niche community.
Yeah, super niche.
→ Homeschoolers (niche community) → Homeschool Conventions (niche industry) → Packing the “gift bags” registrants would get with advertisements (niche service) At this point in American history, in the United States. But major retailers wouldn’t carry homeschooling products.
Parents would go to self-organized conventions to learn about new curriculum & they’d bring their kids so they could all hang out together.
It was a kind of an annual Homeschool Disneyland for most families.
Yes those are all my siblings. I’m on the right.
Christie, Scott, Peter, Timmy, Isaac, Bonnie, James, Brian
Because the retailers who were creating homeschooling curriculum were mostly mom & pop shops themselves, they had no way of reaching this niche audience (no Facebook or Google ads back then). These gatherings were their one and only opportunity to reach new families thinking about or choosing homeschooling.
My dad’s business was to provide conventions with a “goodie bag” stuffed with ads & gifts from these small businesses to entice new customers, basically swag bags. Retailers would ship their materials to us and we’d setup an assembly line where we’d collate the materials into bags, pack the bags into pallets, and ship them to the convention.
Maybe we shouldn’t bet the farm on the insane computer kid
While we didn’t have SaaS in 1997, there were “Small Business Desktop Apps” where you could run everything in your business. Tools like had just become really popular.
As much as my parents loved me, they had a serious conversation. Could they really trust running the family’s financial future on a platform their teenager built? Especially now that they’d seen the whole thing crash?
So they asked me to try a bunch of other programs. I grudgingly obliged. I was 100% biased, but I felt so “boxed in” by all the assumptions these products made. I got frustrated. I just couldn’t make them work.
Finally, we found a small platform that looked like it could work, BYOB for “Build your own business” software. But once the founder understood our use case, he explained to my dad that they couldn’t make it work.
You see in my business my dad was paid by his suppliers (the retailers who were advertising) and paid his customers (the conventions who distributed the bags). There wasn’t a single small business desktop application (or accounting application) designed for that use case. It fundamentally violated the data schema underlying those applications & invoicing workflow. We just couldn’t customize our way around it.
Back to the Mad Lab
I now knew that I was at war with the entire software industry to keep the opportunity to build my dad’s business operating system. I was hooked. I was invested in proving to my parents that I could build a better system. I start making the case:
I can build automations. We’ll be able to run faster. I can customize what we do whenever we need to. If we want to try new things in our business, I can make it happen. I’ve learned my lesson. I’ll make sure we can recover our data and I’ll make sure to build my experiments on a “mirror” system so it doesn’t disrupt the business.
But in the end it really came down to:
There wasn’t another option
... and I’d gotten the system rebuilt enough in the meantime to keep going.
I build a starfighter
I worked relentlessly as my dad’s EA, office manager, warehouse foreman, and one man IT band.
Over time I built automations so we could run an entire event with all the mailing labels, invoices, and communications we needed with the click of a button.
I could run the whole company from my computer. It was awesome.
It was janky. Every time Microsoft Office or Windows was upgraded the whole thing would break. Sometimes I’d have to rewrite the entire approach we took to the software. I learned quickly to wait before updating anything Microsoft. That’s served me well even now, on my Windows 10 gaming machine in 2022 (ffs). I know, I risk losing all credibility cause I’m not typing this on a Mac, but you know, PC Master Race and all.
Power to the People
Then dropped. We could build our own website. Maybe we could even make it so our customers did the data entry for their orders instead of me!
You can see this Web 1 monstrosity here:
I then learned a lesson that nearly every SaaS company continues to learn today:
Paying customers just don’t show up and use your self-serve tool anywhere near as often as you’d like.
The little ones did, but the big ones didn’t. And the big ones were the money makers of course.
So I was still the EA.
I onboard a New EA & discover I make no sense
With my impending adulthood, my parents decided it was time for my dad to hire an executive assistant. Tammy was one of the mom’s of the kids who worked in our warehouse (garage) and she was looking for part-time work.
When I first showed her the system, I’m pretty sure she decided this probably wasn’t going to work out.
Wow this is complicated. It’s probably going to take me a while to learn how to use this.
We started by her just taking over specific tasks for me, using just specific parts of the tool.
Almost immediately she had different ideas about how it would make sense for it to work. We just looked at the tasks differently.
🎓 At first I tried to explain how to think about it. That didn’t really stick.
👶 Then I got frustrated trying to explain it all the time, so I started simplifying. But then tasks took longer.
See, I’d built a system that was mapped to my brain. I knew everything about how the business worked. I had no idea, but I had created a Second Brain. That was awesome for me, but it wasn’t transferable.
And the business was growing. And I was trying to leave so I could focus on my own startup.
Even with someone taking over my job, I was trapped.
I thought I’d built the ultimate business system.
But really I’d built a high tech hamster wheel.
I surrender my role as the Ultimate Smart Kid
I’m going to be real. I was a kid from the State of Delaware. Most people didn’t even know that state existed (even in the US).
I did not know a single soul on the planet who had done what I’d done except for the legends in the far off mystical land of Silicon Valley.
I thought I was the shit. I thought I knew everything.
I mean, I kinda did. 😏 I knew more about how my dad’s business worked, on an operations level, than he did. He really just did sales. I did the rest. If I didn’t do it, it literally wouldn’t happen.
What was once a source of power & pride was now a burden. I couldn’t escape. I didn’t want to leave my parents & siblings hanging, but I wasn’t looking to run Tim’s Great Stuff for the rest of my life. I wanted to go build a software company, tour as a musician, learn astrophysics.
But here I was, stuck.
That’s when Tammy, bless her heart, just Mom-ed the heck outta me.
Brian, if I’m going to do this, I’ve just got to do what makes sense to me. You don’t want to do it right? Help me make it a system that works for me.
Weirdly I felt the power dynamic between us shift in a way I’d never experienced before.
What felt like a step down was actually a leap forward.
We were equals now.
We co-create awesome & I get to be free (for real this time)
Tammy and I started a weekly ritual where we’d sit down together.
One of the first things we learned is that the system was actually working. There were just things Tammy would forget or not understand, so she’d find work arounds that were manual. She’d often come to me afterwards with an issue, and when I’d investigate I’d find a bunch of unexpected problems because she wasn’t following the process.
But instead of trying to “teach her what she did wrong” or remove complexity, I got the idea to just watch her use it.
After all, that’s how I learned. I used it, learned what was hard, and iterated to make it easy for myself.
The Moment of Magic
Because I was sitting watching her use the system, she’d sometimes go to do things the “wrong” way.
At first I corrected her, then she would defend what she was doing, and it would be awkward.
Overtime I learned to be curious.
Why was she looking over there (watching her mouse)? Why did she go to that step before the other one?
It turned out that Tammy actually had a very efficient way of thinking about what she was doing. She was optimizing for how long it took the system to run different processes so she wasn’t bored and wasting time.
She also had an internal mental map of how it made sense for her to do the work.
Because I sat next to her and asked questions, I learned her brain.
I’d suggest changes I could make to map to her approach. Surprisingly she didn’t accept every request. Sometimes something that didn’t quite work was preferable to changing the process. She could cope.
But then I’d find one change I could make that would really make things easier for her.
Sometimes “easier” meant fewer clicks or a different order of tasks.
But often “easier” just meant the process went the way her brain wanted it to go.
That’s when the adventure began. I started saying things like “what if I could make it work this way for you?”
If she liked the idea, we started iterating together.
Then in our meetings she’d starting saying
Hey, that thing you did over there. Could you automate this over here like that too?
We became a team on optimizing the business, not just the system.
I was blown away by how changes of convenience turned into whole new ways I thought about workflows, data schema, and performance. We made massive improvements to the system, simplified complexity without losing efficiency, and created a more durable system together.
She ran the whole business for ten years on that platform.
It was hers.
Maintenance is Manageable
Because we built the system together, I was even able to build tools for her to diagnose and troubleshoot the system.
One of my proudest moments was running between college classes on my cell phone, walking her through how to fix the systems after a forced Window’s Update gummed up our automations.
She really understood the tool. She might struggle with using her Alexa today, but our tool, she was the expert in that.
The shared ownership meant I could leave home, take care of my family’s business, and know that they were going to be ok even under tight deadlines.
So what does this all mean?
The age of desktop apps were pretty incredible. I’m honestly still incredibly grateful to Microsoft for building the tools that enabled me to learn how to think computationally just by building something.
I’m still no software engineer.
I used to think of myself as less for that. I used to dream of being mentally capable of building software from the ground up. I still do.
But what Coda and the no code movement have brought back for me is this craft of designing processes in software.
And it’s not just me!
All around the globe I’ve met people who love to build things that help people and are doing it, even though they aren’t engineers.
Software engineering is a very cool discipline. So is process engineering.
What I didn’t know two decades ago was I prototyping a role based on my intrinsic interests.
A role that is naturally occurring everywhere, everywhere people are empowered to change the way they work - whether a small business, a non-profit, or the hottest unicorn tech companies.
My intention in sharing my journey with you is to show you that you don’t have to be perfect to do this role.
The engine of evolution is mistakes.
What matters is to turn those experiences into fuel, which is easy to do: treat everyone as equals, approach them with curiosity, and follow your instinct to make things better.