Category: Advice

  • What You’re Really Avoiding Isn’t the Work

    What You’re Really Avoiding Isn’t the Work

    Everyone has a version of this. A category of work that sits on the to-do list for weeks, then months, slowly accumulating guilt. For some founders it’s legal. For others it’s HR, compliance, or investor reporting. For me, it’s always been accounting.

    Not because I can’t do math. Because every time I opened QuickBooks, I’d feel the weight of everything I didn’t understand, and I’d close the tab. There’s always something more urgent than confronting what you don’t know.

    This week I finally sat down and did all of it. Reverse-engineered spreadsheets. Audited our QuickBooks accounts. Found missing payables. Fixed miscategorized transactions. Worked through international currency adjustments. Even handled an off-the-books equity correction I’d been dreading for longer than I’d like to admit.

    And here’s the part I didn’t expect: it was actually kind of fun.

    The difference wasn’t discipline. It was having AI as a collaborator. And the reason that mattered has nothing to do with accounting specifically.

    The real barrier is shame

    Think about the task you’ve been avoiding. Now think about why.

    It’s probably not because the task itself is impossibly hard. It’s because there’s a gap between what you know and what you’d need to know to do it confidently, and closing that gap feels expensive. You’d have to ask someone. That someone is busy, or expensive, or both. And the questions you need to ask feel like they should be obvious.

    That was my relationship with accounting for years. Accountants always seem busy. When I’d get on a call with mine, I’d feel the clock ticking. Every question felt like it should be obvious. Do I really need to ask what a trial balance is? Can I admit I don’t understand why this line item is negative? Is it okay to not know the difference between cash-basis and accrual?

    So you nod along, say “makes sense,” and leave the call having learned nothing. Then you avoid the whole topic for another month.

    This is the shame barrier. It’s not a knowledge problem. It’s a help-access problem. The help exists, but the social cost of accessing it is high enough that you just… don’t.

    What happens when the shame disappears

    When I sat down with Claude Code this week and started working through our financials, I could ask anything. Literally anything.

    “What does this column mean?” No judgment. “Why is this number negative when we received money?” Clear explanation. “Walk me through how this journal entry should work.” Step by step, as many times as I needed.

    I went deep on things I’d been skating past for years. The nuances of our P&L statement. How the balance sheet connects to the trial balance. Why certain transactions were showing up in the wrong categories. What our cash flow statement was actually telling me versus what I assumed it was telling me.

    Each question led to a better question. And because I wasn’t worried about wasting someone’s time or looking dumb, I kept going. I’d ask a follow-up, then another, then branch into something related. It was the first time accounting felt like learning instead of an exam I was failing.

    If you’ve ever had a mentor who made you feel safe asking the dumb questions, you know how much faster you learn in that environment. AI gives you that dynamic on demand, in any domain, at any hour.

    The concrete results

    This wasn’t a vague learning exercise. I worked through real problems in our actual books:

    Reverse-engineered inherited spreadsheets. We had several financial spreadsheets maintained by different people over time. I fed them to Claude and asked it to explain what each one was tracking, how the formulas worked, and where there were inconsistencies. It found things that had been wrong for months. If you’ve ever inherited a spreadsheet from someone who left the company and spent hours trying to figure out what it was supposed to do, AI turns that from hours to minutes.

    Audited QuickBooks categories. Transactions miscategorized across multiple accounts. Expenses in the wrong cost centers. Payables missing entirely. Claude walked me through each one, explained what the correct category should be and why, and helped me make the corrections.

    Handled the stuff I’d been avoiding. International currency adjustments. An equity correction I didn’t fully understand the accounting treatment for. Reconciliation of accounts that hadn’t been reconciled in too long. These are the kinds of things where I’d normally email the accountant, wait three days, get an answer I half-understood, and still feel uncertain about whether it was done right.

    Thought through the strategic questions. Beyond the bookkeeping, I used the conversation to think through bigger questions. I’ve thought about managing cash flow before, but this was different. What are our actual options right now? What interest rate is expensive versus reasonable for our situation? What are the trade-offs between different funding approaches? These aren’t strictly accounting questions, but they live in the same “financial stuff I’m uncomfortable with” bucket, and having a patient conversation partner made them approachable.

    The pattern worth noticing

    Here’s what I want you to take from this. It’s not “use AI for accounting,” although you should.

    Every business owner has domains they understand well and domains where they’re faking it. For me, the product development, marketing, and technical infrastructure are comfortable territory. Finance has always been the thing I know I should understand better but never prioritize learning. It’s a version of the fear of the unfamiliar that I think most founders carry around quietly.

    AI doesn’t replace the expert. I still need a CPA for tax strategy and compliance. But it fills the gap between “I know nothing” and “I know enough to have a productive conversation with my accountant.” That middle layer of competence is what most people skip, and it’s exactly where AI excels.

    Before this week, my accounting approach was “send everything to the accountant and hope for the best.” Now I actually understand what’s in our books. I can read a P&L and know what I’m looking at. I can spot when something looks wrong. That upgrade happened because the learning barrier dropped to zero.

    Apply this to your thing

    This keeps happening. Tasks I’ve been dreading turn out to be approachable, even enjoyable, once I have a collaborator that’s patient, knowledgeable, and available whenever I’m ready to work. It happened with growth engineering. It happened with the small automations that add up. Now it’s happened with accounting.

    The common thread is that the barrier was never ability. It was the friction of getting help. AI removes that friction, and suddenly the things you’ve been avoiding become the things you’re making progress on.

    So here’s my challenge to you: think about the task that’s been sitting on your list the longest. The one you keep bumping to next week. Ask yourself whether the problem is really that the task is hard, or whether the problem is that you don’t have a safe, low-cost way to close your knowledge gap.

    If it’s the second one, you might be surprised at what happens when you just start asking questions.

  • Why Doing It Yourself Is the Ultimate Competitive Advantage

    Why Doing It Yourself Is the Ultimate Competitive Advantage

    In a world where AI is accelerating everything—and the barriers to learning are lower than ever—being a DIY generalist isn’t just a personality quirk. It’s a superpower.

    Here’s why mastering many skills and doing things yourself can set you apart.

    1. You Learn Faster Than You Delegate

    Hiring someone to do something sounds efficient—until you realize you don’t understand what you’re asking for. Learning a skill yourself first gives you context, vocabulary, and a feel for what’s hard vs. easy, expensive vs. cheap.

    When you know how something works, you communicate better, negotiate smarter, and make better decisions.

    2. You Don’t Have to Wait on Anyone

    Speed matters. Especially in the early stages of a project or business. When you can jump in and do it yourself, you avoid delays, blockers, and the endless back-and-forth of delegation.

    DIY lets you ship faster. Period.

    3. You Attract More Opportunities

    People notice when you can actually do stuff. The more skills you develop, the more likely someone is to say, “Hey, can you help with this?” That’s how doors open.

    Being seen as “useful” makes you opportunity-rich.

    4. You Go From Idea to Execution Without Friction

    Most projects die between inspiration and execution. Why? Because there are a hundred tiny skills required to get to the finish line. Writing, editing, designing, coding, publishing…

    The fewer skills you lack, the fewer excuses you have.

    5. You Avoid the Paralysis of Complexity

    When you need others to execute every step, you introduce friction: sourcing talent, communicating needs, aligning timelines, budgeting. That can kill momentum.

    The more you can do yourself, the simpler the project becomes.

    6. You Future-Proof Yourself Against Disruption

    Specialists are increasingly vulnerable to automation. When one tool can replace a tightly defined role, that role disappears. Generalists thrive by adapting, connecting ideas, and solving a wider range of problems.

    In an AI world, adaptability beats specialization.

    7. You Build Confidence and Clarity

    There’s nothing more empowering than getting something across the finish line yourself. That confidence compounds. You don’t wonder if you can do something—you know you can.

    DIY doesn’t just get things done. It makes you unstoppable.

    Final Thought: The DIY Ethos Isn’t About Doing Everything—Forever

    It’s about learning enough to start, to understand, and to execute when you need to. Later, you can delegate—but from a position of strength, not ignorance.

  • What I’ve learned about Brand Marketing

    Brand marketing is the process by which a name/image/logo/product is associated for commercial purposes.

    This process is fundamentally the same as how we understand new words and are able to bring new words into our vocabulary.

    When we learn new words, we remember them best when there are multiple modalities and existing concepts to which we can ‘anchor’ that word to. The more connections and modalities the richer this web of associations can be and the stronger our memory is for recalling this new word in the future. This association works in both ways – we hear the word and it brings forth the meaning so we understand it, but also we see something and can recall the word to describe it.

    Language learners can use this to learn a new word and retain it:

    1. Hear the word spoken – ideally multiple times from multiple people’s voices and intonations
    2. See visual representations to correlate to that word
    3. Think of a story involving the word
    4. Imagine a smell, feeling or other sensory connection to the word.
    5. Think about memories, experiences, jokes, synonyms, homonyms, concepts or anything else from your mind to associate it with

    The richer the web of connections the more likely you’ll retain understanding of, and recall the new word to use in the future will be.

    The french word for grapefruit is pamplemousse. The hard way to learn this word is to have it on a list of other french words with their translation, you repeat it over and over for days. This is how I learned French in school. Invariably you’ll forget it. Instead, create something richer in your mind:

    1. phonetically it’s similar to pimple moose – imagine a giant pimple on a moose in the shape of a grapefruit for a comical visualization of the word. 
    2. Search google images and look at lots of photos and drawings of pamplemousses.
    3. Use YouGlish to find video clips of people saying the word (https://youglish.com/pronounce/pamplemousse/french?)
    4. Recall the flavor and smell of grapefruit
    5. Perhaps buy one to have, or get a glass of grapefruit juice
    6. Recall memories of grapefruits in your life

    With all these hooks to the word pamplemousse, it’s much more difficult to forget.

    Now think of a brand as a new word and you want to teach this new word to as many people as possible. The difference is that a person learning french actively works to remember that word, but branding is trying to teach a passively engaged consumer most of the time. Giving a dictionary style definition is simply not enough:

    Facebook: A social network platform where people connect with friends and family they know to share and communicate.

    This alone doesn’t fully describe the experience of using Facebook. Telling people what the product or service is just isn’t enough.  There is much more to what Facebook is than just that single sentence. If you base your judgement on a simple statement like that it might get tossed into other associated buckets of things you already know about – just another social network, just a buzzword definition, or just so bland that you already forgot it. We need something richer to engage and remember it.

    In the case of a brand we want to anchor a group of things together to create the web of associations with a purpose. On the design side we create a logo, language, colors, and art style that are a visual unit connected together. You associate emotions and feelings, stories, tastes, smells and sounds into the mix. And it centers around the brand and its product or service so that this new word is given a meaning.

    A brand can either be purposely built or be something more organic. Branding firms will do ground up brand design to choose the elements that come together and represent the brand. Or customers can create their own associations from interacting with the product and service and the brand can be discovered by everyone independently.

    There is no correct approach between those two – except that if the designed branding conflicts with the reality of the product or service you’ll probably end up with customer complaints from not meeting expectations.

    Now, when people talk about Brand Marketing, they usually are referring to a style of ads where the product and sales elements take a backseat to the jokes, action or story. The goal of the ad is to create or reinforce these associations rather than to immediately sell the product.

    The thinking here is that when the person is actually ready to buy, the association is embedded enough that the product is what they recall.  Thirsty? Coke, Thirsty from exercise? Gatorade, smell grease? McDonald’s. 

    The reality is that force-feeding brand associations to people passively is expensive.  It takes many times from learning a new word until you use it naturally; similarly it takes repeated messages to teach people about a brand. It has to be maintained over time or you start to forget. Paying for the media placements to do this broadly is extremely expensive.

    Going after broad concepts cannot be done effectively without also having broad distribution. To anchor an association like Thirst -> Coke the product must be available so that when a person is thirsty they are able to buy it. If on the other hand the stores only have Pepsi, then not only is the ad spend wasted, but Pepsi is now reinforcing their association to thirst with the smell, taste and tactile feel of their product.

    The payback is hard to measure – if it works people will buy weeks or months later. The customer may not even be aware of the influence of the brand into their purchase decision. So there is some trust required that the ads work in order to keep them going long enough to see the results.

    Because of the time and money investment to really solidify the brand in people’s minds these approaches are difficult to translate to small businesses. For branding on smaller companies you’re going to be niching down to smaller communities – maybe this helps. But it’s still difficult to even consider a pure branding play without the cash to wait weeks for any proof.

    Instead, try to do the brand focused elements of marketing on PR pieces, and websites. Be consistent with the use of colors and fonts. Have a name that already elicits the kinds of associations you want to have. These form the basis of a brand. Ensure the product is easy to purchase, and that all interactions have the same cohesive design.

    The Brand and the product have to go together or else the most critical connections won’t be created in the mind.

    A large part of branding for a small business is just applying the design elements with consistency across everything that customers see. This starts to create the richer set of associations we’re hoping for with a brand.

    For the most part, brand marketing is not a game for small businesses to be in. Stay on-brand for social media posts, perhaps use brand marketing style content organically, but save the brand marketing ads until after distribution is fully saturated

  • Best Days Of My Life

    Back in the summer of ’69 I was still not born yet, but this year is going to be the beginning of a major shift in how we think about and plan our vacations. Hopefully will be the foundation for many epic summers in the next several years.

    A couple of months ago we took a serious investigation on options for buying a motorhome. It took 4 years to really dig into options and consider the possibilities before landing on motohomes as the thing to do. But now we are the owners of a much too expensive vehicle on a 30 year loan.

    The payback will be that we now have a persistent reminder to disconnect and enjoy life sitting right in the driveway. We already have several trips planned for the summer to various campgrounds in Ontario. 2021 is our shakedown year to get a feel for the new rig, learn about all the camping options – public & private campgrounds, dry camping, crown land options and membership programs. Once we get more comfortable with everything in the coming years it will open the doors to trips to the east coast, to the west coast, and all through the USA.

    I’m excited.

    For the family, I hope that this change of pace will help build a foundation of summer memories for everyone, a second wave of the best days of my life.

    though everytime I see this in the driveway I can’t help but laugh. I can’t believe that we actually bought it.

  • Finding Winners

    There are lots of stats out there about how many businesses fail. It is astounding that something close to 9 out of every 10 businesses fold in just a few years. With each of those businesses there are smart ambitious people with the best of intentions, plans, and money to get things off the ground.

    With odds like that it’s amazing anyone every tries to start their own business right?

    But from a different perspective, with those odds and the potential rewards of a success why doesn’t everyone keep trying to start businesses?

    Every time you tackle a challenge like starting a new venture there is a tremendous learning curve.. how to hire/fire, how to raise financing, how to balance sales and marketing, what are your strengths and weaknesses, what should be delegated or contracted out. Nobody has all these skills in grade 5. There are no naturals. Everyone needs to learn.

    With that context it’s easy to understand why early attempts to start something have a high likelyhood of failure. Most people need to learn by doing and it’s easy to make lots of mistakes before you’ve mastered the skills.

    If one out of every ten lottery tickets was a winner would you keep buying tickets?

    matt warren

    I think I’ve scratched off more than my share of losing tickets. But with each loser my confidence has improved in specific areas.

    I think I’ve got a winner on my hands now.

  • Current Thoughts on Software Testing

    When I was a younger developer I didn’t see the value in writing tests for the projects I worked on. I was focused on being as productive as possible during the day to turn out new features and fix bugs. Tests doubled or more the amount of code that needed to be written, it added delays and distractions waiting for tests to run, and sometimes they were actually very difficult to write (figuring out how to mock out things is not always easy).

    That approach works for a while, but has it’s limits.

    There are 3 main things that tests solve for me and it took a while to appreciate:

    1. It catches stupid mistakes earlier
    2. Improves ability to take on or hand off a codebase to new developers
    3. Helps stave off fear of making changes in the future

    Catching mistakes early is accomplished because, tests force you to think through some of the error cases, it makes sure that you’ve actually run the code before launching in front of users. I have come to see unit tests as comparable to double entry accounting in some ways – you write the credit and the debit separately, and then can do a validation step (running the tests) to confirm that both sides are in agreement. This is valuable but it is the least valuable of the 3 points that make tests worth writing. For non-critical software, and if it is quick and easy to identify and fix issues in the deployed software then it’s easy to see how fixing errors after the fact, and writing half the amount of code is a productivity trade off that has a strong argument.

    Being a developer that comes onto an existing project, having tests are a life saver. If you don’t know how to quickly identify and fix bugs, then every bug becomes a lengthy investigation. This process of having new developers have to re-learn how the existing software was built is one of the biggest cost factors in software development. The time it takes to understand how previous developers decided to solve problems in a complex pile of files can be upwards of a year or more. If the average tenure of a developer on a project is only 2 years before they are promoted or move to another project, then the company gets very little time of a developer working efficiently. At this point in a projects life, having tests improves the productivity of developers. Tests allow new developers to catch issues they wouldn’t have known about, helps them learn faster about why things are done the way they are, and reduces the likelihood of introducing a bug that takes a long investigation to diagnose and fix in unfamiliar corners of the software.

    As developers our job is to write software that adds new features and continues to provide value to users and that stays competitive. After a few big bugs have slipped through from lack of test coverage both developers and project managers will lose confidence in the ability to develop new things and make changes to the code. Simple library upgrades and security patches may be delayed or ignored for years out of fear of breaking things. When a team has fear of making software changes it can doom the project unless addressed. The ability to work on innovative new ideas is replaced with more mundane fixes and patching bugs. It won’t take long for things to get so out of date, so unmaintainable and so boring to work on that two things will happen: The best developers will jump ship and move onto more interesting projects and the remaining good developers will start to push for a re-write from scratch. This is a doubly bad spot to be in as a business. The parting developers take with them the knowledge and expertise that’s required to be productive leaving holes in the team that will require new people to relearn what has been lost. And secondly, the cost of a re-write can be massive and not viable, it’s risky and time-consuming. Not addressed, this will rot a project until failure.

    These are the lessons I have learned from working on dozens of software projects over 15 years about the value of tests. I started as a huge skeptic. It took a while, but I’ve come around to see them as indispensable.

  • Making Things Happen

    There’s a limit to the things a single developer can accomplish as part of a project. I get a great deal from checking things off my todo list. You can write great code and propose great ideas, but there’s a limit to what a single person can accomplish without a team.

    A team can accomplish a lot. Multiple people with different perspectives and expertises can pull together in the same direction to build amazing things. Even still there is a limit to what a single team can do.

    Making things happen can take the effort of someone to reach outside the boundaries of the team they belong to bridge the gap between teams. Getting teams to work together towards a common vision is how mountains can be moved. Getting developers to work in coordination with sales/marketing, and management. Getting developers that work on different individual goals to all pull together in the same direction is an amazing challenge.

    Communication is the key skill that can accomplish so much. An individual team member can often perform amazing things quietly working on tasks. But the communication of who you talk to, the words you use, how you connect people and ideas you push out of your brain can build teams, can inspire people, and it can make bigger things happen.

    But saying that communication is the the critical main component to make things happen is not particularly helpful without understanding the vast complexities of the individual tasks. How to run a meeting, the various types of meetings, how to handle difficult conversations, how to distribute ideas more broadly, how to propose ideas, how to shut down ideas, how to keep people on task and focused, how to know what conversations need to be had, what people need introductions and what people should be on a team or taken off the team. Much of this come down to practice, experience and organizing your thoughts. But for anyone who doesn’t stumble onto being good at this kind of thing, it’s very difficult to find books or resources on getting better at them.

    If there was a formula for what to say when to whom in all situations, then humans wouldn’t be relevant. Until then what you say when you say it, how you say and to whom you say it to is perhaps one of the most open-ended problems we can think through. Saying the right thing at the right time in the right way to the right people can change societies or more simply, help you get a promotion.

    In an effort to make things happen, sometimes those things are simple physical things like fixing a squeaky door in which case some how-to knowledge is what it takes. Other times it’s convincing someone to build a small business with you. But getting 1000 people working together is a completely different game, and this is something that I’m spending some more time thinking about.

  • Growth Mindset

    I’ve been reading this book, Mindset: the new psychology of success by Carol Dweck. It’s been on my list of books to read for several years now and I’m finally catching up on the backlog.

    What finally brought it to the top of the list was finding out that this book is forming the basis of the corporate culture at the newly reborn Microsoft since Satya Nadella took the reins. Understanding what has changed at Microsoft to transform the company over the last while from a place that didn’t appeal to me at all just a few years ago, into a vibrant and positive company is interesting.

    The quick takeaway from the book is the distinction between having a fixed mindset and a growth mindset. These are not innate but are learned beliefs about various aspects of ourselves and others. For example, you might believe that IQ is a basic measurement of our core ability that doesn’t change. On the other hand, you might believe that IQ scores can change based on learning and training. These distinctions exist across a wide variety of our beliefs – Leadership, salesmanship, introversion, extroversion, personality, sports skills, music talent.

    The book re-enforced things which I believed to be inherently true, but framed the distinction between fixed and growth mindsets in a way that shone a light on people and interactions I have had in the past. And in that regard, I hope that it will help to make me more conscious of the distinction of foundational beliefs in future conversations

    Highly recommended book, which is becoming more important than ever as tribalism has reduced our ability to understand different perspectives.

  • Work in progress Beer Fermentation Cabinet

    After thinking about how to make better beer at home last week and a successfully brewed cerveza I wanted to up my game and build a fermentation box to lager. The number one objective is to make the brewing process with the least amount of effort – no lifting heavy things, transferring fluids around as little as possible is the goal.

    So I built an insulated cabinet. Fermentation happens at the top so that once it is filled with wort it stays there until I gravity feed it straight into a keg after fermentation is complete.

    The space on the bottom is useful to store equipment, so most of the beer making tools all stay together and organized.

    One last functional piece to this build is to get an air conditioner that will control the lagering temperature. After that I will do the finishing touches to pretty it up.

    I’m looking forward to trying to make a proper Pilsner at home.

  • iPad Sketching

    A couple of weeks ago I went out and got an iPad; the new 2018 model that works with the Apple Pencil. It finally checked all the boxes for me for a good tablet at a reasonable price and could replace my 5 year old Google Nexus tablet.

    The feature that really piqued my interest was the ability to work with the Pencil, which makes this iPad much more capable for drawing, designing and creating graphics. Over the last few weeks I’ve been impressed with how fun it is to sketch out my ideas. Here’s a sketch of something I’ve been thinking about building:

    The pencil effect looks authentic and I love the ability to quickly create straight lines or erase mistakes.

    Drawing on the iPad is so fun that it makes me want to doodle, something I never really did before, and to improve my drawing skills.