The Goat is Out! (Solving Problems, the Hard Way)

Years ago I read a blog post by Mike Walsh from StraightPath Solutions called You are Free: Career Lessons from a farm fence. At the time I was struggling with my role at work and an increasing desire to be more involved with the database community. This blog post lit a fire and encouraged me to start taking chances and getting more involved.

I’m not saying I wouldn’t be where I am today, literally in my dream job at Redgate, but it was the right content at the right time.

So why would I bring up a blog post from 2017 about taking control of your career? Am I about to wax eloquently about becoming a better version of yourself, doing a job that you love?

No. But, you should still give Mike’s blog post a read and see if anything resonates with you. 😉

Instead, I was reminded of this post because of my own actual, physical animal fence that wasn’t quite doing it’s job.

Asking For Trouble

Like Mike Walsh, I happen to live on a small hobby farm with 33 acres. Unlike Mike, however, we let a neighboring farmer till the land, and our livestock only consists of ~200,000 honeybees, 19 chickens, and two goats.

The bees generally do their bee thing. Maybe they swarm a few times, which is sad, but if I do my job well, we usually work pretty well together.

The chickens, likewise, are fairly easy creatures. Yes, they’ll get out of the fence and tear up garden beds and lay eggs in all the wrong places sometimes. But generally, we take care of our chickens, and they provide us with fresh eggs each day. It’s a lovely trade.

The goats, however… 🤦‍♂️

They don’t respect many boundaries, mostly because they’re extremely curious, social creatures. They’re like an ultra-sturdy, outdoor dog, that simply won’t take “no” for an answer. And they have the funniest faces.

Seriously.

See, the thing is, six years ago we had our first attempt attempt at keeping a pair of goats. It ended with our elderly neighbors calling about a goat ringing the front doorbell and attempting to join them at the dinner table… after eating the roses on the porch. As much as we loved Don and Matilda, they had to go back to the farm that we got them from.

As it turns out, the main problem was my fence. It was built to keep the chickens in, and goats are bigger, stronger, more curious creatures than chickens. No matter how hard I tried and how many early mornings I spent adding new reinforcements to the fence, Don always found a new way to get out. I didn’t have the right tool for the job and my patchwork of fence mending wasn’t going to solve the real problem. I needed a fence built for goats, which would also keep the chickens in. Not the other way around.

After Don and Matilda left we vowed that someday we’d get a proper fence, closer to the house (and further from our neighbors), so that we could get a couple of goats again.

This spring, we finally stopped saying “next year” and spent the money to have a proper fence installed to contain our flock of chickens and two cute, quirky Nigerian dwarf goats. At least, we thought it was a proper fence.

Meet Lucy and Mr. Tumnus

Let’s get the names out of the way first. My wife, Laura, requested that we use literary name for the goats. Our family loves The Chronicles of Narnia and Mr. Tumnus, a main character in the first book is a fawn (half man, half goat), and he interacts with an inquisitive little girl named Lucy. Perfect names for our little brother and sister goat pair, right?

Two small Nigerian Dwarf goats named Lucy and Mr. Tumnus

Let me also reiterate that these are dwarf goats. Currently they stand less than 2-feet tall and won’t get much taller over the next year, only fatter. You can see why I, and the fence builders, thought a standard 4-foot fence would be plenty tall to keep the goats in.

We made one error in our calculations, however. The cross beams that provide extra support at the corners. Those pieces are only 3 feet off the ground. And, as it turns out, a springy male goat can easily use those as leverage to jump a 4-foot fence.

Despite a swank little shelter, a lot of space to run, plenty of food, and 19 chickens for added company, the grass was perpetually greener on the other side for one of the goats.

Mr. Tumnus, it turns out, is a distant relative of Houdini.

I’ll Fix the Problem Myself!

I had already paid good money for this fence, which otherwise was serving its purpose well. There were just a few spots that Mr. Tumnus could get over, so the obvious solution as to simply add a higher section of fencing at each corner.

For a while, that worked… if by “a while” you mean two days.

Next, we added boards on the inside of the fence above the bracing. The idea was that Tumnus couldn’t bounce off the bracing if a board was in his way to complete the jump.

This worked surprisingly well. I added these boards hours before I left for a week of conferences in Europe. According to my family Tumnus didn’t get out the entire time I was gone! However, within 30 minutes of returning home and visiting with the goats, Tumnus was eagerly jumping over the fence by weaving through a small hole by the gate.

Seriously?!

For the next few days, we kept adding more fence to the corners that he was drawn to, specifically the ones that faced our house where he could see us, which was the real draw for him to get out. Goats are very social animals.

After paying for a good fence, hours of trying to reinforce every spot Tumnus seemed to be jumping over, I knew I was defeated. We were leaving in a few days for vacation and I couldn’t take the chance that Tumnus would get out while we were gone, potentially disturbing our elderly neighbors, or requiring my aging father to chase him around.

I had to do something that doesn’t come naturally to me – rely on someone else to fix the problem.

Invest in a Better Solution

All the reinforcements I had added so far were simply extra fence and wood I already had on the farm. Therefore my investment thus far was mostly time… and growing frustration with Tumnus.

It’s not his fault. Goats are going to goat. 🐐

I had to decide if I was going to keep going or ask for help. My next idea was to purchase 5-foot fence to add to the inside of each corner because I knew Tumnus couldn’t clear that height if he couldn’t access the bracing for leverage. But to get good fence would cost a few hundred dollars, my time, and it would still be a one-man job. Also, I was kind of scared that Tumnus would try to start climbing the fence and get caught, potentially breaking a leg.

So I picked up the phone and called the company that installed the fence, explaining my current situation.

Company: “Would you consider adding an electric wire on the inside?”

