Change is How You Grow

I haven’t had time to really write anything too deeply lately for blog posts lately. I’m learning SO much at the pet store right now.

I’m really pushing myself to get to that point where I understand the code underneath the abstraction.

But, the old blog calls out to me yet again, dear reader.


EVERYONE in tech feels underpaid, because recruiting / hiring in tech is completely broken and crazy. Financially, we are incented to switch jobs WAY more often than we are incented to stay in one.

Salary and turnover and hiring is a fun topic but I’m going to hit you with something.

You are more than your job.

Do you believe that?

Honestly?

It’s OK if you don’t. Took me till I was about 38 years old to really believe it.


Think about a hypothetical situation.

Meet Nia. Nia is an Associate Software Developer.

She applied for a job, interviewed well, and got it, and now is happily coding away under the direction of Software Developers and Senior Software Developers.

After 3 years… Nia’s got quite a few releases under her belt. She knows a few different languages well, she’s ridden a few late nights with releases that went sideways, but she doesn’t make anywhere near the same mistakes she made before.

The job, Associate Software Developer, is still exactly as it was when she took it those years ago.

Her title hasn’t changed, nor has the role in any real sense.

Nia did though. Drastically. She grew.

But, assuming she does nothing, she’ll stay an Associate Software Developer, and will likely get around a 3-4% raise every year for satisfactory performance. 

If she started with an annual salary of $50,000, that means after 3 years at a 4% raise, she’s making $56,243.20.


What happened to our hypothetical associate developer? She grew faster than her job did.

Ask yourself these questions:

Do you believe Nia is worth more than her job pays?

Me? I certainly do! She has more experience than the position requires, knows more languages, and is simply a better developer.

If she was your mentee, would you tell her so?

Me? I would! But I’m a cheerleader for you all anyway…

Would you advocate for her if you were her boss?

Of course I would! I’ve happily done so for many others!

Would you tell her to look outside her role if her boss couldn’t get it done for her?

You’re damn right I would, and I hope you would too!

What if I told you that HR has been recruiting, and offers for new associate developers need to start at $60,000, otherwise we aren’t a competitive place to work, and we won’t get good candidates?

ARGH!!! GO GET THAT F@%!#&G PAPER NIA!!!

(This should be apparent, but the salary numbers above are purely hypothetical.)


If you answered yes to any of the above questions, ask yourself why?

Why would you advocate for a hypothetical person, if you aren’t willing to advocate for yourself?


But maybe you’re spotting a trick…

“But wait… what if they just gave her a raise that put her in line with what they’d have to do to hire her as if she was new?”

There’s LOTS of reasons!

  1. Her Boss’s Budget. Unless Nia’s reporting to the CEO or the CFO, her boss didn’t set the budget for her raise. The budget came from an executive committee that looked at total salaries for the group.
     
  2. Her co-workers.  A limited budget–and even a large budget–has to be shared with your co-workers. If her boss is given 3 percent of her salary budget (see reason 1) for raises and gives a spectacular performer 5 percent, that means there’s less for everyone else.
     
  3. Her own salary band. Many companies don’t just give people salaries–they set salaries within what’s called a salary band. Her job is evaluated and given a range. If she’s at or above the midpoint of that grade, she’ll see very, very small raises.

Remember this.

Salary budgets aren’t personal. Ever.

Your salary just FEELS personal.


Forget about Nia because I made her up.

But YOU. You are real.

So let’s get real.

I’ve been in the position where the bank account is hitting the single digits, and I’ve got multiple days left until the next paycheck. Sure, I can hit the credit card, but that balance just keeps getting bigger.

I’ve been in that position where someone got hired with my same job title and started making 15% more than me.

I’ve felt that ‘I’m worth more than this in this market’ when I looked at my paystub.

I’ve felt that same frustration, anger, fear and doubt and most decidedly the self-recrimination. I HATE feeling stupid, or like I’m a sucker.


I’m worth more than my job.