Me: “Do you really think a strand or two of wire will keep Houdini Tumnus at bay?”

Company: “Hey man, you called us, remember?” (not really, I’m just imagining that’s what they were thinking)

As it turns out, the company echoed my concern of adding higher fence on the inside of the corners. They happened to have a goat one time that did learn to climb the fence and ultimately broke its leg when it got caught. The electric fence was my next best option.

He said they could be there the next morning, and I didn’t even ask how much it was going to cost. Honestly, I was desperate.

22 wire holders and 3.5 hours of labor later, we had a new electric fence added to the inside of the main fence. The total cost was $250, less than I would have paid for the 5-foot fence roll I was considering.

Tumnus Makes a Shocking Discovery

Once the company left, I attached my fencer and tested to make sure enough voltage was coming through the wire with each shock. ✅

After two days of being tied to a lead rope, we freed Tumnus and waited to see what would happen.

Instinctively, both goats new that something was different. The added fencing at a few corners was gone and there was a new piece of wire around the fence. Within 30 seconds both of them were sniffing the first wire… and both got a shock.

I don’t particularly like watching the animals get shocked. And obviously, they didn’t like it either. Really it was more bewilderment than anything, and it was clear that they now felt unsure of where they could go, aside from funning back into their shelter.

Rest assured, however, that within a few minutes both Lucy and Tumnus were out wondering around the fenced in area, tormenting playing with chickens, and jumping on the spare tires we have for them to climb on. They quickly learned where the wire is and are careful to avoid it.

One thing they weren’t doing, however, was jumping on… or over… the fence.

Investing My Time and Money Wisely

As much as I love talking about our family, our farm, and our new little goats, this wasn’t ever really a story about goats.

You knew that, right?

It became very clear to me today that I often work too hard at finding a solution, investing a significant amount of my own time and energy. If I continued down the path I was headed, I would have invested  more time and money into a solution that probably wouldn’t work (at best) and might have caused Mr. Tumnus to break his leg (at worst).

This has been a season where I’m learning this anew, almost daily. I’m a doer by nature and I can easily take on a bulldog mentality where I won’t let go of something until I understand it and find success!

A former co-worker used to remind us almost daily that “perfection is the enemy of good“. 🔥

In relation to my current role as a PostgreSQL Advocate at Redgate, this manifests itself in some parts of my job creating content and better educational/teaching materials. I get stuck in the minutia rather than pushing forward so that folks can learn something sooner than later.

What About Your Investments?

I’ve also seen this in folks that reach out to me because of my recent webinar series at Redgate called PostgreSQL 101. The idea is that most of our current customer base come from a Microsoft Data Platform background, but many are being asked to start managing PostgreSQL, too. This is my exact journey over the last 6 years, something you may have heard me discuss on this blog, Twitter, conference presentations, and elsewhere. Most of the webinar content, then, draws in people looking for the same information.

As a result, many people have reached out recently asking for PostgreSQL help. I honestly love it. These interactions help me know that my efforts are impacting the community in some way! I’m reminded as I see their database struggles (and architecture), that database and application development is difficult to do well. Without much context it’s hard for me to give specific, actional feedback, but I can suggest tools to use and consultants to connect with.

Most everyone I connect with is “in the trenches” and they want to do the right thing and use the best tools for the job. Especially when the pressure is on, and they don’t quite understand why PostgreSQL is underperforming or how to investigate it in context of their SQL Server knowledge. However, I’m surprised how much effort it is for their managers or IT departments to approve these tools, even for short term help.

Study after study has shown that the “buy vs. build” debate rarely works in favor of “build”. Don’t get me wrong, I love building and I still choose it more than I should in context of my other priorities.

However, if you’re spending thousands of dollars on a PostgreSQL instance in Azure or AWS per month, signing up for a tool that’s $150-$350/month to get quick, actionable insights is a no-brainer. In many cases, this is 10% or less than the monthly cost of these machines at production scale.

If you manage the backend development of an application and insist on writing every SQL migration script by hand (or using the built-in ORM tooling that often creates a Frankenstein database schema), why wouldn’t you consider spending ~$45/month for a tool like Flyway Teams that helps manage all your database schema versions and migration pipeline? No more guessing when a change to the schema was made or by whom! (I’m kind of passionate about this DevOps/Schema management topic: StirTrek 2023, PGConf.NYC 2021 for example. 😉)

But… Salespeople

Yes. Every company I’ve worked for has provided a service and has a sales team to help sell the product. I’m glad there are people that honestly love doing sales as their job. I’m not one of them. It’s literally not in my bones to make cold calls, work the sales pipeline, or anything else. I’m in it to solve problems and learn more about the technology I love.

But I have learned over the years, and most recently with my goats, that too often I’m investing my time, energy, and sometimes money into areas that have a negative ROI.

Find companies that will treat you well and employ salespeople that will respect your time and situation. Try to calculate the ROI of that investment and be honest with yourself and the team you’re working with. If they truly have a tool that will help solve your problem, it’s worth your small investment of time and building a relationship, now.

Choose Your Battle and ROI

I haven’t said anything new here. My experience this week with the fence just really struck me because the feedback loop was immediate. 30 seconds after letting Mr. Tumnus out, the fence was working better than anything I’d tried for almost a month.

I have to make these decisions all the time with technology, too. Where do I host my blog? How much am I willing to pay for backup and recovery? Should I stick with Android or go back to Apple? Is it worth creating that new sample database or just stick with something tried and true?

My list could go on and on.

If you’re having a database, and specifically PostgreSQL problem, there are many great communities and companies that can help. I can (almost) guarantee that the small investment you make now (time or money) will return multi-fold sooner than you think.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.