I have heard cheerleader blowhards (great #selfown, Mr. Brown) and new-age-hippie-types (#selfown-number-2) say it plenty of times.

But simply put, mathematically, it’s just true.

My first job as a programmer was at a tiny video editing software company. I made $27,500 a year. Minimum wage was 4.25 an hour, and I felt like I was BALLIN.’

The company no longer exists, but if they did, the position I had, Application Developer probably would pay someone hired off the street somewhere in the low 90s

According to some F# I wrote (did you wonder when I’d get an F# reference in?) if I stayed in that job and got a 3 or 4% raise every year.

module Interest = 
    type InterestCalculationOptions = {
        Compounding : Compounding
        Rate : float
        Principal : float
        TermInYears : float
    } 
    and Compounding = 
        | TimesPerYear of float 
        | Constant 
 
    let compound options = 
        let core r e = options.Principal * (r ** e)
        match options.Compounding with 
        | Constant -> core System.Math.E (options.Rate * options.TermInYears)
        | TimesPerYear f -> let rate = (options.Rate / f) + 1.0
                            core rate (f * options.TermInYears)
 
/// Christopher gets 3% a year.
let threePercentRaise = Interest.compound {
                             Compounding = (Interest.TimesPerYear 1.0); 
                                Rate = 0.03; Principal = 27500.0;
                                TermInYears = 21.0  };;

/// threePercentRaise = $51158!!!

/// Christopher gets 4% a year.
let fourPercentRaise = Interest.compound {
                             Compounding = (Interest.TimesPerYear 1.0); 
                                Rate = 0.04; Principal = 27500.0;
                                TermInYears = 21.0  };;

/// fourPercentRaise = $62666!!!

The thing is I grew.

I took jobs that were different. More challenging. More interesting. Different languages. Different scopes.

And, well, they paid more.

Three years ago, I took a Principal Software Engineer job at the credit union that paid much more than an Application Developer in Bellingham. And you know what? I asked around, and I was probably underpaid.

Three years later I proved it moving on to the pet store.


I’m not the only one who grew.

You know who grew a ton, and did it all at the credit union? Rihanna.

(Not the musician Rihanna. This is a reference to a person who is freaking awesome like Rihanna, but whom I didn’t ask about publishing their name in a blog post.)

I won’t speak to her specific numbers except the following.

Rihanna told me that she’s currently making around 10x what she was making when she started at the credit union.

The job she held when they started at the credit union still exists. There are people right now doing what Rihanna used to do.

Those folks do NOT get paid 10x what it was back when Rihanna started.

Rihanna had to grow. Sometimes uncomfortably. She moved into other jobs, 9 times, and in completely different departments. She had managers go to bat for her and win…

… and probably a LOT more times than she knew about, go to bat for her and strike out.

Do you think each manager wanted “turnover” when it was time for Rihanna to grow? Probably not. In the short term, her managers would have preferred she stay in the role she was in, because it would have been easier to not have to hire a backfill for her.

Why would we ever want to encourage higher turnover?

Because turnover is how you grow.


You are more than your job.

When I first heard that, there were all these pictures of my kids and my family going through my head. Of course I was more than my job. My life with them was my highest priority.

But that’s not all it means.

It also means you will grow faster than your job.

Your brain calculates 38 thousand trillion operations per second!

That is in YOU, dear reader. You. Are. Amazing.

No job will truly hold the amazing machine that is you, unless you absolutely love it, and want to remain in it, but please accept this:

Change is how you grow.

New Things

A big part of my career has involved change. Part of being a developer over the course of the late 90s to now involves a TON of change.

Technology change: The code I write, and what tools I do it with has changed drastically. I started coding professionally with C++ and Visual Basic. I got VERY good with C#, and made much with it. I made a fair amount of noise in F# and now I’m currently working in Java, Python, TypeScript and Kotlin.

Methodology change: I mean “how we do the code we do.” Test-driven development came up in the development community just as I did. The ubiquity of containers. Agile work patterns.

Personal change: What used to drive me was the feeling of being ‘the guy.’  I LOVED being the guy you needed to make and fix the things. Now, I love being ‘the guy’ who helps people grow.

And now, a job change!

I’ll have to update my goals, because at this point, I no longer work for the Credit Union! I now work for a well-known an online pet store! I get to work with data scientists trying to make your search and product discovery experience better.

That’s the update… I wish it was longer, and more in-depth, but I’m still learning the space, so I’m in absorb-mode.

Test-Driven Development (TDD) for the Non-Developer

When I got hired at the Credit Union as the Principal Software Developer, one of the major elements of the job is to define how software development is to be done at our Credit Union.

One of the things I frequently mention is that ever since I took over the Principal role at the credit union, we became a TDD shop.

What if you’re not a developer, and don’t know what TDD is about? What about if you just learned what the acronym TDD means?

Test-Driven Development (aka TDD) is a model of writing software defined by a particular practice; specifically, writing automated tests before writing the software itself.

This model directly contrasts with the approach of testing the software after it’s written.

It’s a very low-level coding process, sometimes called ‘Red / Green / Refactor’ (as the tools that execute tests typically indicate failed tests in red and passed tests in green.)

An Example workflow:

  • I write a test, and it initially fails. (RED).
  • Then, I write code that causes the test to succeed (GREEN.)
  • I write another test, that initially fails (RED).
  • And once the feature is complete, I refactor the code, while maintaining green passing tests.

This creates two products. The software itself, and the tests that verify its functionality.

Software is a complex piece of machinery that is easily and regularly changed, and those regular changes can cause unexpected flaws. Those tests, when automated to be as a part of the build itself, can help prevent those unintended errors. Updates to dependent systems are made easier, as software typically talks to a database, or services, or libraries, and those updates can be tested quickly, with minimal human intervention.

They also enforce a level of rigor in the system design. Developers build systems that are designed to be ‘tested’.


So why does this affect you if you don’t write code? As written, this seems like mainly a developer function.

The thing is, the technique is entirely a developer technique, but the TDD mindset is the true switch

Start with the tests. Ask yourself: how do you know the software/thing/system will work?

Say you’re a Business Analyst or a Product Owner on the fence about a feature, how will you know your feature will work? How will you know it’s effective?

You know what the feature is. You know WHY the feature should exist, and that’s normally enough to prioritize it (or not) on the backlog.

Take the TDD approach and start with the tests.

  • How will you know that the feature works?
  • What is the test that will prove the feature is valuable, and useful?
  • What would be a test that would NEGATE that assertion?

Or say you’re the analyst working on the requirements for that feature, and you’ve fleshed out all the details of the fancy new automation your team is working on. How will you KNOW that automation is adding the value that you think it should?

If you’re automating a bad process that shouldn’t even exist in the first place, could you tell?

If you’re saving the company money, how much, and how will you tell?

For a more concrete example, say you’re a UX designer. Many UX elements are discretely testable, but what about the UX being “intuitive”, or aligned with our UX strategy?

Is the information you’re presenting easier to understand, or harder?

How do you know?

Say you’re an executive, a director or VP, or even a C whatever O. You have a vision for your organization, and where we are going.

How do you know it’s working? What is the test that drives your decisions?

What is the test that lets you know your vision is communicated well, and that everyone is marching to those orders in the same direction?

Would you know when to turn around if you’re making a mistake? Or would that mistake have to linger a bit for you to know it exists?

Like software, companies and organizations are complex machines that regularly change, and those regular changes can cause unexpected flaws.

These examples have been presented in a series of questions, as this is fundamental to the TDD process I described above. Designing a code snippet, function, feature, automation, UX, or company with the tests-first helps define your knowledge, and the information you’re trying to get.


To sum up: Define your tests first. Define what you want, and how you’ll determine that you’ve gotten what you want. Define how you’ll measure your effectiveness and measure how you’ve achieved it.

Write your tests first.

P.S. For further reading about TDD for the Non-Developer, take a looksee at this post from IExtendable.

Family Visits, Moms, and how AVG software is the worst

My mom had a huge impact on my technical career. My natural inclination to screw around with computers was well-nurtured but with a simple caveat.

“Everything better work by the time I get home.”


This past weekend I spent a few days in Pullman, visiting with my mom before she had to go back to school. My mom is a speech pathologist, and her school year started Monday.

Every time I visit, there’s always something she’s got waiting for my help with. Things too heavy to pick up. Things too tall to do without a ladder.

This time it was a question about her computer.


All tech people hate this, by the way.


“My computer seems to be slowing down pretty bad. Do you think it’s time for a new one?”

Her computer is 10-years old. Athlon II. 4GB of RAM.

Me – “Probably, but let’s take a look.”

Looking around, there were half a dozen programs that she’d stopped using 5 years ago, and a bunch of pictures from 2013. Aside from Zoom meetings and the the occasional Excel (Excel 2007 by the way) she didn’t actually touch much. But it was SLOW. Get up a go get a cup of coffee after you clicked a shortcut slow.

Me – “Show me how you normally start this up.”

She did. Turned off the box and after a few seconds, turned it on again. First thing she did was an AVG ‘scan.’

That ‘scan’ did something? And then her computer took multiple minutes for even starting up a notepad window.

Her – “See that? Seems like the computers giving up the ghost huh.”


Turns out AVG appeared to have a nasty bug that was opening hundreds of threads and leaving them open.

Hundreds of open threads hanging out, while AVG’s “Tune Up” application suggested she close OneDrive.


Funny thing happens when you shutdown down AVG software. It comes back. You can shut off services (they’ll come back on), uninstall the products (services stay on the machine, and start running again after a reboot), and change registry entries. AVG will still come back and try to convince you to let it ‘inspect’ things.

Frankly, for an ‘anti-virus’ software, AVG has a lot of ‘virus-y’ features.


Fortunately, Windows 10 has a pretty nice feature. Resetting to a clean install. Worked like a charm.

I did convince mom to buy the newest version of Office, but once that was done, she had everything working swimmingly. Faster than it had been in years.

Not fast by my standards, but extremely fast by hers.

Her – “Wow, it’s like I have a whole new computer!”


My professional opinion: AVG makes terrible software, and I recommend that you never install anything from them.


The photo is from my drive into town. It’s right on the 270, just as 195 splits off on Davis Way.

The credit union I work for put up the sign. Folks were there taking pictures of their kids being dropped off at school, which will be a great memory they’ll appreciate for a long time.

Crummy Paintings

An amateur painting of a mountain and a river.

Back ~20 years ago, I took up painting. Fun hobby.

The problem with taking up painting is that you sorta end up with a lot of paintings you can’t use. I mean, you hang up a dozen paintings and eventually you run out of wall space.

So I started selling ’em. The town I lived in had a pretty great farmers market, and they let near anyone in there, so I set up a small table and for a few weekends, I was pitching my “If Bob Ross had cataracts” style of paintings.

Vivian. Tall lady, with a huge hat that made her look massive. Sparkly thick pink glasses. Had a hoarse laugh and deep laugh lines like she had laughed for years. Sparse red hair and equally sparse teeth. Talked with me for an hour about her kids, her grandkids, her dead husband, and her deadbeat brother. 

To this day, she is only person to this day I’ve ever heard say the word “deadbeat” out loud. 

She really liked this ONE painting that I had not been able to even GIVE away. And I really wanted this sale.

She held the painting and stared at it for what felt like an hour. Told me about her daughter who came by on Thursdays to do laundry with her who’d have loved it. Told me about how it reminded her of Mount Si (a mountain here in Washington) and how she used to pick blackberries by the coffee-can full near the river there, and the river in the picture looked just like it, so much you could hear the constant rush and gurgling of quickly-moving water.

She was going on so much, I thought she was milking me a bit to try to get me to lower the price.

It was one of my last paintings, and the market was gonna close, so it was kind of working too.

“Well, I’ve got to pack up. Did you want to take it with you?”

“Oh no. Wouldn’t match the bathroom at all. Totally wrong colors. My bathroom’s pink.”

And then she walked away. Just smiled and turned away. I was left packing up with a table, my cashbox and the remaining 3 paintings.

2 of ’em I scraped the canvas and painted over. You can do that once the oil dries.

But I kept the one with the wrong colors.


And when you attach a lot of your self worth to what you do, that ‘not fitting’ can hurt. And when you’re not able to see folks in your day to day, that ‘not fitting’ can hurt. And when you’re the only person on your team that can do what you do, ‘not fitting’ can hurt.

Vivian loved the painting for about an hour.

But did it fit? Nope. Didn’t match her bathroom colors. Vivian was right. It’d look terrible on a pink wall.

I kinda like it on mine though. I’ve gotten pretty used to it.

Moving The Goalposts

Goalposts that move are a pain. They feel unfair, like you’ve been duped into working toward one thing, when you should have been working toward something else entirely.

Or worse… that the progress you made wasn’t really progress at all. It was some larger step that you didn’t realize you signed up for.

Here’s the dirty secret though: Moving your goalposts is precisely what you have to do to keep growing.

As you improve, the goals you set will not really be challenging enough for you to keep.

As you learn, you realize the goal you set isn’t really what you actually want.

As you try new things, you realize and say “this isn’t as important to me right now.”


Weight Loss – My ‘I Improved’ Story.

I mentioned having a goal around fitness in a couple prior posts. Check ’em out: Post #1 and Post #2

Specifically, I wanted to lose a fair amount of weight at the end of year 1, with a slowly downward push in 10 years. My goal was to get to 230-235 by the end of the year.

After the annual ‘Fitness Challenge’ contest weigh-in from my CrossFit gym we do every January-March, I weighed in at a whopping 257.7lbs! The next day, I joined Noom.

As of March 6th, I was down to 234lbs!!!

Here’s my Noom referral link, if you wanna try it. I’m really happy with it.

I have already met my ‘annual goal’. Since it was only early March the goalposts had to move.

New goalpost: 220lbs, and once I get there, maintain it for 5-6 months while slowly adding more calories back into the mix.


Retirement Funding – My ‘I Learned’ Story

My retirement funding goals were mentioned same posts as my weight (from above). I was targeting a simple approach: fully fund my 401k and my IRA.

However, after watching a few lectures about retirement on my Great Courses Plus subscription, I learned there might be a better choice.

The speaker in those videos talked about 401k plans, and mentioned how some 401k plans also offer a ROTH option. I decided to check, and it turned out that yes, my 401K did allow for ROTH funds to be contributed, just as easily as I set the contribution for my regular 401K.

All I had to do was to put in a percentage and voila, the next pay cycle, I’ve got money going into the ROTH option.

So with the new learning, I decided move the goal posts. Instead of ‘fully fund both plans’, I moved to a new goal: Fully fund the 401K, with a mix of pre and post-tax dollars, then fund the regular investing goal, and finally do the IRA with leftovers at the end of the month.

Doing it this way, I mix up my taxable and non-taxable accounts, so that I have more tax options in retirement. Options are nearly always good, especially when it comes to sources of money in retirement.

Do I miss out on the tax write off on fully funding the IRA? Maybe a little, but assuming I don’t fall completely off the savings wagon, I should be good for at least a portion of that tax benefit.


Guitar Lessons – My ‘I Tried’ Story

This one hurts a bit. My uncle made these guitars, and they’re beautiful.

The thing is, the more I looked at it, me taking guitar lessons NOW or LATER doesn’t really have much of a difference in terms of my happiness.

I love my guitars. I play on them often.

I just don’t really care about taking lessons right now.

So, I’m moving the goalposts. For now, I’m calling ‘guitar lessons’ as a within 10 years goal, rather than a ‘do this in 2021’ goal. For now, self taught is good enough.


To recap, moving goalposts is a necessary part of goals. As you improve, learn and try, your goals must change with your new abilities and knowledge.

That’s just life. It moves from out from under you.

When it does, move your goalposts.

A Stupid Little Story

Back in 2011, a friend of mine from high school was trying to push his music career. His band had a local following, and was playing gigs in Seattle bars every weekend.

He wanted to fund some studio time, and that’s expensive as hell, but he didn’t want to beg a-la “GoFundMe”, so he put up a post on his bands’ Facebook page, offering to write and sing custom songs for donations to his band’s studio time fund.

Most of his friends are weirdos, so some crazy ideas came out of it. I remember a great acoustic version of ‘Safety Dance’ he did (soulful as hell). The dude is crazy talented and has been forever, so I had to get in on it, and I sent him a couple bucks.

Here’s the MP3 he sent me (OneDrive share link). A 22 second song called ‘Christopher Brown is the greatest guy ever.” I asked him to do something that I could use as a professional wrestler theme. The horns at the end represents me taking a steel chair to the face (my interpretation.)


10 years later. A podcast I listen to sort of fell off the map. A young couple posting a weekly finance and goals podcast while living an adventure in an Airstream sort of stopped posting for a bit. After about 2 months of seeing/hearing nothing, I sent them a note.

(What follows is the general gist of the note, because I don’t have it anymore.)
(Yes, I delete emails once I’m done with them now.)
(After going through 15 years of Gmails that I kept, 99.996% were minutiae that I should never have archived.)
(They were stupid, and only served to have Gmail send me more and more personalized ads.)
(I stole this multiple parenthesis thing from the opening essay in Shea Serrano’s 10 essays about Scrubs.)
(I know it’s weird but it’s charming and I love it.)

Hey, your stuff is awesome, but you’ve fallen off the map. I wanted to let you know that if you think nobody’s listening, I am. I know it’s lame for someone to complain about something free, but I’m risking looking lame because you’re doing a great job and it’d be a shame for you to stop. If you’re running out of ideas for topics, here are a few:

1) Houses are a ton more work than an Airstream
2) How to separate your money from your feelings of self-worth.
3) Christopher Brown is the greatest guy ever.

(The topics are sort of inside for the podcast listeners, but now that you’re reading this, you get to be the inside on the last one.)

It took another month, but episode 39 came out in March… and you’ll never guess who’s mentioned in the first 2 minutes. And again at the end near minute 32.


I’m trying to make a point here. Two, as a matter of fact.

First one, I’m awesome. The greatest guy ever. Multiple people confirmed, including a soon-to-be nationally awarded podcast. I have like 25 Twitter followers and everything. Total up and comer.

Second, don’t be afraid to put your stuff out there. The fact that you are trying counts, even if you don’t make a mint. You are learning by doing, and learning and doing are the best things a human can do. Even if what you make isn’t for everyone. Even if it’s just a blog that only a dozen folks read.

The Imposter

I have teenagers. I hear about how much I suck on a regular basis.

But when my teenagers tell me I suck, it’s usually for something I’m pretty proud of: making them eat vegetables, do homework, save up their own money to buy something rather than buying it for them, ad parental nauseum.

The problem is, it isn’t usually the teenagers that have my ear.

Imposter syndrome is a helluva thing.


Imposter syndrome is what they call the feeling that you don’t belong or deserve the things you have. That your social status, your job, and anything else you have is completely and unequivocally unearned.

The feeling that you don’t deserve it.

That if the rest of the world only knew, they’d call you out as a fraud.

What if they knew that I pass off feelings and intuition for facts, like constantly. (You now know this, so read on with a critical eye.)

What if they knew I was a hick from nowhere. (Palouse region nowhere, thank you!)

That my “knowledge” was all off-hand bullshit I got from having not enough to do, and mostly came from being too lazy to get up from the computer.

Some say the best way to deal with imposter syndrome is to remember your empathy. That ALL people have similar self-doubts.

Frankly, it has never been a comfort for me to know that.


That only way I know how to combat imposter syndrome is to admit what I don’t do well, and hold myself to task on it. To shit, or get off the pot. Decide the priority on fixing it, and then get busy fixing it, or let it be.

Fundamentally, it comes down to giving myself permission. It’s perfectly acceptable to suck at some things. But the things I don’t want to suck at, I’ll work to improve.

A peach is a terrible apple, but both make wonderful pie.


In that vein of holding myself accountable, here’s a list of things I suck at.

I have a degree in English, with a concentration in creative writing from Western Washington University. With said degree, I have published nearly nothing. I don’t even blog all that often.

I still have pages I wrote twenty years ago. I recently read some, and it all sucked. It was preachy and self-important and one time, rather than using the world “mental” to describe a process happening in the mind, I made up a word.

“Mindic”.

In my word processor, there’s a red squiggly line that shows me that even my personal dictionary doesn’t include “Mindic” quite yet.


In tech, I suck at just about everything. Nearly all networking stuff. Kubernetes. Go and Ruby. Most programming languages that aren’t in my standard wheelhouse. Certificates. A lot of security stuff. Game development.

I do CrossFit five times a week, and after three years of doing it, I still suck at the following: double-unders, a pull up without a band, running faster than a 10 minute mile, Turkish Getups, Snatches, and pistols.

I am not a great boss. I’ve had many people report to me, and only a scant few of them are happy for it. Most simply tolerated it. Some had marked contempt for it.

I have 2 guitars that my uncle custom-made. I still can’t play anything beyond Mother from Danzig, or a slow version of Blind Melon’s No Rain.

I suck at cars, beyond checking the oil.

My wife rechecks the dishes after I wash them, to make sure they’re clean.

I’ve been told I need better aim in the bathroom.


See, the thing is, even after writing all that stuff out, it really isn’t all that bad. It ain’t my best work, but it’s honest.

If my boss (Hi Brian!) reads this blog and notices I’m not great at Kubernetes, well, I can work on that.

If my wife reads this and notices how the bathroom and dishes stuff was relegated to the bottom of the list, I’m sorry, and I’m working on it.

If my teenagers read this: Get back to your freaking homework! Eat more vegetables! And for the love of god stop begging for things and save up your allowance if you need it so damned much!

Photo Credit: Bobby McKay from Flickr
Used with permissions from the Creative Commons License 2.0

Coaching Moment – The Ivory Tower Slash Dungeon or You Are Not Your Product

I had a recent conversation with an engineer. He initially asked for feedback on a presentation he’d done during our SDETs meeting. He presented the data loading tool he and his teammate had created, and he did a great job in that demo.

I do love a demo.

I asked him about next steps though, trying to lean into some higher level discussions I’d had with others about his team. This particular engineer is part of a two man crew dedicated to load testing system at the Credit Union, and has been for a long time.

The system is written using a load testing framework that the vendor is deprecating. His partner and him are considered ‘the experts’ at using that framework at our organization, and are entirely siloed from everyone else.

Even if they could convince management to cough up to add heads to the team, that added body wouldn’t add value until a year or more of working in the framework they’ve created.

I described his silo as an “Ivory Tower.”

He responded “It doesn’t feel like a tower… more like a dungeon”


Engineers design systems to do a job within the constraints provided.

Give engineers a tough technical requirement and add the expectation they’ll run it with no help, and you end up with a monster.

A monster that’s scary as hell to everyone else, but entices you to stick around with:

  1. Job security in a volatile field.
  2. A sense of expertise in a tech environment that’s constantly changing.
  3. A sense of ownership in what you’re doing and building.

The monster might say: “It’s not really a dungeon. It’s a gated community.”

I’d say it’s an abusive relationship.


I recall my time at {Redacted} here. One of the developers there has been working on the same product there for well over 8 years.

He’s good at his job. A highly capable developer. He likes the company, and likes the people there.

They can’t risk having him do anything new at all though. He’s stuck.

When I left, he was leading two teams (mostly by example), both working on the same product, doing the same thing he was doing 8 years ago.

Worst still, the product is largely a commodity nowadays.

There are major platforms written here that will do what his product does, and do it faster, and with an actual support model if something goes sideways.

He forgot that his value was in the expertise, rather than the product.

{Redacted} is a good company, but it’s damned hard to see where he’ll go from there.


“Just try to keep an idea that load testing should be a product… rather than a person.”

That was the message I gave my Credit Union engineer, and I find it true about all engineers. It’s a message that engineers specifically need to know.

You are not your product.

Your value is not connected to your product’s value.

You’re more important than that.

Make sure you treat yourself accordingly, and more specifically, make sure you design systems to treat you accordingly.

Things That Require Zero Talent and Other Garbage

Have you ever seen a meme like this?

10 Things That Require Zero Talent
‘It’s YOUR fault you aren’t good enough!’

It’s absolutely a lie.

Every one of those things requires a great deal of talent.

However, it is not that magical ‘talent’ that makes you say “I just will never be as good at <<something>> as <<someone famous>>.”

The truth is: talent is not natural aptitude or skill. Talent is the result of a great deal of work that appears natural to the outside world.

That’s the trick. Talent LOOKS natural, but it isn’t.

Everyone of those listed “no talent required” items relies on a great deal of work with a massive support structure. They require preparation, support, and unseen (and often underappreciated) work.

Example: Being on time

  • Someone had to get your kids out of bed, and logged onto school.
  • Your commute needs to be reliable.
  • Your home needs to be stable.

Did all that happen by itself? Magically?

Example: Making an effort or being high energy and having a positive attitude?

Someone had to give you direction, so you know what you’re trying to do. Someone had to make you feel like your efforts would matter.

Where’s all this work accounted for in the ‘no talent required’ posters?

The being coachable one enrages me because it absolutely requires a great deal of effort. I posted specifically about how to do it. It ain’t easy!


Consider some of the most talented folks you know, whether or not you’re talking about music, athletics, or software development. How many of them sit around and not actively practice their “talent”?

Stephen King is one of the most talented and prolific writers on the planet. He told us how he does it in his book On Writing: A Memoir of the Craft. It’s a wonderful and inspiring book.

Wanna know the secret about how he stayed so prolific? He wrote a lot. He needed a support structure for his writing: a teaching job early in his life, a very patient spouse, and in the end he wrote a lot. That’s all it was.

From a distance though, he’s looks talented.


Talent is the result of a great deal of work, combined with a great support structure. Remember to nurture both.